I recently faced an identical challenge, and I almost solved it your way,
@tufanv .
I try to keep my production server environment as lean and simple as possible, and adding a B4J solution there would mean increasing the complexity for me. Instead I wrote a lovely little B4J app that the customer had no problem (technical or otherwise) running on their database server. It selects the required data, transforms it into json, and then upload it with a POST to my internet-accessible servers, which in turn process the json and update the MySQL database. Works like a charm.
This way no sensitive database services are exposed on the net, it's just a textfile being transferred between two computers. Nice and simple.
That said, If I already had a machine running a B4J solution, and I (and the customer) was relaxed about exposing a database server on the net, I would
absolutely do what Erel suggested.