What is EAI?

From Wikipedia's definition the Enterprise application integration (EAI ) is the use of software and computer systems' architectural principles to integrate a set of enterprise computer applications.

But what it exactly mean? Before going to definition of EAI, think of legacy banking computer systems connected to each other in Ad hoc manner. Inventory component is storing large database of users. Accounting component manages complex calculations of end users. Front end components are consumed by bank officials and bank users. Each of this component is connected and requesting each other for information. Those components are used to connected point to point or one to many manner.



Front end components used to call inventory components for querying users details and then it calls accounting component for managing fund transfers etc. This leads to complex system interconnection. Debugging and fixing such system used to become hectic. This system was prone to failure due to point to point contact and no main backbone systems.

EAI provided solution for above problem. Each of the component is connected to backbone component called ESB(Enterprise Service BUS). ESB is implemented using Java Messaging Service(JMS). The each components call other component via ESB. The routing and processing logic is implemented using ESB services. ESB encapsulates buisness logic from front end components. The ESB services are implemented using SOAP/HTTP, JMS, REST and expose APIs to front end services via RESTful APIs(JSON). The main advantage of ESB that it provides error handling and fault tolerance capability. The messaging between ESB services is done via XML/IDOC(For SAP CRM Systems). Front end system uses much more lighter messaging format JSON.

Below diagram shows the difference between legacy systems and EAI implementation using ESB.




Comments

Popular posts from this blog

Spring | Using TIBCO EMS with Spring framework

TIBCO | For Loop - Accumulate output

TIBCO | JNDI Server & JMS Instance creation