I do not think that exposing your mysql database to the internet is wise, even if using https as a transport.
A middle layer has lots of advantages including some very basic ones like:
1. enforce login using user scheme that is not dependent on mysql and you can define privileges that make sense to your application
2. caching
3. database data modified in consistent way
4. very likely less chatty protocol
5. ability to add more mid tier servers if some of the API becomes CPU bound
6. ability to add more database servers (possibly read-only) if one server cannot take the load
There are multiple possibilities to do remoting, Spring's capabilities are pretty nice and you can use some of the third party libraries standalone. Those are pretty light in terms of configuration and usage.
http://www.springframework.org/docs/ref ... oting.html
You can also define your own XML, json or go for some of the heavier stuff SOAP and so on ... lots of good stuff out there.
Marius