We’re living in the Babylonia of modern software! At least, that’s how my customers describe the challenge to integrate their corporate management software with the world. They need to connect, exchange information, receive insights, trade and execute a variety of other tasks that bridge their corporate data to the new world of software services. But this world is full of monoglots from different origins that can’t easily understand each other. They feel hopeless and limited in their efforts to explore all the benefits of this rich new world of corporate solutions.
The usual approach to integrate two different solutions requires some software development. Most integrations between two software packages are bidirectional and we need to read and write on both of them. Also, it is unlikely the same piece of information is directly mapped from one solution to the other. We usually need to transform the data to match the properties, field names and data types between them. The most common solution to accomplish these tasks is to write another piece of software that handles both sides of the integration as well as the data transformations required. Needless to say that this software will require a full software development and support approach, proper hosting, scalability and maintenance. These are painful tasks even for enterprises and almost unbearable for small and medium businesses.
This is the scenario where Integration Platform as a Service (IPaaS) was conceived. To understand how IPaaS helps companies to integrate software, it’s best if we break down the problem into smaller components. We start with the connectors that are built to deal with each software individually. Then we move to the data transformation that is required to map, enhance or adjust the data between applications and finally we discuss the infrastructure issues addressed by IPaaS.
Connectors are pre-built components that handle all the specific aspects of the communication with any given software. You should find connectors for the most popular software brands already available on any IPaaS. They contain the code to handle the connection, authentication and authorization, as well as the API provided by the software. When you create any connector you automatically get access to communicate with the application the connector was built for. You just need to provide credentials that are specific to your company. Most of the time you will need at least two connectors on your integration, one to deal with each side of the integration.
However, connectors alone are not enough. It’s useful to think of the connector as a language that each software speaks, but we need a brain in the middle to map the sentences from one language to the other. Sometimes it requires a simple mapping, such as linking the field “name” in one connector to the field “full name” in the other. Other times it might be necessary to use a more sophisticated data transformation such as joining fields, splitting, counting or organizing data in a completely different format or structure.
Any good IPaaS solution should provide graphical interfaces to let you map data fields from one connector to another. Most of the time a simple “drag and drop” will suffice. The more sophisticated data transformations can be accomplished by some sort of transformational language that can be a simple script or a more elaborated function. This is probably the only part of the integration that requires programming skills, in a very constrained environment which limits significantly the complexity.
The remaining part of the integration flow is the trigger. Something must start the whole process and the trigger is the module that deals with this. Typically time triggers or webhooks are used to start the integration flow. We may need a process that every hour extracts data from one system and inserts that data into another. This integration flow requires a simple time trigger, one connector for each system and data mapping/transformation module.
Finally we should mention that supporting all the above functionality in a convenient SaaS offering is a major advantage for anyone trying to build integrations. Topics such as scalability, high availability, security and maintenance of the platform are well addressed on any reputable IPaaS package.
2020 has seen a surge of software integrations mostly driven by remote working and a more digital way of life for individuals and companies. The adoption of IPaaS solutions will certainly facilitate new integrations that bring more value to corporate data. It’s like a Google Translator for those living the Babylonia of software.