Hello technology hitchhikers!
Welcome to The Hitchhiker’s Guide to Enterprise Integrations; a blog post for those who wish to explore the world of Enterprise Integration but don’t know where to begin.
Before we get going, let’s start at the very basic – What is an enterprise software?
In today’s world, every company needs some sort of technology to function properly. For a small business just looking to track cash-flows and employee salaries, it might mean using what is probably the most powerful business software tool of all times – i.e. MS Excel. But things aren’t always so simple.
One would not expect companies like Coca Cola, LinkedIn or even Microsoft to function entirely on an excel spreadsheet. That brings the need of dedicated software applications to help companies manage different business functions – like HR, Supply Chain, Finance, and more. And these are known as enterprise software. SAP, Oracle & Microsoft are some of the biggest enterprise software companies in the world.
Most organisations have multiple such systems in place – each serving a dedicated function like accounting, procurement, human resource management, etc. Since these operations are connected to each other, you also want the systems to be interconnected to work in an optimal manner. For example, we might want data from our attendance management system to automatically flow into our payroll system. This brings us to the need of Enterprise Integration.
So, what is Enterprise integration?
Enterprise integration is the process of configuring various systems to work together in order to increase efficiency and interoperability. The goal is to use all the systems together like a well-oiled machine towards the realization of the mission of the organization.
These integrated environments not only help in avoiding duplicate data management but are also key for decision makers to accurately drive their businesses. Software integration increases the real-time visibility of information and this combined information assists in taking better data-driven decisions.
At the base of all kinds of data integrations are three things – Extract, Transform & Load (ETL in short). To make this process easier for complex systems, we generally use an enterprise integration platform (integration middleware) like SAP Cloud Platform Integration (SAP CPI). Let’s look at an example to understand the integration use-case and process better.
We want an integration to be done between system A and system B to process data (let’s say employee records).
The problem? Both System A and System B use different data formats. While System A uses XML for all its processing, System B uses CSV.
System A’s language – XML (Also, Input Data for our process)
<?xml version='1.0' encoding='UTF-8'?> <data> <row> <name>Thomas</name> <dob>01-01-1980</dob> <gender>Male</gender> </row> <row> <name>Derek</name> <dob>10-06-1987</dob> <gender>Male</gender> </row> <row> <name>Jeremy</name> <dob>24-10-1985</dob> <gender>Male</gender> </row> </data>
System B’s language – CSV (Also, Output Data for our process)
name;dob;gender Thomas;01-01-1980;Male Derek;10-06-1987;Male Jeremy;24-10-1985;Male
To simplify our integration implementation, we will be using SAP CPI as our middleware. SAP Cloud Platform Integration (CPI) is a cloud-based integration platform by SAP that allows the synchronization of data between different systems to streamline business processes.
We create an integration flow on SAP CPI to convert the XML output from system A to CSV format for input in system B. Thanks to some of the inbuilt converters (XML to CSV in this case) provided by SAP CPI, our job becomes a lot easier. We pass the output of System A through the XML to CSV converter and then provide it to System B.
That’s it. as we can see in the above screenshot of SAP CPI, with just a few steps, we were able to modify and transmit data between the two systems. Simple. Isn’t it?
In a more enterprise like scenario, we have a lot of additional complexities that involve different kinds of data transformation logic. In the next blog posts, we will dive deeper into different SAP CPI concepts that would help us in them.