Mobile apps can impact businesses in lots of positive ways, however to achieve game changing impact you need to integrate your mobile apps with enterprise data, and that means finding ways to distribute and augment data from systems that were not necessarily built to work with mobile devices.
How to determine what you can and can’t do …
There are many ways to approach the problem of enterprise data access. Determining the best approach for you means reviewing the production system of interest to determine how it can safely expose and accept changes to data from outside sources. Many systems will provide an Application Program Interface (API) for this type of access. However, not all systems are designed to allow for data to be changed from outside the system without causing potential data synchronization issues due to data caching within the system. So a good understanding of the system’s data processing model is a must.
Now that I understand how to interact with the system, what do I do next?
Once you have determined how to safely exchange data with the system the next step is to provide an API that the mobile app can use to interact with the system. By using an API type of interface you can isolate the Mobile app from the backend system, by providing an abstraction layer. This way changes can be made on either side of the API layer without imposing a change on the other entity.
What if I can connect directly to a database and read and write data?
Even if the method of interaction is connecting and reading and writing to a database, use of an API will provide a more resilient solution. In the case of database connection we recommend using either stored procedures or a programmatic API that contains the SQL calls to interact with database. Isolating the database in this manner makes the access to the data more secure, and will prevent the use of SQL injection techniques from harming the data. This method also isolates the mobile app from having to react to changes in the database schema, since in most cases you should be able to adjust the stored procedures or API logic to compensate for changes in the database.
Now that I can read and write data, what next?
The next area to consider is whether the app needs to stay connected to interoperate with the backend system. In our next topic we will discuss off-network operation and considerations for using store and forward techniques.