EAI Elephant And Its Components
Emergences of integration terminologies like A2A (Application to Application integration), B2B (Business to Business integration), P2P (Point to Point integration), Hub and Spoke, EMB (Enterprise Message Bus), MOM (Message Oriented Middleware), DMA (Distributed Messaging Architecture), EDA (Event Driven Architecture), SOA (Service Oriented Architecture), eAI (eBusiness Application integration) and many more terminologies including EAI (Enterprise Application integration) make one confused as to where they stand in integration arena. Understanding them in isolation or partially makes one think of it as the only EAI solution or substitute to EAI. Such interpretations reminds us of a story when multiple people with their eyes covered with mask described an Elephant differently as a snake or pillar etc. based on the part of the body of the Elephant they touched and felt.
An Enterprise has multiple best of the breed, mission critical applications from different vendors with different technologies and platforms that need to communicate within and outside an Enterprise. This bring ups the eBusiness Application Integration (eAI) needs. Enterprise Application Integration (EAI) facilitates this integration. EAI encompasses Approaches, Methodologies, Frameworks and Architectures that are used for integrating various enterprise wide applications to achieve A2A and B2B integration.
EAI Approaches consists of integration approaches like P2P, Hub and Spoke and Distributed Messaging. EAI Methodologies consists of integration methodologies like Object Oriented Programming, COM, CORBA etc. EAI Frameworks consists of integration frameworks like J2EE and DotNet. EIA Architecture consists of integration architectures like Event Driven Architecture and Service Oriented Architecture. Each of them has its own merits and demerits. While some of them are specific to integration requirements while others can also be used in non-integration requirements. An Enterprise needs to make decision about which one to use based on its requirements.
Following briefly describes each of them.
In Point to Point Integration scenario each integration requirement has two points on each side of application that contains the code.
In Hub and Spoke Integration there is a hub that acts as a central point through which all the integration happens. No spoke directly communicates with each other. There are Enterprise Message Bus (EMB) and Message Oriented Middleware (MOM) that can be used in this scenario to store and transform the message in different formats (like CSV, XML etc.) Between two or more applications (Synchronously or Asynchronously) based on Publish / Subscribe, Request / Reply, Push / Pull model in online or batch mode.
Distributed Messaging Architecture (DMA) provides for High Availability solution in Active / Active or Active / Passive mode. It helps in multiple ways by sharing the load and one server taking over the functionality when another server goes down.
Event Driven Architecture is an Architectural model where in an application triggers an event based on some conditions. EDA has many times been used in multi-tired Client Server based applications to trigger an event that can either execute a code or publish a message based on the conditions.
Service Oriented Architecture is an Architectural model to develop services that are standards based, flexible, loosely coupled, and reusable and can be consumed by different client applications. There are many options including web services and Simple Object Access Protocol (SOAP) that can be used to implement it.
EAI makes use of one or more of above-mentioned Approaches, Methodologies, Frameworks and Architectures to achieve enterprise integration goals.