Shared database

1

Firstly, I have no experience with databases. Well, my question is the following, how to create a database for an android application, where data registered in it, could be accessed by all those who have the app installed? Do I have to find a server to host this bank right?

    
asked by anonymous 02.03.2016 / 18:45

1 answer

0

Using a database directly over the Internet is possible, but very risky in terms of security and reliability. I believe that traditional MySQL-like banks presume a stable connection between client and server.

You need a three-tier architecture, where the mobile phone connects to an application server, which in turn talks to the database (which can run on the same machine as the server).

The current state of technology encourages you to use the following solution: an HTTP server, which can be written in PHP or in Node.js; a JSON protocol between client and server (you would have to design this protocol, but there are plenty of examples to imitate, it might be worth checking the REST and CRUD patterns that might apply to you).

Using JSON as the basis of the protocol, and HTTP as a network service, makes things easier because you will find the tools easily. Every language has a JSON parser and facilities for communicating via HTTP. The other advantage is that each HTTP request is a separate TCP / IP connection, which helps a lot with the reliability issue (the Internet only needs to be active at the time of the request, not for too long the time the user is using your app , as would be the case if your app connected directly to a remote MySQL server)

Finally, there may be databases with HTTP, REST or CRUD direct interface, which would save you from developing the HTTP application server. I also found this product; link that basically does this (adapts any database to an HTTP API). I would prefer to create an intermediate application server so that my app does not get tied to a particular database, but every project has its priorities.

    
02.03.2016 / 19:49