Enterprise Application Integration

advertisement
Current and Future Trends in
Enterprise Application Integration
Ehsun Saeed1, Shafay Shamail2
1.
2.
MSc Student, Department of Computer Science, LUMS, Defence, Lahore, ensaeed@yahoo.co.uk
Associate Professor, Department of Computer Science, LUMS, Defence, Lahore,
sshamail@lums.edu.pk
Abstract
The advances in the Information System
Technology have allowed enterprises to use and
apply increasingly sophisticated computer
systems to run their businesses effectively.
Organizations newly emerging as a result of
mergers or takeovers of existing enterprises face
the challenges of information inconsistency,
systems heterogeneity, and incompatible
overlaps. Solution of such conflicting factors lies
in systems integration. There are many
dimensions to the integration problem:
integration across geographically distributed
enterprise, integration with suppliers and
customers, integration of various activities,
integration of different tools etc. This paper
discusses different levels of Enterprise
Application Integration (EAI) each with its own
requirement
and
consideration.
Various
integration frameworks and architectures are
examined, focussing on the issues and challenges
involved. Limitations of traditional integration
approaches and associated pitfalls of these
methods are also highlighted. Future generation
of EAI is discussed emphasizing on the process
automation and the development of hybrid
product
for
integrating
separate
and
incompatible systems.
1. Introduction
Enterprise Application Integration is the
combination of processes, software, hardware,
and standards resulting in a seamless integration
of two or more enterprise systems allowing them
to operate as one. EAI is the process of
integrating multiple, independently developed
applications that may use incompatible
technology and need to remain independently
managed.
Today most organizations are using packaged
software for their key business processes.
Enterprise Resource Planning (ERP), Supply
Chain Management (SCM), and Customer
Relationship Management (CRM) systems
enable organizations to improve their focus of
using information systems (IS) to support their
operational and financial goals [1].
Successful implementation of consistent,
scalable, reliable, incremental, cost-effective
solutions depends on the standards and the
methodologies used for integration.
When writing new applications, one can select
the exact technologies and methodologies best
suited to the enterprise. In most situations,
Component–Based Development (CBD) is the
right choice. It promotes the development of
tightly coupled, well-defined highly reusable
components.
Microsoft designed its Component Object Model
(COM) specifically for this purpose. The
CORBA (Common Object Request Broker
Architecture) as implemented in several different
Object Request Broker (ORB) products, also fit
in this space, as does Enterprise JavaBeans
(EJB).
Components written on the same standard, using
any of these technologies can easily operate in a
flexible, scalable environment. Two applications
running on the same computer, written to the
same standard can communicate easily using
COM.
However,
application-to-application
integration running on two different computers
can communicate using CORBA or EJB, but
both have shortcomings. CORBA is a standard
but products that implement it (ORBs) are not
standard. None of the three technologies are
designed to work seamlessly with the others.
A true EAI architecture must recognize that
applications that run with in an enterprise were
written to different standards, use different
technologies and are implemented across
distributed heterogeneous platforms. Most A2A
(Application-to-Application) integration isn’t as
simple as having one component communicate
with solely via COM, CORBA, EJB. These
object request brokers don’t have all the features
of the message brokers [2].
2. Integrating Approaches
Different approaches of integration are:

Homogeneous with one instance: One
process is supported by one application and
one database. This model avoids problems
emerging from redundant data storage and
asynchronous data exchange between
separated applications.

Homogeneous with several instances:
Several identical processes in different
business units are supported by several
identical applications that run on different
computers and rely on logically separated
databases. An example of that kind of
integration is the Application Link Enabling
(ALE) from SAP which provides a
mechanism of coordination of data in
physically distributed SAP environments.

Heterogeneous: Several different processes
in different business units are supported by
several different applications. An additional
problem compared to the integration in a
homogeneous environment is that the
concerned applications are build upon
divergent data models, which means they
provide different semantics of data to be
exchanged.
Integrating
information
systems
means
establishing communication between these
systems. Inter-process integration requires that
all the aspects of the communication are identical
between both systems (ISO/OSI model) A
common syntax is required, which defines the
order, length, and the type of data being
exchanged. In addition, semantics is needed to
assign real world subjects and notions to the
transmitted characters. Semantics add a certain
meaning to individual data fields. Without open
semantics standards an automated exchange of
information among anonymous business partners
will remain illusive because it will require a
human interpreter. The third element – the
pragmatic element ensures that the transmitted
data has not only been understood but those
subsequent actions are triggered. For instance,
the IS would automatically issue an invoice once
a product has been delivered.
4. Traditional Integration Methods
Traditionally the following integration
methods have been in practice:

Figure 1: Point-to-Point Integration

Client/server:
Three-tier
client/server
models, in which business logic is separate
from data access, make it possible to
integrate multiple databases in a scalable
fashion. Integrating multiple applications,
however, remains a problem in a
client/server environment.

Data integration: A workable integration
approach needs to encompass data
integration, but cannot be based solely on it.
For example, data integration by itself is of
little help when transactions are involved,
nor does it directly address the integration of
business rules into business processes.

Enterprise Resource Planning: ERP systems
can be used to integrate non-ERP
applications. This approach, however, ties
non-ERP applications into essentially
proprietary framework, which does not
adapt quickly or cost effectively to business
change [3].
3. Integration Mechanisms

Call Interface: Applications provide a
callable interface, usually referred to as an
Application Programming Interface (API).
Such as Object interfaces (COM, CORBA,
or JavaBeans).

Messaging: Applications are integrated by
send and receive messages, usually via some
queing mechanisms. Message Queing
products are IBM MQSeries, MSMQ, ALE.

Data Access/File Transfer: Applications are
integrated by direct access to their
databases, or via file transfers.
Point-to-Point Integration: In this approach
each application requires a separate interface
with every other application. Thus, four
applications require 16 interfaces that have
to be developed, managed, and maintained;
eight application requires 56 interfaces and
so on. The net effect is a complex and
expensive-to-maintain fabric, or skein, of
application. A change in one application
requires a series of changes to be
implemented across all applications.
5. EAI Systems
Systems that enable companies to implement
inter-process communications are traditionally
known as middleware. Middleware is primarily
concerned with data level integration, which
means that these systems do not provide any
functionality that enables higher levels of
integration such as message or process
integration. In contrast to this EAI systems
encompass the technologies as well as the
process definition to enable custom built and/or
packaged business applications to exchange
semantic level information in formats and
contexts that each system understands. EAI offer
several types of services in addition to classical
middleware. These are:
5.1 Connectivity Services
Connectivity services enable data integration.
They extract information from one application
and transport it to another.



Communication services: They transport the
physical transport of data between
distributed
applications
by
using
synchronous
and
asynchronous
communication mechanisms.
Addressing and delivery services: These
kind of services offer functionality to
implement different addressing schemes,
such as point-to-point, broadcast/multicast
or publish-and- subscribe.
Security services: In some integration
scenarios such as inter-organizational ones,
sensitive information may be needed to be
transported between applications. That is
where security services offer functionality
for authentication, message integrity and
authorization.
5.2 Interface Services
Custom-built and packaged applications provide
different interfaces to communicate with other
applications; the only way to integrate with them
often is an intermediate resource, such as
database of text files. Interface services
normalize the way that communication,
transformation and process management services
access and interact with all applications to be
integrated with the EAI system. The suppliers of
EAI systems refer to this functionality as
connectors, integrators, adapters and building
blocks. They provide the following services:

Interface translation services: They assist
with data integration by providing links
between EAI’s own connectivity services
APIs and resource specific data access or
APIs.

Metadata representation services: They
assist with message and process integration.
They make elements of individual
resources’ object models and behavior
available to EAI solution developers so that
transformations are running correctly.
5.3 Transformation Services
Transformation services are the core of every
EAI system. They enable message integration by
taking incoming information that is passed to
them by connectivity services and convert it
from the formats imposed by its resource(s) into
formats acceptable to its destination(s).

Identification services: Incoming messages
are identified by a metadata discovery and
storage service. These messages can be
identified and validated based on their
content.

Synchronization services: In many cases,
transformation will require more than one
input from more than one source and inputs
will probably not arrive at the same time.
The synchronization services then provide
the functionality to ensure that the
predefined set of messages has arrived
before carrying out a transformation.

Routing services: Transformation may also
need to produce more than one output or the
output of a message defines the destination
in some cases. Transformation must be
flexible enough to direct outputs to different
destinations even via different connectivity
services.
5.4 Process Management Services
These services enable intra and interorganizational process integration by operating
above the level of individual transformations.
Just as transformation services coordinate sets of
messages, process management services
coordinate sets of transformations. Process
management services control the execution of a
sequence of transformations as specified by a
pre-defined model. With process management
services, multiple distributed application can be
integrated.

Interface development services: In most
companies and even business units of these
companies, packaged applications like SAP
R/3 are customized specifically which
means that integration scenarios between
distributed ERP systems even within one
company are not easy to handle. Therefore
interface development services assist the
developer with a functionality to customize
preconfigured adapters for packaged
software and develop adapters for custombuilt applications.

Transformation
specific
services:
Transformation specification services are
used for the definition of mapping
mechanisms, in order to transform a
message format from a source application
into a format of the destination application.
Simple transformation in most products can
be specified graphically via commonly used
drag-and-drop interfaces. These tools
provide repository interfaces which allow
the developer to find and select multiple
sources and targets for the transformation,
and a canvas on which the developer drops
source and target structures before creating
connections between elements of sources
and targets.
Process modeling services: The most
convenient way to specify a process model
is via graphical modeling environment like
those provided with CASE tools. In context
of EAI state-transitions diagrams are the
obvious choice. A process is represented by
a set of states linked by transitions. Each
transition links two states, and each state can
be linked to many other states by multiple
transitions. Most of EAI solutions offer
simulation environments with which
developers can validate the workflow [1].
5.5 Runtime Services
As EAI systems provide an additional software
layer between the applications to be integrated,
criteria like performance, reliability, availability
and scalability play an important role in using
such a system.



Distribution services: To improve the
performance of the integration architecture,
developers have two options when it comes
to distributing the runtime services. On one
hand, interface and connectivity services can
be implemented locally to each resource to
be
integrated,
and
connectivity,
transformation and process management
services can be installed centrally with in
one or more brokers. This scheme is called
hub-and-spoke architecture. On the other
hand, services can be implemented wherever
it makes more sense for a specific
architecture that is then called a federated
architecture.
Scalability services: Scalability services
offer load balancing and failover
mechanisms. Load balancing improves
scalability by spreading workload between a
group of servers. In this context, load
balancing can be used to spread the load on
transformation services when large volumes
of messages are received with in a short
time. Load balancing can either be static, so
the groups of servers that can be included in
the scheme are preconfigured or it can be
dynamic, in which case the load balancing
function can start new instances of servers
as needed. The failover service improves
availability by automatically re-directing
requests for services to one or more backup
servers when a server fails.
Monitoring Services: EAI systems offer
monitoring services to monitor and analyze
their availability and performance.
5.6 Development Services
EAI systems assist with variety of functionality:

6. Middleware
It is a transport software that is used to move
information from one program.A software layer
between the operating system –including the
basic
communication
protoocls-and
the
distributed applications that interact via the
network. This software infrastructure facilitates
the interaction between among distributed
software modules running across multiple
platforms [4,5].
Types of Middleware
Transactional middleware
TP monitors
TP monitors provide a complete environment for
transaction applications that access relational
databases. In TP monitors, clients invoke remote
procedures that reside on servers, which also
contain a SQL database engine.Procedural
statements (transaction), which either all succeed
or all fail as a unit.
TP monitors should be considered when
transactions need to be coordinated and
synchronized over multiple databases. TP
provides transaction integrity, state management,
resource management and load balancing[4].
Application Servers
The real benefit to application server is the
ability to multiplex and manae transactions that
result in the reduction of the number of
connections and procesing load that larger
systems place on a database.
When the number of incoming client requests
surpasses the number of shared processes that the
system is able to handle, other processes start
automatically.
Application servers use dynamic switching to
reroute transactions around server and network
problems.the transactions work through a twophase-commit process to assure that the
transactions are complete [6].
Obect Request Brokers
They are language independent object-oriented
RPC’s. There are two standards for CORBA and
DCOM. ORB’s are used in projects that require
a
strict
object-oriented
approach.ORB’s
aregenerally synchronous and operate in a point
–to–point manner.
Message Oriented Middleware
Message oriented middleware works by passing
information in a message from one program to
more programs. The informtion can be passed
asynchronously, where the sender does not have
to wait for a reply. MOM products provide
services for translaying data, security,
broadcasting data to muliple programs, error
recovery, locating resources on the network, cost
routing, priortization of messages.
Two different types of MOM have emerged.

Meessage Queing
 Message Passing
Message Queuing
In message queuing, program-to-program
communication occur via queue, which typically
is a file. It allows program to send and receive
information without having a direct connection
established between them. A program simply
gives a message to the message queing services,
identifies the name of the queue in which it
wishes the message to be placed.
Message Passing
This approach is different from message queuing
in that rather the application to retrieve the
informtion they request, the information is
published to interested parties (pub/sub). In
pub/sub
programs
subscribe
to
a
subject.Programs also publish messages to the
subject. Once the subject has been subscribed to
by program, the program will receive the
messages published to that subject-distributed
application.
MOM vendors implement publish subscribe with
a set of agents that maintain a real time database
, listening which program are interested in which
subjects. A program published a message by
connecting it with one of the agents and send the
message to it. The agent then routes the message
to the appropriate programs [4].
Java Message services
JMS is Java framework for MOM. The Java
language is platform independent. JMS defines a
set of standard Java interface for Java programs
that can create, send, receive and read message
from an enterprise messaging system. Normally,
the JMS complaint MOM products would act as
a buffer between the application and the lower
communication layer. This help protect the
application from the transport layer faults,
making the application more fault-tolerant. By
aggregating the code responsible for low level
message transport and delivery into a separate
layer the application architecture becomes
modular,
promoting
higher
application
scalability. JMS can also improve distributed
application performance by providing a
centralized
facility for inter-applicationmessaging. JMS benefits are portable, open
framework, more resilient programming model
as it protects the application from the network or
communication fault, modular design ensures
message handling occurs with in a separate layer
JMS makes an application more modular with
JMS as a separate component apart from the
application’s business logic ,it can be easily
upgraded with little or no code revision. [6].
Messaging vs. object Request Brokers
Messaging can be considered when:
 Implementing loosely coupled applications.
 Require guaranteed delivery of messages
between applications.
ORB products can be considered when:
 Tightly coupled applications are needed.
 Sources of integration are already well
structured and have clear interfaces.
 Implementing architectural standards.
 Wrapping existing application interfaces
into a single technology.
 Integrating in-house applications
7. Adapters
Applications are logically attached to the
integration system by means of adapters. An
adapter translates between an application ‘s API
and the integration system’s unit of information
exchange, the event. A typical adapter subscribes
to events that related to its application. When ti
recieves an event, the Adapter invokes the
application’s API tp perform the operation
described in the event. An adapter may publish
or deliver an event to signal that it has processed
an incoming event. An adapter may also be
invoked by its application, in which case it
publishes an event, typically a notice that
announces something that has happened in the
application.
Static and Dynamic Adapters
Static Adapters-When a typical static adapter is
started, it subscribes to the set of event types
coded into it. When an event arrives, the adapter
invokes its applications, usually passing data
obtained from the event. If the event is a request,
the adapter delivers a new event containing data
returned by the application. The main benefit of
a static adapter is that the programmer doesn't
have to work with all the different application
program interfaces, since the adapter handles the
basic translation behind the scenes
Dynamic Adapters-They have a general
processing framework coded into them and
discover the specifics of what they are to do at
run time. By eliminating programming, dynamic
adapters decrease the time required to integrate
an application and reduce the risks of failure and
error. Dynamic adapters are a combination of
agent containers and adapter components. The
adapter components consist of the actual code for
communicating with the enterprise application.
The agent container handles services such as
session management, error handling and
exception management.
These agent adapters provide node-level filtering
and transformation of data, so that large amounts
of raw data do not have to be shipped over the
network to the integration broker but, rather, can
be handled out at the nodes, where the source
application resides. At run time, the "agent
service" component of the agent adapter receives
the data from the adapter component, filters the
data, performs transformation mappings and
translates the native form into a document before
invoking the messaging system to deliver it to
the queue. That added intelligence makes the
integration process more efficient and puts less
of a strain on network bandwidth [7].
8. Message Brokers
Message brokers are specialized publishsubscribe systems with additional services that
simplify the process of building EAI solutions.
Message brokers services can be separated into
several
distinct
categories:
message
transformation services, rules processing,
intelligent routing, message warehousing, and
flow control, repository services and directory
services.
Message Transformation. Many message
brokers have a message translation layer that
understands the formats of each message being
passed among applications and changes their
formats “on the fly”. The message broker
restructures the data from one message into a
new message that makes sense to the receiving
applications. The message layer provides a
common directory with information on how each
application communicates.
Rules processing. The rules processing engine
within most message brokers allows for the
creation of rules to control message processing
and distribution.
Intelligent routing. Intelligent routing builds on
the capabilities of both the rules and the message
translation layers. The message broker can
identify messages dynamically coming from the
target application and route that information to
the proper source application, translating
messages, if required.

Process-level EAI deals with building
enterprise-wide business processes and
incorporating existing applications into
those processes. Process level EAI is an
extension of message level EAI .The actual
data exchange still occurs via messaging,
but EAI middleware acts as a workflow
engine-orchestrating message exchange.
This is ultimate EAI implementation
because it transforms existing disparate
applications into a cohesive system of the
business processes, supporting all the
functions the enterprise requires [8].
Data-Level EAI
Figure 2: Message broker use a hub-andspoke architecture.
Message warehousing. It is a database that store
messages that flow through the enterprise
Graphical User interfaces. GUI lets you create
rules, link applications, define transformation
logic, etc. It also allows system management of
the message broker. System management tools
support tracking, monitoring of message broker
components.
Directory Services. A directory service is a
mechanism that provides the location,
identification, use of authorization of network
resources (such as source or target application)
6. Types of EAI
There are three different types of EAI:


Data-level EAI deals with moving data
between multiple data stores. This supports
data exchange between disparate data stores
when applications must share information.
In data-level EAI one can access different
databases with virtually no changes to
application code.
Message–level EAI deals with the exchange
of messages between multiple exchanges.
This approach differs from the data-level
EAI in that the applications themselves do
the messaging. This provides more
controlled information exchange. This
approach also leverages data transformations
and validations. Message–level EAI is more
invasive than data-level EAI because it
requires more modifications to existing
applications to create interfaces for sending
and receiving messages.
Data-level Enterprise Application Integration
assumes bypassing the application logic and
extracting or loading data directly into the
database through its native interface. Application
code rarely requires modification. Most users
and applications will remain ignorant of the fact
that data is being shared.
Data-Level EAI Design
Identify data. The first task in the process of data
identification is creating a list of systems needs
to be integrated. Based on that list it is possible
to determine which databases exist in support of
those systems.
Identify data format: This allows for
determining how information is structured.
Different structures and schemas require an
understanding of data formats in order for those
schemas and structures to be transformed as
information moves from one system to another.
Catalog data. Create data dictionary that
includes metadata and other data through out the
problem domain. This includes system
information, security, ownership, connected
processes, communications and integrity issues
etc.
Metadata model. The metadata model defines all
the data structures and how these structures will
interact with the EAI solution domain. The data
catalog defines the problem parameters. The
The enterprise metadata model solves it.
Data-Level EAI Implementation
There are two basic approaches to build datalevel EAI:
Database-to-database EAI means simply sharing
information at the database level. Traditional
database middleware, database replication
software or database integration software to
implement this solution. There are two flavors:
basic and complex. The basic replication solution
moves data between databases with the same
basic schemas. The more complex solution is
replication with the transformation. This
approach allows moving data between different
database models (relational, object-oriented etc)
with different schemas by transforming data on
the fly. The advantage of this approach is
virtually no impact on existing applications.
Federated Database EAI. This approach allows
various applications to access any number of
databases, using different brands, models, and
schemas through the single “virtual” database
model. This virtual database model exists only in
software and is mapped to any number of
connected physical databases. This approach
relies on middleware to share information
between applications. Moreover, middleware
hides differences in the integrated databases
from all the applications using these integrated
databases [9].
Message-Level EAI
Message–level
Enterprise
Application
Integration assumes message exchange between
integrated
Information
Technology
(IT)
components. Any tier of an application – GUI,
application logic and database, can originate or
consume the message. When messages are both
produced and consumed by a database, messagelevel EAI becomes an implementation of datalevel EAI. The only difference that the actual
implementation is done using messaging
software,
rather
than
database
tools.
Implementing
message-level
requires
understanding
business
events,
message
producers and consumers, message content, and
applying business principles to determine which
data flows to implement.
Message-Level EAI Design
Define and catalog business producers. When an
event occur, the IT system is responsible for
creating a message and publish it to message
consumers. There can be one or many producers
of the same message. Producers of every event
are catalogued along with the event and message.
Define and catalog message consumers. Every
consumer requires a certain amount of
information from the message to react to the
particular event.
Define and catalog message content Define data
requirements for the messages. Analyze carefully
the data for these messages to extract common
definitions, which will form the foundation of
the message dictionary.
Extensible Markup Language (XML) can be
used for presenting and capturing message
content. It is platform independent and human
readable, which makes it easier to use between
multiple IT platforms. In addition, XML
provides a data transformation facility for
standardizing message transformation between
consumers and producers.
Message-Level EAI Implementation
Message-level EAI is normally built using some
type of middleware. Middleware is connectivity
software that consists of set of enabling services
that let multiple processes run on one or more
machines to interact across the network.
Middleware provides an isolation layer of
software by presenting its own enabling layer of
Application Program Interfaces (APIs). This
layer hides the differences incurred by such a
heterogeneous environment.
There are several ways to implement messagelevel EAI:



Define and catalog business events and
messages. Messages are the result of the
business events. A message is a method of
sharing information about the event with other
applications. Defining the events effectively
creates an overall message structure of the
integrated enterprise.
Synchronous
versus.
asynchronous
messaging.
Point-to-point versus. publish–subscribe
architecture.
Request/reply versus. multicast request/reply
Synchronous vs. Asynchronous Messaging:
Messaging systems are built on top of generic
middleware, which can employ two types of
communication mechanisms:
Asynchronous. The sending application sends
the message and continues its processing.
Asynchronous middleware decouples message
delivery from both sending and receiving
applications by serving as a separate process that
provides synchronization and message delivery.
Message consumer and producer don’t have to
be running simultaneously for message delivery
to occur.
Synchronous. The sending application is
blocked during the process of message delivery.
Synchronous middleware is organized as a set of
services, which become part of message
producer process for the duration of the message
delivery. The message producer and consumer
are tightly coupled and must run simultaneously
for message delivery to occur.
Point to Point vs. Publish Subscribe:
In point-to-point communication a messaging
pipe is created between applications. The biggest
limitation of this approach is its inability to
properly bind together more than two
applications. The message – level EAI using
point-to-point
communication
leads
to
unmanageable webs of pipes, going between
multiple applications. On the other hand, linking
only two applications is significantly easier than
taking into account many-to-many relationships.
A publish-subscribe model consists of
applications that publish information on a
network and applications that have subscribed to
receiving information on specific topics of
interest. These subscribers can then consume the
particular information they are interested in after
the information is published. The advantage of
publish-subscribe model is that it enables
development of loosely coupled, highly flexible
business systems. Producer and the consumer
applications do not have to know about each
other’s existence, location, or state. New clients
can be added without interruption of the
operation. Publish-subscribe is the only
reasonable approach for building message-level
EAI.
Request/Reply vs. Multicast Request/Reply:
In Request/Reply a client requests data from a
server; the server computes an individual
response and returns it to the client.
Communication flows in both directions.
Examples:
 Transaction processing (as in ATM
banking).
 Database query (with a remote DBMS).
 Factory equipment control.
In request/reply interactions, data producers
coordinate closely with data consumers. A
producer does not send data until a consumer
makes a request. Each program sends its
message to a specific inbox name within the
other program
In Multicast Request/Reply interactions multiple
servers can receive the request and respond as
appropriate. Communication flows in both
directions, and only some servers respond to the
client. The complete interaction consists of one
multicast request message, and any number of
point-to-point reply messages.
Example applications:
 Database query with multiple servers.
 Distribution of computing sub-tasks to the
first available server [10].
Process-Level EAI
Implementing the process-level EAI requires
understanding business processes as well as the
business rules and events and IT components
participating in those business processes.
Following steps are involved while designing the
process-level EAI.
Process-Level EAI Design
Business Process: Identify the business
processes that need to be created or supported in
the integration enterprise.
Business Events: Define the business events that
will initiate business processes.
Process Participants: Identify the essential IT
components for every process and any additional
required IT components or additional
functionality.
Process rules and functionality: Business rules
define the sequence of invocation of IT
components, capture and catalog these along
with the types of messages providing data
exchanges.
Message Content: Build message dictionary of
all the messages across the enterprise. Define the
data requirements of all the messages.
Figure 3:Message Broker-Based Process Level
EAI
Process-Level EAI Implementation
There are two commonly used approaches for
implementing process-level EAI
 message broker–based and
 application server-based.
Message Broker-Based, Process-Level EAI
Advantages:
 Every IT component is connected only to
the message broker, not to each other, so
every component is connected only to one
place in the enterprise.
 Overall messaging is asynchronous,
providing decoupling of IT component
execution.
 The message broker is responsible for all
data transformations, providing a central
point of control for this throughout the
enterprise.
 Message brokers provide GUI-based
facilities for creating simple business rules,
thus simplifying both control and
modification of business rules.
 Guaranteed
message
delivery
is
implemented in most message brokers.
 Pre-built adapters and connectors simplify
system construction.
Disadvantages:
 Because messaging is asynchronous end-toend transactions aren’t supported. Hence
compensating
transactions
must
be
introduced.
 End-to-end security is difficult to
implement. There are no standard APIs for
message brokers.
 There are no standard interfaces, standard
specifications or standard abstractions.
Application Server-Based, Process-Level EAI:
As shown in the figure component wrappers
introduce all of the IT components to the
application server. From the application server
perspective, the execution occurs among
components within the application server. The
application server is oblivious to the fact that
those components are only the façade for the
existing IT components, which are doing the real
work. The adapter/component wrapper pair is
responsible for providing a layer of abstraction,
allowing for IT component communications as if
the components were executed with in the
application server environment itself. The
responsibilities of the application server are:
 Message routing
 Data transformation
 Business rules implementation
 Business process support
Figure 4 Application server based, Processlevel EAI.
The java2 platform, Enterprise Edition (J2EE)
connector architecture defines a standard
architecture
for
connecting
J2EE
to
heterogeneous Enterprise Information Systems
(EIS) such as ERP systems, transaction
processing monitors.
Advantages:
 Each IT component is connected only to
application servers, not to each other, so
every component is connected only to one
place.
 The application server is responsible for all
