Nowadays, you realize that your software must be able to integrate with other software. You realize that no software application can do everything and that you are going to need to transfer data from one program to another. Practically speaking, that means that in technical terms, in order to be able to integrate easily, software has to be designed with what is called an “Open Architecture Platform”.
Don’t be misled
Software vendors know that you will have questions about integrating their applications with other programs and they also realize that you may have heard of the open architecture platform concept.
Unfortunately, vendors can be misleading and sometimes stretch the truth when they answer you. This is because they know that you cannot realistically be expected to be an expert in analyzing the underlying architecture of how software programs and platforms are designed unless you are a computer programmer or software engineer yourself. Fortunately, there are some questions you can ask vendors to avoid being misled.
Question 1: Does the software have an API?
The first question is whether or not an Application Programming Interface (API) is available for the software platform. Without going too far into the technical details, the API should provide controlled access to the underlying data model and to various actions from external applications built on top of it. This is because an API allows developers to add functionality to solve a specific problem for a task and to have those added functionalities maintain a linkage to the underlying application without additional customization.
If there is no API, then an integration project requires modifying the underlying data. This will cause issues when the application is updated and the integration will have to be done all over again. In practical terms, if there is no API, it typically means that you will be locked into the old version of software you are using because you will not be able to afford to do all the complex integrations with other applications all over again.
Furthermore, even if APIs exist, how platforms handle APIs could be very different. Some platforms only provide a very small subset of APIs and this could limit what can be extended. In addition, the APIs can be very convoluted and difficult to use which will increase the difficulty of being able to connect to the platform.
An even better question: Does the software have a good developer community?
The best way to measure the quality of the APIs and the right amount of openness of a software platform is to look at the developer community. If there is a healthy developer community creating applications for the platform, then most likely the APIs are easy to use, there is great training material, the vendor provides the right amount of access to internal data/processes and has many examples to show you. If there are many developers and lots of integrations, that is good evidence as to how open a software platform is in reality.
Learn more about this issue
Denis Morais (Waveform Blog Author) and I have written a technical paper about this issue for the 2016 COMPIT Conference. The paper talks about integrations of applications in the context of the ship design and shipbuilding business but it is actually applicable to almost any industry. Most importantly, we have written our paper to explain things to people who are not IT professionals.
Our paper is a valuable tool for understanding what you need to know regarding a key criterion for purchasing software because interoperability is critical to the success of your business. You do not want to waste money on needlessly expensive software integration projects. Furthermore, having completed a project, you do not want to be locked into using old software without the ability to make changes easily in the future. This white paper on Open Architecture can be found in the Articles Section of the SSI website.