You are on page 1of 8

EAI

Architecture
Patterns
Enterprise Application Integration (EAI) is a rapidly growing seg-
ment in enterprise computing. Multiple forces are driving this
trend. Many of them center on rapidly changing business needs
JEFFREY
C. LUTZ
By
and opportunities driven by the Internet, merger/acquisitions, competition, regulation,
and deregulation. Increased attention on Customer Relationship Management (CRM) and
supply chain integration in many industries is driving the demand for intra- and inter-
enterprise system integration.
Mergers and acquisitions result in the daunting task of inte- the need to deliver more capabilities faster. Increasingly, busi-
grating once separate enterprise computing infrastructures. ness needs necessitate a high degree of application integra-
Many changes in the telecommunications industry, including tion. For example, implementing Web-based bill presentation
deregulation and new service offerings, are having a dramat- requires integrating a Web server with the billing application.
ic effect on the system environments at established and Automating manual processes often requires integrating mul-
emerging telecommunications service providers. tiple applications. Naturally, the IT professional seeks to buy
On the technical front, significant changes are also con- off-the-shelf, where appropriate, to meet business demands
tributing to the rise of EAI. Enterprise Resource Planning and ease the difficult task of application integration.
(ERP) systems have been added as core elements to the enter- In seeking tools to speed EAI development, the IT profes-
prise computing infrastructure. CRM systems are being devel- sional can find many possibilities from dozens of EAI tool
oped and installed to meet business demands. Application and application server vendors. Moreover, there are many cat-
servers are maturing as a tool for developing and deploying dis- egories of middleware and competing products in each cate-
tributed Web- and non-Web-based applications and services. gory. Another complication comes from the failure of many
Legacy application services and data are becoming compo- products to perform as advertised. The deck seems over-
nents, liberated from the confines of legacy, stovepipe applica- whelmingly stacked against the IT professional trying to meet
tions. Distributed computing middleware is continuing its push business expectations and needs.
into the enterprise on several fronts. This includes message-ori-
ented middleware, distributed objects, and remote data access EAI Architecture Patterns to the Rescue
middleware. Also, tools are emerging to address various types Architecture patterns are an important ally of the IT pro-
of EAI, including application integration, data integration, and fessional in the battle against integration complexity and con-
process automation. fusion. EAI architecture patterns provide an architectural
Frequently, confusion and anxiety reign in times of massive view of EAI and a solid technical foundation for successful
business and technical change. Rapid business change drives EAI. The patterns help IT professionals determine the best ap-

64 eAI Journal • March 2000


