You don't want the credentials for your central database being spread about on a potentially unknown number of mobile devices. You connect through web services. Provides an extra layer of security. I did work for the UK govt on their benefits management system. They follow this very strictly. I currently work in the short term insurance industry, mostly motor, home and travel insurance and in order to be certified with U.K. FCA we need to ensure we protect our customer database from direct access from the web etc.Realtime stuff?
Perhaps I'm just a bit slow today, but how else would the mobile device keep in sync if it cannot connect to the central DB?
Mobile devices are a big security risk because they connect over wifi etc.
Other than the security aspect, it's just so much easier implementing web services because you don't have to worry about which Android version, iOS version etc. is on the client. Any case you can't load masses of data on mobile device over wireless connection in a reliable manner. That's just asking for trouble. Design for a small subset of data which can be easily synced using web service. It's the most efficient way for dealing with mobile devices. And as a bonus, that same web service can be used on a desktop/laptop without extra work, other than creating a website, but I am sure you know how easy it is to build a website which provides user friendly ui based on the browser device
You also aren't tied to any database vendor.
