Enterprise application integration

OverviewCommunication architectures
Enterprise Application Integration is an integrationCurrently, there are many variations of thought on
framework composed of a collection of technologieswhat constitutes the best infrastructure, component
and services which form a middleware to enablemodel, and standards structure for Enterprise
integration of systems and applications across theApplication Integration. There seems to be consensus
enterprise.that four components are essential for a modern
Supply chain management applications (for managingenterprise application integration architecture:
inventory and shipping), customer relationshipA centralized broker that handles security, access, and
management applications (for managing current andcommunication. This can be accomplished through
potential customers), business intelligence applicationsintegration servers (like the School Interoperability
(for finding patterns from existing data fromFramework (SIF) Zone Integration Servers) or through
operations), and other types of applications (forsimilar software like the Enterprise service bus (ESB)
managing data such as human resources data, healthmodel that acts as a SOAP-oriented services
care, internal communications, etc) typically cannotmanager.
communicate with one another in order to share dataAn independent data model based on a standard data
or business rules. For this reason, such applications arestructure. It appears that XML and the use of XML
sometimes referred to as islands of automation orstyle sheets has become the de facto and in some
information silos. This lack of communication leads tocases de jure standard.
inefficiencies, wherein identical data are stored inA connector, or agent model where each vendor,
multiple locations, or straightforward processes areapplication, or interface can build a single component
unable to be automated.that can speak natively to that application and
Enterprise application integration (EAI) is the process ofcommunicate with the centralized broker.
linking such applications within a single organizationA system model that defines the APIs, data flow and
together in order to simplify and automate businessrules of engagement to the system such that
processes to the greatest extent possible, while at thecomponents can be built to interface with it in a
same time avoiding having to make sweeping changesstandardized way.
to the existing applications or data structures. In theAlthough other approaches like connecting at the
words of the Gartner Group, EAI is the nrestricteddatabase or user-interface level have been explored,
sharing of data and business processes among anythey have not been found to scale or be able to
connected application or data sources in theadjust. Individual applications can publish messages to
enterprise.1]the centralized broker and subscribe to receive certain
One large challenge of EAI is that the various systemsmessages from that broker. Each application only
that need to be linked together often reside onrequires one connection to the broker. This central
different operating systems, use different databasecontrol approach can be extremely scalable and highly
solutions and different computer languages, and inevolvable.
some cases are legacy systems that are no longerEnterprise Application Integration is related to
supported by the vendor who originally created them.middleware technologies such as message-oriented
In some cases, such systems are dubbed "stovepipemiddleware (MOM), and data representation
systems" because they consist of components thattechnologies such as XML. Other EAI technologies
have been jammed together in a way that makes itinvolve using web services as part of service-oriented
very hard to modify them in any way.architecture as a means of integration. Enterprise
Improving connectivityApplication Integration tends to be data centric. In the
If integration is applied without following a structurednear future, it will come to include content integration
EAI approach, point-to-point connections grow acrossand business processes.
an organization. Dependencies are added on anEAI Implementation Pitfalls
impromptu basis, resulting in a tangled mess that isIn 2003 it was reported that 70% of all EAI projects
difficult to maintain. This is commonly referred to asfail. Most of these failures are not due to the software
spaghetti, an allusion to the programming equivalent ofitself or technical difficulties, but due to management
spaghetti code. For example:issues. Integration Consortium European Chairman
The number of connections needed to have a fullySteve Craggs has outlined the seven main pitfalls
meshed point-to-point connections, with n points, isundertaken by companies using EAI systems and
given by . Thus, for ten applications to be fullyexplains solutions to these problems.
integrated point-to-point, , or 45 point-to-pointConstant change
connections are needed.The very nature of EAI is dynamic and requires
However, EAI is not just about sharing data betweendynamic project managers to manage their
applications; it focuses on sharing both business dataimplementation.
and business process. Middleware Analysts attendingShortage of EAI experts
to EAI involves looking at the system of systems,EAI requires knowledge of many issues and technical
which involves large scale inter-disciplinary problemsaspects.
with multiple, heterogeneous, distributed systems thatCompeting standards
are embedded in networks at multiple levels.Within the EAI field, the paradox is that EAI standards
Purposes of EAIthemselves are not universal.
EAI can be used for different purposes:EAI is a tool paradigm
Data (information) Integration: Ensuring that informationEAI is not a tool, but rather a system and should be
in multiple systems is kept consistent. This is alsoimplemented as such.
known as EII (Enterprise Information Integration).Building interfaces is an art
Vendor independence: Extracting business policies orEngineering the solution is not sufficient. Solutions need
rules from applications and implementing them in theto be negotiated with user departments to reach a
EAI system, so that even if one of the businesscommon consensus on the final outcome. A lack of
applications is replaced with a different vendor'sconsensus on interface designs leads to excessive
application, the business rules do not have to beeffort to map between various systems data
re-implemented.requirements.
Common Facade: An EAI system could front-end aLoss of detail
cluster of applications, providing a single consistentInformation that seemed unimportant at an earlier
access interface to these applications and shieldingstage may become crucial later.
users from having to learn to interact with differentAccountability
software packages.Since so many departments have many conflicting
EAI patternsrequirements, there should be clear accountability for
Integration patternsthe system's final structure.
There are two patterns that EAI systems implement:Other potential problems may arise in these areas:
MediationEmerging Requirements
Here, the EAI system acts as the go-between orEAI implementations should be extensible and modular
broker between (interface or communicating) multipleto allow for future changes.
applications. Whenever an interesting event occurs inProtectionism
an application (e. g., new information created, newThe applications whose data is being integrated often
transaction completed, etc.) an integration module in thebelong to different departments that have technical,
EAI system is notified. The module then propagatescultural, and political reasons for not wanting to share
the changes to other relevant applications.their data with other departments
FederationAdvantages and Disadvantages
In this case, the EAI system acts as the overarchingAdvantages
facade across multiple applications. All from theReal time information access among systems
'outside world' to any of the applications areStreamlines business processes and helps raise
front-ended by the EAI system. The EAI system isorganizational efficiency
configured to expose only the relevant information andMaintains information integrity across multiple systems
interfaces of the underlying applications to the outsideEase of development and maintenance
world, and performs all interactions with the underlyingDisadvantages
applications on behalf of the requester.High initial development costs, especially for small and
Both patterns are often used concurrently. The samemid-sized businesses (SMBs)
EAI system could be keeping multiple applications inRequire a fair amount of up front business design,
sync (mediation), while servicing requests from externalwhich many managers are not able to envision or not
users against these applications (federation).willing to invest in. Most EAI projects usually start off
Access patternsas point-to-point efforts, very soon becoming
EAI supports both asynchronous and synchronousunmanageable as the number of applications increase
access patterns, the former being typical in theThe Future of EAI
mediation case and the latter in the federation case.EAI technologies are still being developed and there still
Lifetime patternsis no consensus on the ideal approach or the correct
An integration operation could be short-lived (e. g.,group of technologies a company should use. A
keeping data in sync across two applications could becommon pitfall is to use other proprietary technologies
completed within a second) or long-lived (e. g., one ofthat claim to be open and extensible but create vendor
the steps could involve the EAI system interacting withlock-in.
a human work flow application for approval of a loanSee also
that takes hours or days to complete).Business semantics management
EAI topologiesComparison of business integration software
There are two major topologies: hub-and-spoke, andData integration
bus. Each has its own advantages and disadvantages.Enterprise Information Integration
In the hub-and-spoke model, the EAI system is at theEnterprise integration
center (the hub), and interacts with the applications viaEnterprise Integration Patterns
the spokes. In the bus model, the EAI system is theEnterprise service bus
bus (or is implemented as a resident module in anGeneralised Enterprise Reference Architecture and
already existing message bus or message-orientedMethodology
middleware).Integration appliance
TechnologiesIntegration Competency Center
Multiple technologies are used in implementing each ofIntegration platform
the components of the EAI system:Straight Through Processing
Bus/hubSystem integration
This is usually implemented by enhancing standardInitiatives and organizations
middleware products (application server, message bus)Health Level 7
or implemented as a stand-alone program (i. e., doesOpen Knowledge Initiative
not use any middleware), acting as its ownOSS through Java
middleware.Schools Interoperability Framework (SIF)
Application connectivityCommercial solutions
The bus/hub connects to applications through a set ofAvolution
adapters (also referred to as connectors). These areAxway
programs that know how to interact with an underlyingFRENDS Iron - "FRENDS Iron Page on Frends
business application. The adapter performs two-wayTechnology"
communication, performing requests from the hubIBM WebSphere Message BrokeriBOLT
against the application, and notifying the hub when anIntegration Objects
event of interest occurs in the application (a newInterwoven
record inserted, a transaction completed, etc.).IONA Technologies Artix ESB
Adapters can be specific to an application (e. g., builtMicrosoft BizTalk Server - "BizTalk Server Page on
against the application vendor's client libraries) orMicrosoft"
specific to a class of applications (e. g., can interactMOND Technologies
with any application through a standard communicationOracle Service Bus (formerly BEA AquaLogic Service
protocol, such as SOAP or SMTP). The adapter couldBus)
reside in the same process space as the bus/hub orOracle BPEL Process Manager
execute in a remote location and interact with the hubPervasive Software
bus through industry standard protocols such asProgress Software
message queues, web services, or even use aReconfigurable Computing Environment
proprietary protocol. In the Java world, standards suchSoftware AG webMethods
as JCA allow adapters to be created in aSoftshare
vendor-neutral manner.Sterling Commerce
Data format and transformationSun Java CAPS
To avoid every adapter having to convert data toTIBCO
from every other applications' formats, EAI systemsOpen-source projects
usually stipulate an application-independent (orApache ActiveMQ
common) data format. The EAI system usuallyApache Camel
provides a data transformation service as well to helpApache ServiceMix
convert between application-specific and commonApache Synapse
formats. This is done in two steps: the adapterFUSE ESB (enterprise ServiceMix)
converts information from the application's format toFUSE Mediation Router (enterprise Camel)
the bus's common format. Then, semanticFUSE Message Broker (enterprise ActiveMQ)
transformations are applied on this (converting zipJitterbit Integration Server
codes to city names, splitting/merging objects fromMuleSource
one application into objects in the other applications,Openadaptor
and so on).OpenESB
Integration modulesPEtALS ESB
An EAI system could be participating in multipleSpring Integration
concurrent integration operations at any given time,Talend
each type of integration being processed by aVirtuoso Universal Server
different integration module. Integration modulesReferences
subscribe to events of specific types and process^ In its April 2001 report for AIIM International,
notifications that they receive when these events"Enterprise Applications: Adoption of E-Business and
occur. These modules could be implemented inDocument Technologies, 2000-2001: Worldwide
different ways: on Java-based EAI systems, theseIndustry Study," Gartner defines EAI as "the
could be web applications or EJBs or even POJOsunrestricted sharing of data and business processes
that conform to the EAI system's specifications.among any connected applications and data sources
Support for transactionsin the enterprise."
When used for process integration, the EAI systemGable, Julie (March/April 2002). "Enterprise application
also provides transactional consistency acrossintegration". Information Management Journal. Retrieved
applications by executing all integration operations2008-01-22. 
across all applications in a single overarching distributed^ Trotta, Gian (2003-12-15). "Dancing Around EAI 'Bear
transaction (using two-phase commit protocols orTraps'". Retrieved 2006-06-27.
compensating transactions).