proaches and tools to cleanly solve integration problems. lished broker architecture pattern. The difference, however, is
Patterns have recently drawn considerable attention through that the broker is categorized as a specialization of the more
books, articles, and conferences on the subject. The following general integration messenger EAI architecture pattern.
excerpt from the book, Design Patterns: Elements of Reusable This article presents “architected” solutions, which are scal-
Object-Oriented Software, describes design patterns: able and changeable approaches that help to manage complex-
ity. EAI-centric problems can and often are addressed using
Design patterns capture solutions that have developed and brute force, point-to-point integration. While point-to-point
evolved over time. They reflect untold redesign and recoding solutions may make sense in limited cases, the approach is
as developers have struggled for greater reuse and flexibility dangerous and costly in the medium- and long-term for many
in the software. integration situations. Bottom-line costs to the business are the
inability to rapidly change and extend operations. Such costs
The EAI architecture patterns presented below also reflect inexorably lead to lost business and missed opportunities.
redesign as people have struggled for reuse and flexibility in A common characteristic of all EAI architecture patterns is
their systems. Both of those characteristics are crucial in an a high degree of decoupling — the property where the depen-
era of rapid change and short time lines. Only a flexible IT dencies between elements (i.e., applications) are minimized. A
integration infrastructure can keep pace with the rapid key benefit of decoupling at the architectural level is improved
changes many businesses are coping with. Patterns capture IT system flexibility. Proper decoupling lets developers
hard-won experience and seek to provide a convenient means change applications with minimal or no changes to dependent
to communicate that experience. applications. Decoupling helps to maintain the integrity of
Patterns solve recurring design and architecture problems integration-centric application architectures despite rapid busi-
(e.g., the need to automate processes that span multiple appli- ness and technical change. Ultimately, flexible, decoupled EAI
cations or provide a simple interface to back-end applications architectures translate into flexibility for the business.
and data sources). This article captures these recurring prob-
lem/solution pairs and presents them in a generally recogniz- Overview of EAI Architecture Patterns
able way. The intent is to help EAI developers overcome some Five EAI architecture patterns are presented:
common challenges.
The EAI architecture patterns below have been proved, • Integration adapter: converts an existing application inter-
often more than once, or have been partially or wholly sub- face to a desired interface
stantiated within tools available from vendors. Indeed, these • Integration messenger: describes an approach to minimize
patterns are a packaging and generalization of the designs and application communication dependencies between applica-
discoveries of many in the field. This article categorizes the tions
problem and solution space of EAI, and packages proven • Integration façade: provides a simplified interface to back-end
architectural approaches to EAI into patterns. applications, minimizing dependencies between client and
EAI architecture patterns focus on the overall structure of server applications
a system or application. In the book, A System of Patterns: • Integration mediator: encapsulates application interaction
Pattern-Oriented System Architecture, an architectural pattern logic, minimizing application dependencies
is defined as: • Process automator: describes an architectural approach
that minimizes dependencies between process automation
An architectural pattern expresses a fundamental structur- logic and applications.
al organization schema for software systems. It provides a set
of predefined subsystems, specifies their relationships, and Most of the patterns have multiple variations of the base
includes rules and guidelines for organizing the relationships pattern that extend the pattern in an important way. These
between them. variations are more than instances of the pattern. The varia-
tions are themselves general (although less general than the
Such is the definition of EAI architecture patterns. base pattern) in nature.
Notably, several of the architecture patterns (integration The EAI architecture patterns can be applied in two impor-
adapter, integration façade, and integration mediator) are con- tant contexts within IT. The first is at the enterprise integra-
ceptually close cousins of established design patterns. A key dif- tion architecture level. The purpose of enterprise integration
ference between the design patterns and architecture patterns, architecture is to bring order and consistency to the many EAI
however, is that architecture patterns specify the systemwide applications across the enterprise. The EAI architecture pat-
structural properties of an application and have an impact on the terns can serve as a framework for specifying EAI standards.
architecture of its subsystems. Design patterns have no such sys- The second context is within a given application. EAI patterns
temwide impacts. Design patterns are smaller in scale than are useful for specifying the architecture for a given integra-
architectural patterns. So, while the three architecture patterns tion-centric application.
listed above are conceptually similar in intent to an established
design pattern, there is value in representing these concepts at an Integration Adapter Pattern
architectural level. Doing so allows the pattern intent, problem It’s increasingly common for IT organizations to open up
context, and solution to differ — depending on the level and the services of legacy stovepipe applications to other applica-
context of the problem. tions. Business demands are driving much of this activity. For
Another point worth making is that one of the architectur- example, moving customer account inquiry services online
al patterns (integration messenger) is similar to the estab- requires access to account information previously locked up in

66 eAI Journal • March 2000


