Integration for Enterprise Mobile Applications
The most common and sometimes most complex issue overlooked in a mobile project is how to connect to data in a host system often referred to as “back-end” data. With the vast array of ERP and business administration systems around integration for enterprise mobile applications can be a long process.
It is quite rare nowadays to find a company with no IT system in the back office. Usually it is the paper based system of the mobile workers that are the issue, with businesses focusing on mobile application features, rather than how to get data in and out from their existing systems. Commonly we see backend systems starting at the basic level of Excel and MS Access right up to complex systems such as SAP, MS Dynamics etc running on SQL or Oracle. With large companies running multiple systems.
Different development approaches will provide different integration paths. If coding using a platform there will be a number of integration options out of the box, if traditional coding it very much depends on the developers experience.
Integrating to systems is performed in two stages; one is pulling the data out of the host database of to use on the mobile devices, the second is to update or insert backend system records with results from the mobile device. Both can be performed via a number of simple routes, such as SQL queries, web service calls, import and exporting CSV/XML or similar files and finally moving towards the complex end by using API’s (Application Programming Interface).
SQL queries can extract large amounts of data from specific tables or connect to a view (pre-configured table that’s results matches specific criteria) if one has already been setup. Some logic is probably required here to make sure records are not overwritten. Inserting/Updating back to an SQL database is usually performed per results set.
Web service calls provide real time access, which can also be called in the field over 3G. This method is OK where result sets are small. Some time can be saved as the web service will have already been provided by the host software company. As above some logic is probably required here to make sure records are not overwritten.
Importing/Exporting CSV, XML files can be easily done on a batch process and avoids the complexities of coding the API. We tend to find this is used an interim/testing process, but can also reliable when live. The issue is it does tend to add another failure point. Once again some logic is probably required here to make sure records are not overwritten.
Using an API means the solution can be coded to call specific function and parse the given data. The API essentially handles all the data and updates the correct areas of the back-end system. An API integration can be a seamless full integration, but is also the most time consuming and requires knowledge of both the mobile and back-end systems. It can also mean continual high development costs if the complete solution is ever changing.
There are numerous other options and varieties of the above. The choice made is very much dependent on questions about the integration options the backend system can provide and accomodate.
Key Integration Questions
- How many users need to access the data.
- How many need to access it at any one time.
- How many results and results sets there are.
- Are results sent one at a time or in batch.
- How are the mobile devices updated.
- Does data reside on the mobile devices.
- How do devices receive new data
- Is the data all stored in one location.
- What is hte nature of the in house systems architecture.
- how many systems require updating.
- What are the redundancy and failover setups……the list can go on !
In the first phase of testing the integration is usually the major testing piece as if data doesn’t flow correctly the solution is somewhat useless. No matter what backend system is being integrated to as long as a detailed testing plan is drawn up and completed there is much greater chance of project success. A key factor in your long term return on investment.
Not discussed in this blog is how integration for enterprise mobile applications can differ from consumer to enterprise applications. Well…. An enterprise application should be a complete solution capable of seamlessly integrating into in house backend system literally a modern day lynchpin. A consumer application downloaded from an Application Store connects to the developers hub and if possible may connect to in house data. Generally this is not the case and they operate standalone or semi-standalone.
How can we help you with Integration for Enterprise Mobile Applications ? Learn More
Experience our Apps Book a Demo or Visit Here