System Integration – Patterns
System Integration is a process of bringing together heterogeneous systems with frequent and multiple changes to operate as a one. It actually brings together different applications and software functionalities to create one powerful, productive system. The main aim of this ambitious process is to improvise productivity, to speed up data flow and improve quality of operations. Eventually, it all bottles down to increase customers’ relationships, make workflow more efficient and bring down costs.
Four Common Methods of System Integration:
This Integration is the process of connecting separate parts of a system. It starts with a basic bottom function and goes upward. A brand new system is built out of subsystems that works as a one full system. In a vertically integrated system, sub-systems are combined into “Information silos” in accordance with their functions. These “Information Silos” have a process of connecting within them through main systems. Each sub-systems combined as “Information Silos” operates independently without communication with other silos.
This Integration method can be used for the creation of only simple integrations as this integration component does not get blended with the parent system. Moreover, this integration can be tried only with limited subsystems as it can’t handle too much complexity and also does not favor large scale up in business. Vertical Integration does not allow for any flexibility and change when a new Integration business pops up. For each new sub-system, a new “Information Silo” needs to be built from scratch confining to the original process. When there are too many “Information silos” in the system created, it forms clusters and reduces the performance of the original parent system.
However, merits of this system include increased process control, quick integration setup, improved market competitiveness, efficient supply chain coordination, streamlined vendor communication and bottom low setup and operational costs.
In contrast to vertical integration, horizontal ones allow communication between different sub-systems. This is achieved by creating “Enterprise Service Bus” (ESB), a common interface layer between all subsystems. To be precise, this ESB acts as a translator and connector between sub systems. Only one interface is needed to connect two “Information silos” for each sub-system.
When a change needs to be made, to other subsystems, only the ESB needs to change along with it, rather than bringing the complete system under change management. However, because the ESB is the central hub of the operation, any problem within the subsystems or the ESB itself can bring down the complete Integration process.
This integration is primarily used in EAI (Enterprise Application Integration) of diverse and complex service landscapes. The crucial benefit of this method is the fact that every product or subsystem can be modified or replaced without changing the interface of any other system.
Horizontal Integration has many advantages: Higher operational efficiency, easy incremental system integrations approach, dynamic workflows compatibility and easy scalability approach through its versatile capable feature of introducing additional technologies.
Biggest demerits of this Integration type is if something goes wrong with ESB, this brings down the complete system. This integration involves high architectural design costs and meticulous ESB design as a specialized ESB needs to be designed from scratch and if ESB is not designed properly for higher scalability ESB may respond slowly which can affect end business transactions.
This integration method operates by connecting each sub system independently to all other subsystems. This integration avoids setting up an “Enterprise Service Bus” (ESB). This kind of integration lacks the complexity of other system integration. There are only two components involved to perform one single function. These connecting interfaces can be very useful and they are key to understanding the method of star integrations.
When multiple subsystems or applications are connected, the links to multiple sub systems look like a star or spaghetti form. Hence the name has been framed for this. The reason why it has been called Point to Point Integration is because each subsystems or applications are linked by an exclusive interface and these interfaces work mutually independent of others. Hence the name is coined for this type.
These point to point integrations are not that complicated and they provide more functionality. Although, if the number of integration systems increases which in turn increases the number of integrations, the real complexity of this type of Integration comes into place especially when operating with heterogeneous or proprietary interfaces.
There is a simple formula to calculate the eventual number of integration interfaces. If the total number of subsystems is considered as “N”, then the total number of interfaces can be calculated as (N*(N-1))/2. For providing an example of complexity: If one particular source format belonging to one sub system is prone for a change or version upgrade, all the systems involved with this source must be upgraded. Upgrades are inevitable because technologies and requirements changes always happen in these biological data sources.
Common Data Format Integration:
This Integration type is invented by carefully studying disadvantages of star based integration. In star based integration, each sub system or application needs an interface or adapter to connect within them. The idea of combining all these adapters or interfaces into one, brought this integration into market, however using any commonly agreed data format, preferably EDI global standards in order to increase business value of Integration application layer. The greatest advantage of this Integration method is automation and seamless data translation.
First there is a pre-integration layer which converts data format from its sub system or application to commonly agreed format and then the commonly agreed data is applied with semantic transformation on this. Additionally, the common data format method allows only one data conversion from native to/from the common format
The major advantages are all subsystems are fluent and can communicate seamlessly. Each subsystem can operate independently. Business scalability can be achieved easily with this system with minimum development effort. Total no of interfaces comes down drastically which is more helpful when a format or upgrade is planned, this can be achieved within min IT budget.
Very few demerits make this integration type less familiar. Very high architectural and coding skills are required due to its complex method of setting up. During setting up, tons of issues tend to pop up with multiple data formats standards which gives the development team less confidence to move forward.