legacy customer account systems. The integration adapter pat-
tern describes a layered approach to exporting the services of
a non-integrated application to other applications. Once
exported, the services of the application become a reusable Client
Client
asset that can be much more effectively leveraged to meet Application
Application
business needs. BB
The integration adapter pattern provides a flexible Integration
Integration Server
Server
approach to exporting reusable application services. This Adapter
Adapter Application
Application
architectural pattern has the same motivation as the adapter Client
Client
Application
design pattern — to convert from a given (server) interface Application
BB
into an interface a client expects. An additional motivation of
the integration adapter architectural pattern (not explicitly
addressed in the adapter design pattern) is to provide a
reusable interface to multiple client applications.
Figure 1 shows the integration adapter pattern. The inte- Figure 1 — Integration Adapter Pattern
gration adapter pattern converts from a custom interface to an
open, reusable interface. Participants in this pattern are one or
more client applications, the integration adapter, and one
server application. The client applications invoke the services
of the server application through the adapter interface. The Wholesale
Client
Ordering
integration adapter converts the public Application Application
Application
A
Programming Interface (API) exported by the integration Customer
Application
Integration Account
Server
adapter to the API of the server application. The adapter does- Wrapper
Adapter Mgmt.
Application
n’t know the individual client applications exist. In a non- Online System
Client
intrusive adapter design, the server application doesn’t know Customer
Application
Account
of the adapter. In an intrusive adapter design, the server appli- B
System
cation is modified in some way.
The integration adapter pattern has two important special-
ties that are common in the enterprise — the application
wrapper and message broker adapter.
Figure 2— Application Wrapper for Customer Account Management
The application wrapper exports the services of an appli-
cation to other applications through a public interface.
In Figure 2, the application wrapper provides a clean, flex-
ible approach for exporting the services of a legacy system
(e.g., customer account management system). The wholesale
ordering application and online customer account system Message Broker- Server Application
accesses the customer account management system services to-Adapter Interface API
via the application wrapper.
The second variation of the integration adapter pattern, the
message broker adapter, is a close cousin of the application Message
Server Message Broker
Integration Server
Server
wrapper. The difference is that the public interface of a mes- Broker
Application Adapter
Adapter Application
Application
sage broker adapter is as defined by a message broker. A mes-
sage broker is an intelligent intermediary that directs the flow
of messages between applications, which become sources and
consumers of information.
Figure 3 shows the message broker adapter. A message bro- Figure 3 — Message Broker Adapter
ker commonly has many adapters for many types of systems. In
a message broker-based integration system, each message bro- supports the following communication models:
ker adapter must conform to the message-broker-to-adapter
interface. The message broker adapter, therefore, converts from • One-to-one synchronous (request/reply). This model
this message-broker-to-adapter interface to the server applica- involves a single client application and a single server appli-
tion API. Many EAI tool venders refer to the message broker cation, where the client blocks waiting for the server to
adapter as an “adapter” or “connector.” process the request.
• One-to-one asynchronous (message queuing). This model
Integration Messenger Pattern involves a single client and server application, where the client
The integration messenger pattern describes an architectur- does not block waiting for the server to process a request.
al approach to integrating applications where it’s unnecessary • One-to-many asynchronous (publish and subscribe). This
or impractical to decouple the application interaction logic model involves one client and one or more server (sub-
from the applications themselves. The key benefit is that com- scribing) applications.
munication dependencies between applications are minimal.
This yields a more flexible integration approach. This pattern While the communication models are varied, the intent is

eAI Journal • March 2000 67


the same in each case — to let applications communicate with
minimal communication dependencies. Figure 4 shows the
integration messenger pattern.
Participants in this pattern are the applications to be inte- Application Interaction Model
grated (applications A and B) and the integration messenger,
which is responsible for delivering messages between applica- Application
Integration
Application
tions and providing location transparency services. The inte- A
Messenger
B

gration messenger is a logical entity that’s typically distributed


at the physical level. The application interaction model refers
to the model the applications use to interact with one another.
Three of these application interaction models are:

• Remote method invocation


• Message queuing Figure 4 — Integration Messenger Pattern
• Publish/subscribe.

In this pattern, the applications themselves are fully


responsible for implementing the application interaction TCP Socket
logic. The integration messenger is completely unaware of the Online
Interface #1
application interaction semantics. Account
Web
Data
The integration messenger pattern has a specialization for Ordering
Server
Application
each interaction model: broker (remote method invocation),
message queuing, and publish and subscribe.
Internal
The broker specialization provides synchronous, one-to- Desktop Order
one communication between applications or components. Ordering Server
This pattern works for slightly more coupled application Application
TCP Socket
interaction such as intra-application and inter-component sce- Interface #2
narios. The broker pattern is commonly used in implementing
n-tier applications.
The message queuing specialization provides one-to-one Figure 5— Point-to-Point Integration
asynchronous communication between applications. Often,
message queuing provides guaranteed delivery services.
Publish and subscribe is a specialization of the integration TCP Socket
messenger that supports an asynchronous one-to-many com- Interface #1

munication model, where multiple subscriber applications


Online Interfaces
may subscribe to a single published event. Publish and sub- Web Remote Method Calls Integration
Account
Data
scribe is a highly decoupled communication architecture Ordering Adapter Server
Application
where the existence (not just location) of the interacting appli- Integration
Messenger
cations is hidden from one another. Internal (Broker)
Integration Order
The following shows an application of the broker specializa- Desktop
Ordering Adapter Server
tion of the integration messenger pattern. Suppose a company is Application

creating two client-ordering applications and both applications TCP Socket


require back-end account information and ordering services. Interface #2

The account information is maintained in the account data


server (a legacy mainframe application). The services of the
account data server have been exported to the world as a sock- Figure 6 — Integration With Integration Messenger
et-based interface with a custom application-messaging layer. custom interface protocol exported by the servers. That is, the
The order server provides the ordering services, which are client application must code to a socket interface and a custom
also available to client applications via a custom application application messaging protocol. In both cases, the client appli-
messaging protocol and sockets. cations are tightly coupled to the servers.
An online Web-ordering application lets customers order A more flexible approach is to apply the integration messen-
products themselves using a Web browser. This application ger pattern combined with the integration adapter pattern (see
interacts with both the account data server and order server. Figure 6). The integration adapters perform the conversion from
Customer service representatives use a Microsoft Common the account data server and the order server socket APIs to an
Object Model (COM) desktop application to submit customer interface the broker expects. The integration messenger inter-
sales orders. This application also requires the services of faces with each server integration adapter and serves as an inter-
both the account data server and ordering server. mediary between the client applications and server applications.
Figure 5 shows one approach to integrating the client appli- The broker severs some of the costly dependencies between
cations with the back-end services. This approach has disad- the client applications and servers. The client applications are
vantages. The client applications must know the location of the no longer coupled to the location of the servers, nor to server
back-end servers. Also, the client applications are bound to the application communication and low-level messaging proto-

68 eAI Journal • March 2000


cols. The result is a more flexible approach to integration.
Server
Integration Façade Pattern Server
Application
Application
The integration façade pattern describes an architectural Client
Client
AA
approach to integrating client applications with server appli- Application
Application
AA
cations. This architectural pattern has the same motivation as
Server
the façade design pattern, but this pattern provides a higher- Integration
Integration Server
Server
Application
Facade
Adapter Application
Application
level, simplified interface for client applications used to min- BB
Client
imize dependencies between client applications and server Client
Application
Application
applications. This provides flexibility and reusability of appli- BB
cation and application integration services. The integration Server
Server
Application
Application
façade pattern is shown in Figure 7. CC
The integration façade may be used to provide a simplified
interface to a single client application or to multiple client
applications. Participants in the integration façade pattern are Figure 7 — Integration Façade Pattern
one or more client applications, the integration façade and one
or more server applications. The client applications invoke the
simplified services of the integration façade. The integration
façade abstracts server functionality to make the server appli-
cations easier to use. The integration façade, therefore, trans- Voice
Voice
lates the integration façade interface to the server application Service
Availability
interfaces. The applications (subsystems) perform the actual Ordering
work, but the façade may have to do work of its own to trans- Application
late its interface to server application (subsystem) interfaces.
The interaction model of the façade pattern is one of client and Internet
server — that is, the interaction is unidirectional. In the inte- Access
Availability
gration façade pattern, the integration façade doesn’t know of
the existence of the individual client applications and the serv-
er applications are unaware of the integration façade.
The following example illustrates an application of the
integration façade pattern. A common situation in many Figure 8 — Point-to-Point Integration of Product Availability Systems
enterprises is that separate product lines have different sup-
port systems. Consider a full-service telecommunications ser-
vice provider. The company sells Internet access services as
well as voice services such as call waiting. Suppose the
Voice
Voice
Internet access support systems are largely package-based Ordering
Service
Application
and the voice service support systems are largely custom lega- Availability
cy systems. In that case, availability information for the two Integration
Integration
services will likely be housed in two different systems. A Facade
Adapter
Web-
request for availability information will access the voice ser-
Based Internet
vice inventory system or the Internet access inventory system. Ordering Access
An ordering application, which requires both voice service Application Availability
and Internet product availability, must access both availabili-
ty systems. One approach to integrating the ordering system
with the availability systems is illustrated in Figure 8.
As is the case with many point-to-point approaches to integra- Figure 9 — Product Inventory Integration Using an Integration Façade
tion, this approach has disadvantages. These include high applica-
tion coupling and the inability to share common logic (the integrat- between the ordering applications and the two availability
ed product availability logic is implemented in the ordering appli- resources. The integration façade implements the integrated
cation and is not available to other applications), both of which product availability logic and provides a simplified interface
reduce the flexibility of the business and system infrastructure. to the services of the two back-end systems.
For example, if a new application is added to the enterprise The integration façade pattern has two important special-
that needs an integrated view of product availability (e.g., a ties that are common in the enterprise. These are the business
Web-based ordering application), then the integrated product service façade and the activity service façade. The intent of a
availability logic must be repeated for the new application. business service façade is to decouple a client application
Worse still, if one or both of the availability systems should from the implementation of back-end services and to imple-
change, then all the applications that repeat the integrated ment a higher-level interface to back-end applications. Figure
product availability logic must change. 9 shows a business service façade used to provide integrated
A better approach to providing an integrated view of prod- product availability services.
uct availability is to use an integration façade (see Figure 9). The intent of the activity service façade pattern is to abstract
The figure shows the integration façade as an intermediary system interactions to the level of an activity (or task). The

