The Guide to Practical and Pragmatic IT Architecture Design

IT Architecture: Integration Layer

Application Integration is required for a solution to inter connect it with other applications, devices or data sources. We described integration architectures already in the evolution of integration architectures post. The interconnection can be done at three different levels: 

Application Integration

Most common application integration is directly from the application logic to another application. An example is that an application wants to know the price of a certain product and requests that price from a product catalog application. This integration happens through interfaces or services and interconnects two or more systems. We categorize this as a horizontal integration and typically these systems are at the same level. 

Larger companies have typically an Enterprise Service Bus in place to facilitate these interconnections and tmost common data integration protocol used are SOAP and REST.   

Front-End Integration

Second type of integration is that an application provides functionality logic to a front-end application, such as a website, mobile app or desktop application. These type of integrations are also called APIs and expose functionalities to an internal company channel or to external applications. 

These types of integrations are called vertical integrations as they end up integrating systems and the "upper" channels as highlighted in the following diagram below.  When there is sufficient volume of APIs companies can implement an API management platform to facilitate the development and operations of these type of interfaces.
 
ESB vs API

Data Integration

Another type of integration is directly at data level. Another application connects directly to the database or datastore to retrieve or write data and the application logic is bypassed in this case which is different from the two cases above. 

In case of simple data integration, the integration is a direct connection. In case of more complex integration and high volumes of data, a special integration ETL (Extract, Transform, Load) platform can be used. ETL platforms are  optimized to facilitate large volume and complex data transformations and calculations that normal platforms are not able to cope with. 

These types of integrations are mainly used for data integration and transfer to datawaremarts, data warehouse or datalake. 

Technology Architecture Integration Capabilities

Corporate Integration Platforms

In companies, there may be sufficient volumes to justify a shared corporate platform between applications to do integrations. It dependes on volumes, usage, complexity, cost among other factors. The integration platforms large corporations have are one or more corporate:
Enterprise Service Bus (ESB)
API Management Platform
ETL Platform

The general guidance is to design and use these platforms for any type of integrations. Only in very rare exceptions such as performance tuning where single digit milliseconds count in overall response time, these platforms could be skipped.   

No comments: