Our clients often ask us how they can integrate their applications – in fact, it’s usually one of the first things they ask us, and they almost always expect a simple answer. Unfortunately, we can’t give them one, because it’s not a simple question.
The problem is that the answer depends completely on the specifics of your system. The best method for integrating applications can’t be determined without getting an in-depth look at your system’s component applications and identifying their specific data-sharing capabilities.
There are many ways to integrate systems, so you’ll need a team that knows how to identify and understand how systems work together if you hope to get a clear picture of how to achieve the results you want. That said, there are a number of approaches we see frequently. Here is a quick rundown of three of the most common techniques.
API (Application Programming Interface). An API is basically a file or group of files that tells certain applications and programs how to talk to each other. They act as a very direct bridge between applications that would otherwise be unable to communicate.
The benefits of using a well-written API to integrate critical business systems are significant. For one thing, APIs allow for more seamless integration than many other methods. The workings of the API are usually invisible to the end-user, making the data-sharing process look and feel like a natural extension of the software’s feature set.
The down side is that APIs can be very complex to write, which can be a problem if your people haven’t had experience writing them in the past. For integration projects where the API route is the best way to go, you may want to add some external resources to the project to handle the custom coding.
XML (Extensible Markup Language). XML is what is known as a markup language, similar in concept to HTML but syntactically different. XML can be used to describe and share documents or other data structures between otherwise incompatible systems, provided those systems have the ability to read and process XML files.
XML differs from an API in that XML files are fairly easy for humans to read, once the basic markup tags are understood. It’s also not always the most efficient means for sharing highly structured data between applications.
Export/Import routine. Sometimes, the most efficient way to share data between applications is through their built-in export/import features. It’s fairly low-tech, at least in comparison to the other two options listed here, but sometimes that’s all that is required to get the results you need.
Often, export/import routines can be automated to accommodate regular updates. However, this technique won’t generally be sufficient for real-time updates. It also requires that all the applications sharing the data can both read and write the data in a format that’s understood by all the other components of your system.
If you’re planning a big integration project in the near future, we can help clear up any questions for you and set you off in the right direction. Give us a call. We’d love to hear from you.