70 eAI Journal • March 2000


activity service façade provides request-based services to a
process controller, which is part of the process automator pat-
tern (discussed later). A process controller is a program that Server
Application
Application
A
implements process activity sequencing logic. The interface A
published by the activity service façade conforms to the activ-
ity interface defined and required by the process controller.
The power of the activity abstraction is that the process con- Integration Server
Server
Application
Mediator Application
troller is completely decoupled from the implementation of Application
B
B
supplier applications that implement process activities. As a
result, the process controller will be unaffected by minor or
major changes to the supplier applications. Server
Application
Application
C
Integration Mediator Pattern C

The integration mediator pattern describes an architectural


approach to integrating applications where application inter- Figure 10 —Integration Mediator pattern
action logic is encapsulated and decoupled from the partici-
pating applications. The key benefits:

• Application dependencies and disruptions to existing appli-


cations are minimized. Online
• Maintenance is simplified as the application interaction Ordering
System
logic is centralized rather than distributed among the par- Wireless
ticipating applications. Service
Provisioning
• Reusable services can be conveniently built around the Legacy System
encapsulated application interaction logic. Ordering
System
These benefits provide a more flexible approach to inte-
gration and improve business agility.
In contrast to the integration messenger described previous-
ly, the integration mediator is application aware. The integra-
tion mediator pattern is shown in Figure 10. It consists of the Figure 11—Product ID Mapping Using Point-to-Point Integration
integration mediator and participating (colleague) applications.
The integration mediator contains the application interaction
logic. The colleague applications interact directly with the inte-
gration mediator, rather than with other colleague applications.
Online
The following example illustrates application of the inte- Ordering
gration mediator pattern. Suppose a telecommunications ser- System
Wireless
vice provider of voice services acquires a wireless telecom- Integration Service
munications service provider. The voice services provider has Mediator Provisioning
Legacy System
a Web-based, order-entry system for customer online ordering Ordering
and one legacy ordering system used by sales consultants. System
Similarly, the wireless service provider has its own ordering
systems as well as its own service provisioning systems (used
to activate and enable wireless services). Suppose the business
decides to add wireless service ordering capabilities to the
existing voice service ordering systems (the Web-based, order- Figure 12 — Product ID Mapping With an Integration Mediator
entry system and the legacy ordering system), thus providing
integrated ordering services to the ordering system users. systems is to use an integration mediator.
One element of this integration effort is to integrate the two In Figure 12, the integration mediator is used to centralize
voice service ordering systems with the wireless service pro- and encapsulate the common product ID mapping logic and to
visioning system. Part of the integration challenge is to map decouple the mapping logic from the two ordering systems.
product IDs from the online and legacy ordering systems to the Centralization of the mapping function simplifies product ID
product IDs used by the wireless service provisioning system. mapping logic development and maintenance. Decoupling the
One approach to integrating the systems is shown in Figure 11. mapping logic from the ordering systems reduces coupling
This approach has disadvantages; one is that the mapping between the ordering systems and provisioning system. This
of product IDs between the ordering systems and provisioning allows systems to change independently of one another, thus
system is replicated in both the ordering systems. improving overall business and system flexibility.
Additionally, the ordering systems are tightly coupled to the There are several degrees of interaction that can be managed
wireless service provisioning system. If the wireless service and controlled by an integration mediator. They can be broadly
provisioning system changes, both the ordering systems may grouped into stateless approaches and stateful approaches.
be substantially impacted. A better approach to integrating the A stateless integration mediator is used when the logic per-