data transformations, thus providing a
central point of control.
 Any proprietary connection can be created
to implement a component wrapper.
 The application server is highly scalable so
overall scalability is limited only by IT
components scalability.
Disadvantages:




All communication are synchronous so there
is a strong coupling between IT components.
All processing occurs synchronously, so
long-lived processes can starve application
server resources.
Few tools are available to support
implementation of business processes,
business rules, and data transformation.
Resource pooling is necessary to speed up
communications
between
component
wrappers and components [11].
EAI Architecture Pattern
Following patterns are used for EAI
 Integration Adapter: Converts an existing
application interface to a desired interface.
 Integration Messenger:
Describe
an
approach
to
minimize
application
communication
dependencies
between
applications.
 Integration Façade: Provides a simplified
interface
to
back-end
applications,
minimizing dependencies between client and
the server applications.
 Integration
Mediator:
encapsulates
application integration logic, minimizing
application dependencies.
 Process automator: Describes an architecture
approach that minimizes dependencies
between process automation logic and
applications [12].
7. EAI Architectures


Bus Architecture
A producer broadcasts a message using a
network transport cable
that
supports
broadcasting. This results in all machines within
a certain range receiving the messages.
Therefore, there is an additional requirement for
filtering the information locally [14].

Federated Static Architecture
Federated static architecture allows applications
and data sources to connect to a single
integration server or hub statically. These hubs
can exchange information with each other. This
means that all the information produced or
consumed from a particular application is only
available for processing within a particular hub.

Federated Dynamic Architecture
This is quite similar to federated static
architecture except that all the available
integration servers work together as a single
integration sever to meet the application
integration needs of the connected applications.

Transactional Architecture
Transactional architecture is based on the
transactional model employed by the application
server and the transaction processing (TP)
monitors. This architecture provides integration
between applications through discreet atomic
transactions that are able to share and recycle
server resources.
Hub-and Spoke Architecture
Message brokers require that all the information
consumed from source applications is processed
within a single server, the hub. Message broker
processing is a mixture of a schema and content
transformation, rules processing message
splitting, message combining, as well as message
routing. Once the processing is complete, the
information is sent to any target system that
needs to receive that information using whatever
native format of the target application can
understand (for example XML, iDOC, Java
Messaging Service (JMS), proprietary and so
on).This architecture is preferred when there
needs to be access control over the information
being published. It forces the subscriber to
authenticate itself to the hub before it will
receive the message.
Leveraging a transaction middleware layer that’s
able to consume information for one or more
applications, process that information in the
boundaries of a transaction, and publish that
information to one or more target systems before
the transaction completes.
Figure 4: Integration Architecture

Peer to Peer Architecture
This architecture is much like the message
broker architecture but with one twist: there is no
central integration server. Instead the message
translation, routing, splitting, and combining
occurs at the source and target systems with in
little message brokers known as agents. The
While most application integration vendors offer
some business process automation capabilities
today, this technology is still in the early stages.

agents consume the information from the single
system they are connected to, process that
information and send it directly to any target
system(s) interested in receiving that information
(message). The end result is the virtual hub and
spoke type architecture with centralized rules
and business flow, but with most of the
processing occurring at the source and the target
systems [13].
8.
Next-Generation EAI
It is expected that EAI services market will
become the most important and fastest growing
IT sector in the next three to five years.
Revenues in this market are expected to jump
from $5billion in 2000 to nearly $21 billion in
2005 [15].

Continued focus on B2B
Application integration is something that needs
to occur both within and between companies.
Leading B2B integration vendors are looking to
expand their offerings to provide deeper
application integration capabilities within the
enterprise, while existing EAI vendors are
looking to retool to provide B2B-oriented
features such as partner management,
collaboration and support for long transactions.

Growing Interest in Process Automation
While most application integration technologies
are focussing on just connecting application A to
application B, interest in the use of process
models, or business process automation, within
application integration is growing. Process
model provides layer of abstract business
processes that define how applications work
together above the physical middlware layers.
Adapters Assuming a Key Role
Currently enterprise application interfaces
continue to be largely cryptic and proprietary.
While more open interfaces are in the application
roadmaps, application integration technology
providers will continue to focus on providing
adapters that abstract the user from having to
deal with native application interfaces. Moreover
there will be shift in the usage of adapter, from
static software components that simply pass
information to intelligent adapters that manage
application interaction, including information
and rules processing within the adapter.

