Why System Integration?
Let's talk about system integration. When designing information systems it is always important to think how it can be extended. Mainly for small applications, it is common to think that if the system fits the purpose, it is good enough, however, if planned and designed to be extensible from the beginning, it can avoid future headaches for everyone involved in the project.
Nowadays it is very common that the system that is being developed in-house, should at some point talk to a third party service. The most common way to integrate system is through web-services. That will mainly be Simple Object Access Protocol (SOAP) and Representational State Transfer (REST). This means that we are allowing systems to talk to each other. In order to do that we need to create the roles of this integration. Roles which will define the set of rules and validations that systems should use to communicate.
We could go to a high level of systems integration and talk about, for example, how would a company integrate their CMS with their ERP systems. However, to start with, it is better to mention some lower level integration. To better understand how the integration of system works, let’s think about the easiest example possible. Imagine that on your travel agency website you want to display the weather for a determined region. Your website would need to send a request to the weather provider, with which city you want the forecast for. As well as the provider would send you a response with the current temperature, and the forecast for the next hours or so. This communication is made behind the scenes, where the real provider is actually hidden within your application.
Many kinds of systems can be integrated. As a company web portal, B2B portal, e-commerce, client zone, mobile applications and so on. It can involve specialists from different areas. Such as system analysis and software, technical architecture, development, testing, operation and number of other aspects. If it is thought from the beginning, many hours of system refactoring can be avoided. Sometimes, this communication is necessary internally in an organisation. If the system that wants to communicate have a different architecture, as for example different databases or programming languages. It would be necessary a layer in between to provide this communication, you can think about it as a person that will translate messages to make the communication possible.
When thinking about system integration, security is also a subject that should be addressed, as you are letting a door opened to the database, and maybe your private data. It not a problem though. Security can easily be provided using OAuth authentication where anyone who tries to access your web-service will need to provide a token access as well as a valid user name and password. Security should always be the first rule. If authentication is not provided, all doors will remain closed.
So if you see in your business a potential of your system to be integrated with a third party service, to provide more rich and accurate information for your customer, you may be wondering if that is possible. Well, now you know that yes, it is possible.