eAI Journal • March 2000 71


formed by the integration mediator does not depend on the
state of the interaction between the applications. That is, the
integration mediator’s response to receiving a message (or Process Controller
event) from an application depends solely on the message con-
tent. The response is completely independent of all previous
application interaction instances. There’s no need for applica-
tion interaction state management and state persistence for
stateless interaction scenarios. Stateless scenarios include
message content transformation (an example is product ID Activity Activity
mapping) and intelligent routing. Service X Service Y

Message content transformations refer to translating from


one message format to another message format. The transfor-
mations may be of the syntactic or semantic variety. A syn-
tactic transformation refers to changing the message form. An
Application Application
example is changing a date format or changing from mixed A B
case characters to upper case characters. A semantic transfor-
mation is a transformation based on the message data value.
An example is cross-referencing a product code from system
Figure 13 — Process Automator Pattern
A to the product code used in system B.
Intelligent routing refers to controlling the message desti- ment, deployment and runtime facilities are necessary.
nation(s). The routing decision can be based on the message
content, source (system) or type, among other possibilities. Process Automator Pattern
An example of intelligent routing is to route all provisioning The process automator pattern describes an architectural
messages for a data product to the data product provisioning approach to minimizing dependencies between process
system and all provisioning messages for wireless products to automation control logic and Information Technology (IT) sys-
the wireless product provisioning system. tems whereby all system interactions (and people interactions)
A stateful integration mediator is used when the interaction are hidden from the process controller via activity abstractions.
logic performed by the integration mediator depends on previ- The key benefits:
ous application interactions. A stateful interaction scenario is
when the integration mediator accumulates events and sends a • Powerful process automation solutions can be implemented
message to a destination application when some event accumu- economically.
lation condition is met, such as receiving an event sequence • The architecture enables unprecedented analysis of busi-
complete. Stateful interaction scenarios require state manage- ness processes (e.g., process bottlenecks, statistics, error
ment and often require state persistence. State persistence is fallout, resource utilization, etc.).
needed to maintain the integrity of application interactions in the • The architecture enables unprecedented flexibility in redefin-
face of integration mediator system failures and for long-run- ing and rapidly deploying process automation applications.
ning interactions that must span system shutdown situations. • The process automation application implementation is close-
Stateful interaction scenarios can sometimes be highly complex; ly aligned with the business manager’s view. The semantic
the interactions may span minutes, hours or days, may involve gap between the business view of the world and that of IT is
many states and events and may involve many applications. significantly reduced. This minimizes the chance for errors
Support for such complex interactions requires the ability to per- in translating from a business need to an IT solution.
sist the interaction state. Additionally, sophisticated develop- • As with the integration façade and the integration mediator

Glossary of Key Terms

Term Definition
Publish and Subscribe A style of inter-application communications. Publishers can broadcast data to a communi-
ty of users or subscribers. An application or user can be both a publisher and subscriber.
Message Broker An intelligent intermediary that directs the flow of messages between applications, which
become sources and consumers of information. Message brokers provide a flexible com-
munications backbone and provide such services as data transformation, message routing
and message warehousing.
Message Queuing A form of communication between programs. Application data is combined with a head-
er (information about the data) to form a message. Messages are stored in queues, which
can be buffered or persistent. It’s an asynchronous communications style and provides a
loosely coupled exchange across multiple operating systems.
Source: www.messagequeue.com/glossary