Normalization of Standards
Currently, the application integration space too
many standards with XML, RoseettaNet,
ebXML and the OAG specification. Clearly, the
number of standards is confusing for the
integration architects, however, few of the
standards will have a great impact going forward
and will provide more flexibility and openness
down the road. For instance, XSLT (XML
Stylesheet Language Transformations) is clearly
the standard mechanism of choice for
transformation. There are tradeoffs, however,
XSLT, for instance, does not provide most of the
features found in proprietary transformation
engines. XML, being at its core a hierarchy of
simple text data with embedded metadata, does
not serve as an efficient message format.

Focus on Scalability
Most EAI and B2B problem domains-that is the
projects are still small. Moving forward,
application integration projects will grow to
exchange information and processes among more
than 100 systems, and then more than 1,00. The
problem, however, is that existing application
integration technology won’t provide that kind of
scalability. Future technology that leverages
architectural features such as distributed message
processing, resource pooling and support for
massively parallel processing. Leveraging these
proven architectures will bring the capacity of
many application integration systems to several
thousand messages per second.

Emergence of Hybrid Products
REFERENCES
It is clear that application server vendors are
looking to incorporate basic messaging
brokering capabilities in their application server
products. At the same time, message brokers are
looking to incorporate application server
features, including transactional application
development capabilities, imbedded object
request brokers and support for traditional
application server standards, such as Enterprise
JavaBeans [16].
6. Conclusion
The advantage of data-level EAI is its low
invasiveness. It provides a database view that’s
tightly integrated and easier to manage or
change. Initial tendency to solve all integrationrelated problems, however, is confronted with
considerable complexity and difficulty in case
such linking is attempted for large-scale systems.
Additionally, the systems integration may suffer
from the constraints in its applicability as the
process involves bypassing of validation logic
while affecting direct data transfer to the
databases, which may not be acceptable for all
application.
The message-level EAI approach allows
organizations to build a significantly more
responsive system compared to the data-level
EAI. This owes to the fact that messages
immediately follow the occurrence of business
events. Message-level EAI also preserves
validation and data transformation logic in the
applications, therefore leading to a safer
integrated system.
A process-level EAI approach requires
concentrating on internal processes and drives
the overall integration based on these processes,
automating business processes and helps
organization to built more agile and flexible
enterprise systems. It also improves the
flexibility of business processes within and
between organizations.
Every EAI problem domain is unique,
characterized by its unique requirements. There
is no single architecture that fits all scenarios.
Merits and demerits of each type of EAI
framework and the associated architecture need
to be carefully discerned before deciding on its
adoption under a specific environment.
[1] Puschmann, T., Alt R. Enterprise Application
Integration –The Case of Robert Bosch Group.
Proceedings of the 34th Hawaii International
Conference on System Sciences-2001.
[2] Longo, R, J. The ABCs of Enterprise
Application Integration. eAI Journal May 2001.
http://www.eaijournal.com
[3] Enterprise Application Integration Zero
Latency
Enterprise
white
paper:
CompaqNonStop TM Solutions Integrator
www.compaq.com.
[4] Talarian TM: Everything You need To know
about Middleware-A Guide to selecting A Real
Time Infrastructure.
http://www.talarian.com/industry/middleware/w
hitepaper.shtml.
[5] Geihs, K. Middleware Challenges Ahead
Computer, June 2001,pp. 24-30.
[6] Gao Raymond JMS A portable framework
fpr connecting the enterprise the enterprise. eAI
Journal may 2001 http://www.eaijournal.com
[7] Hildreth Sue Smart Adapters How new
Adapter technologies can provide a scalable,
more distributed architecture.
http://eai.ebiq.net/enterprise-integration.
[8] Linthicum.S, D. Application Servers and
EAI.eAI Journal July/August 2000
http://www.eaijournal.com.
[9] Lublinsky B. Achieving the Ultimate EAI
Implementation. Part 3: Data-Level Integration
eAI Journal February 2001.
http://www.eaijournal.com
[10] Lublinsky B. Achieving the Ultimate EAI
Implementation. Part 2:Message-level
Integration eAI Journal February 2001.
http://www.eaijournal.com
[11] Lublinsky B. Achieving the Ultimate EAI
Implementation. eAI Journal February 2001.
http://www.eaijournal.com
[12] Lutz, C. Jeffry. EAI Architecture Patterns
eAI Journal March 2000
http://www.eaijournal.com
[13] Linthicum, S, D Making EAI Scale
Intelligent EAI/ The Linthicum Report April
2001.
[14] Moragenthal, J., Laforge, L B. Enterprise
Application Integration with XML AND JAVA
Prentice Hall PTR (2001).
[15] EAI overview ITtoolbox
http://eai.ittoolbox.com/pub/eai_overview.htm
[16] Linthicum, S, D. Next-Generation EAI:
Eight Prophecies for 2001.
http://www eai.ebizq.net/str/linthicum_1.html.
Download