EAI

EAI stands for Enterprise Application Integration and it is a framework designed to integrate the applications across the enterprise.
It lets programs such as f.e. business intelligence applications or supply chain management applications communicate each other and share data without changing applications itsefs. It simplifies business processes, increases work speed and reduces the number of errors.

The biggest task of EAI is to connect systems residing on different operating systems (f.e. Linux and Windows), are written in different languages and often connected to different databases (f.e. Oracle and Microsoft SQL Server). The other problem is that some systems, that need to be linked are not supporting by developers.

One of the main purposes of Enterprise Application Integration is data unification (known as Enterprise information Integration).


The other purpose is to detach business rules from specific application and implement them into EAI. Because of this action if the application will be replaced, there will be no need to re-implement business rules.
Third main purpose of EAI is creating so-called "Common Fascade". Owing to this mechanism user doesn't need to know how to interact with various applications, becouse EAI interface implements functionality of their interfaces.

    There are two main topologies:
  • hub and spoke - assumes that EAI system is hub interacting with other applications using spokes
  • "bus" model - EAI system is threated like a bus.

Integration of the application could be long-lived (EAI involvement in operation, that last hours or days) or short-lived (f.e. data synchronization between applications that takes several secounds to complete). These are so called Lifetime patterns.

EAI technologies

Some technologies are used in implementation each of EAI components:

  • Application connectivity - Bus connects to application using so called "connectors", that are programs performing two-way communication application-bus. Single application could have its connector as well as applications class. The connector can be executed in remote location and interact with hub using f.e. web services.
  • Data format and transformation - technology used to create one data format for all system.
  • Transactions - EAI execute every integration operation in one overarching distributed transaction.

Architecture of Enterprise Application Ingegration sistem consist of 4 components:

  • Central unit taking care of communication and security.
  • Data model. XML is the most popular standard.
  • Connector - object that connect every application of the system.
  • System model defining API and data flow.