72 eAI Journal • March 2000


pattern, application integration logic is
encapsulated and can be shared.
Interval
Timer Activity 5
Ultimately, the process automator
pattern improves business flexibility by
providing a flexible architecture for sys-
Start Stop
tem integration based on business
process automation.
The business driver for this pattern is
the need to improve the quality of the
output of a business process, reduce Activity 2
process execution costs and/or reduce
cycle time. There are countless processes
Activity 1 Activity 4
repeatedly performed daily. This pattern
automates sequencing of the activities in
a process. The result is improved output Activity 3
quality, reduced execution costs and Process Context
faster cycle time. – Process Attribute 1
The core of this pattern is sequencing – Process Attribute 2
and control of activities, which can be Figure 14 — Process Definition
automated or manual. For example, a
“product sale to customer” process
could have the following automated and
Conclusion • Robust EAI architectures can be cre-
manual activities: assess customer We’ve reviewed five key EAI architec- ated quickly by selecting an architec-
needs, select, price and configure prod- ture patterns. All the patterns share the ture from among proven EAI architec-
uct(s), check product availability, per- goal of decoupling applications. The pat- tures described in the EAI architec-
form credit check, ship the product(s) terns differ, however, in the level at which ture patterns.
and invoice the customer. Figure 13 decoupling occurs. The integration adap- • EAI architecture patterns can provide
shows the process automator pattern. ter decouples at the interface level, the a framework for evaluating the fit of a
Figure 13 shows the process con- integration messenger at the communica- tool and vendor for a given EAI prob-
troller, two activity services (see the tion level. Both the integration façade and lem and to identify tool strengths and
activity service façade variation of the integration mediator decouple at the weaknesses.
integration façade pattern discussed pre- application level. Proper decoupling at • EAI architecture patterns can serve as
viously) under its control and two activ- the architectural level is essential for a framework for establishing EAI
ity service façade supplier applications robust, flexible EAI solutions. standards in the enterprise.
(A and B). The process controller exe- The intent of each pattern is as follows:
cutes a process definition that corre- In summary, EAI architecture pat-
sponds to the process to be automated. • Use the integration adapter to convert terns provide a solid technical founda-
The activity services perform a neces- an existing application interface to a tion that significantly reduces the com-
sary task in the process definition. The desired interface. plexities and risks inherent in EAI. eAI
activity service façades provide a simpli- • Use the integration messenger to
fied and uniform interface to the ser- minimize communication dependen-
vices provided by applications A and B. cies between applications. About the Author
The process controller is decoupled • Use the integration façade to provide a Jeffrey C. Lutz is
from the API of applications A and B. simplified interface to back-end appli- a principal consult-
Some common constructs of a cations, minimizing dependencies ant at Denver-based
process definition are activities, timers between client and server applications. BoldTech Systems, a
and process context information. Figure • Use the integration mediator to encap- leading telecommun-
14 shows a generic view of a process sulate application interaction logic, ications Enterprise
definition. As Figure 14 shows, the minimizing application dependencies. Application Integra-
process definition is centered on activi- • Use the process automator to mini- tion (EAI) and e-
ties. Activity 1 is followed by two paral- mize dependencies between process commerce consult-
lel activities — 2 and 3. Activity 4 is automation logic and IT systems. ing firm. He has over 13 years of system
triggered by completion of 2 and 3. The design and development experience in the
interval timer is a timer started by activ- EAI architecture patterns can be a telecommunications industry and extensive
ity 1 and stopped by activity 4. If the powerful ally to EAI development orga- experience in distributed systems develop-
interval timer expires prior to activity 4 nizations in the battle against enterprise ment. He has successfully architected and
stopping the activity, activity 5 runs. application integration complexity. EAI implemented a wide variety of EAI and e-
The process context contains informa- architecture patterns help reduce inte- commerce solutions for multiple telecommu-
tion particular to an execution instance gration complexity and improve the nication firms. E-mail: jlutz@boldtech.com;
of the process definition. chances for success in several ways: Website: www.boldtech.com.

eAI Journal • March 2000 73

You might also like