Professional Documents
Culture Documents
Modeling EAI (Enterprise Application Integration) : February 2002
Modeling EAI (Enterprise Application Integration) : February 2002
Modeling EAI (Enterprise Application Integration) : February 2002
net/publication/4000964
CITATIONS READS
11 1,874
3 authors:
Marzio Pérez
University Cesar Vallejo
59 PUBLICATIONS 201 CITATIONS
SEE PROFILE
Some of the authors of this publication are also working on these related projects:
MODELO DE PROCESO PARA LA INGENIERÍA DE REQUISITOS ORIENTADA A ASPECTOS: UNA APLICACIÓN A SISTEMAS FIABLES View project
All content following this page was uploaded by Francisca Losavio on 29 May 2014.
*
Enterprise Application Integration
†
Co-financed by FONACIT through the S1-2001000792
1
architectural styles/patterns for EAI and the Brown’s Conceptual Model of
specification of a quality model for integrated Integration
enterprise systems. Brown [2] proposes a conceptual model, or three-tier
framework corresponding to different abstraction
This paper is structured as follows, besides this levels, to describe the integration of the tools
introduction and the conclusion: Section 2 constituting a CASE environment. The resulting
presents a brief survey on the antecedents of environment is called a federative environment or a
software application integration, focusing on the tools federation. In this model, the process is
Brown’s model. Section 3 describes aspects of included as the abstract notion used to configure the
EAI, in particular the backward, forward and integrated CASE. The system must be customized to
upward integration views, which will be used to an organizational process. Three abstraction levels
“extend” the Brown’s Model. Finally, Section 4 are distinguished (see Figure 1). The central level
discusses in details the extension of the Brown’s contains the services (functionality of the CASE
Model. Each integration view is related with the environment) offered to the final users. Integration at
process, services and mechanisms levels this level means to define the relation between the
proposed by Brown. services of version control and data management.
The third level contains the mechanisms used to
2. Antecedents: Integrated implement the services. It contains the baseline
CASE Environments architecture for the environment and the
The integrated CASE environment approach is technological constraints required to connect the
briefly illustrated by the integration mechanisms components (tools) implementing the services. The
proposed by Brown, Wasserman, y Thomas y first and more abstract level corresponds to the
Nejmeh. Finally the BCMI is discussed. CASE organizational process providing guidelines (goals in
is an approach aiming to increase the software terms of steps and tasks, constraints) to select the
engineering process effectiveness through the services offered by the CASE system. The relation
automated support to all the software between the service level and the mechanism level is
engineering activities [15]. CASE technology an implementation relation. A service can be
has evolved into the Integrated CASE Support implemented by several mechanisms. The relation
Environments (ICSE) [12], offering an between the process and service levels is an
integration framework independent from the adaptation relation. The process constitutes a set of
platform (operating system and hardware). The guidelines and constraints that are used to combine
information is made available to the users or select the services in order to satisfy a particular
(humans and tools) through a unique data format, functionality for the final user. The separation of the
which is the integration unifying concept, such level where the components relations are
as the Unix file system, a shared data base or a implemented, from the level where the services are
common semantics [4]. The following provided is crucial. However, the description at the
integration mechanisms have been identified: process level where the environment will operate, is
equally important.
• Integration as a set of attributes.
Wasserman [25] proposes five dimensions PROCESS
Goals Constraints
platform, presentation, data, control and Steps
Tasks Politics Schedule
process.
• Integration as a relation. Thomas y Nejmeh
[22] extend Wasserman’s analysis with the Adaptation
specifications of the properties that must be
satisfied by the relations used for tools SERVICES
Engineering Management
integration Design Code Estimations Planning
• Integration based on repository. Brown [2],
on the basis of the Wasserman’s approach, Implementation
improves the definition of the data dimension
MECHANISMS
defining more deeply the repositories, such as Technology
Architecture Client/
storage, persistence, data models, rules on the PCTE X
Database Server RDBMS
data operations and integrity.
Table 1 shows the integration dimensions and
Figure 1. Brown’s Conceptual Model of Integration
mechanisms discussed above, for each approach.
[2]
2
[17], to allow software integration in an incremental
The following sections are devoted to discuss the way: Backward, Forward and Upward. The
extension of this model with the main concepts Backward Integration (BI) refers to the integration of
of the EAI approach. the internal organizational processes. The Forward
Integration (FI) refers to the integration of those
3. The EAI Approach organizational processes related to entities which are
As we have already appreciated, the integration external to the organization, such as clients, partners
problem has not been entirely resolved and the and suppliers. The Upward Integration (UI) means
software application integration is a very the integration of those organizational processes
expansive process in terms of human and related to decision making. These three views will
technological efforts. However, the importance drive the extension of the BCMI, in the sense that
of integrating applications is nowadays a main each model tier will be refined using the three EAI
concern of the software community. The integration views. The next section presents this
CORBA framework of the Object Management approach.
Group is only an example [24], [11]. By far, the
largest intangible benefit to enterprise integration 4. Extension of BCMI with the EAI
is the recent improved availability of information Views
that is widely available throughout the The extension of the BCMI is proposed according to
organization using integrated IS and network a top-down refinement of each one of the process,
communication facilities and the establishment service and mechanism tiers of the Brown’s
of enterprise-wide standards for information framework with the BI, FI and UI views.
resources [17].
3
iii. Upward Integration In this view, the ERP framework is presented as a
This view is constituted by those processes significant example, with the corresponding
integrating vertically the organization. It is implementations. The integration of the internal
concerned with management decision making, organizational processes with the respective
planning and extend SCM [17]. Table 2 shows application supporting them is then achieved. If
the processes (goals) and examples of sub- SCM is automated, obviously it cannot be extended.
processes for each process [13] in the three It is important to point out that the implementations
views BI, FI, UI, extending the Process Level of of the SCM are considered instances of the ERP
BCMI (see Figure 1). framework, which is also an ES framework.
Moreover, ES represents the integrated IS.
The service level
In what follows, the extension of the BCMI is ii. Forward Integration
presented at Service Level, with the three The scope of ES has to be extended towards the
integration views. Table 3 shows the engineering clients in order to obtain an integrated extended
and management services, expressed in terms of supply chain. This may be achieved using Database
the computing systems implementing the technology (DataMarts, Data Warehouse, Data
processes shown in Table 2. Mining), the Customer Relationship Management
(CRM) and the Customer Experience Management
i. Backward Integration (CEM), with their respective implementations.
4
iii. Upward Integration required to build the EAI framework constitutes a
This view is characterized by the Executive quality model for ES applications [9].
Information System (EIS). They support
managers in decision making and in the According to [17], EAI is defined as the process to
communications of these decisions to the integrate ES with existing applications, such as ERP,
corresponding responsible persons. maintenance management, inventory management
and cost-accounting systems, including web-based
The components proposed by Brown interfaces and middleware components to achieve
(engineering and management) for the service integration. EAI is associated with system
level do not fit into the classification of systems integration within a business entity. However, it can
adopted here, which is based on the also be associated to enterprise systems of different
technological evolution of the IS (example: corporations, called Business to Business (B2B) and
legacy systems based on languages, B2C systems different clients, called Business to Consumer (B2C)
based on platform client/server based on layers). [8], [7].
Table 3 summarizes the above discussion. The basic notions about software architecture can be
Services are presented in terms of the typical IS seen in [19]. The architecture term conveys several
supporting the processes, according to the meanings, sometimes contradictory. Architecture is
respective integration view. Among the modules considered here as the structure of the components of
of the CRM systems, the Sales Force a system, their interrelationships and guidelines
Automation (SFA) is taken as an example. The governing their design and evolution over time. The
workflow systems are considered among the architectural model of a system provides a high level
collaborative systems. syntactic and semantic description that enables
compositional design and analysis of component-
The Mechanism Level based systems. The architecture becomes the basis of
According to Brown, two types of components systematic development and evolution of software
are taken into account at this level: architecture systems [16], in particular, this applies to EAI
and technology. Hence, a brief survey on applications. The description of the architecture is
software architecture and information technology composed of identifiable components of various
used for integration will be given before types. Components interact in identifiable distinct
presenting the extension of the mechanism level. ways. Connectors mediate interactions among
components, they establish the rules that govern
components interaction and specify any particular
i. Architecture mechanism required. Components and connectors
An architecture (components and connectors have interfaces. A component’s interface is defined
with a behavior [19]) is the main mechanism as a set of ports, which determines the component’s
required in order to articulate the services points of interaction. A connector’s interface is
supporting the organizational processes, defined as a set of roles, which identifies the
according to BCMI. The architecture is the participants of an interaction. A configuration
baseline on which services are branched. The defines topologies of components and connectors.
services correspond to the ES functionality, such The architecture is composed also of other
as the SCM and ERP implementations. The constituents: constraint, style [19], pattern [3] and
activities (tasks and constraints) required by the rationale. In particular, an architectural style defines
organizational processes (goals) are then a family of software systems meeting the
satisfied (see Tables 2 and 3). Moreover, Brown requirements imposed by the architectural definition
considers technological constraints, which may given above.
affect the proposed architecture.
5
Level Integration views
Backward Forward Upward
Services • CASE tools • CRM (Customer • EIS (Executive
• Legacy Systems Relationship Management) Information Systems)
• TPS (Transaction Processing
systems • ESS (Executive
Systems) • CEM (Customer Experience Support Systems)
• ERP (Enterprise Resource
Management) systems • MIS (Management
Planning ) • B2C (Business to Consumer) Information Systems)
systems • DSS (Decision
• B2B (Business to Business) Support Systems)
systems • KMS (Knowledge
Management Systems)
Table 3. Extension of the service level of the BCMI with the services supported by the internal, external
and management organizational processes.
The architectural styles considered here for EAI reflecting the actual state and an independent set
will be briefly introduced, in order to abridge of components operating on the central memory.
this presentation. The details can be seen in [3] In general, components only communicate
and [19], however we have given the quality through the central memory. Examples are many
characteristic favored by each style and pattern, integrated support environments. There are also
taking the ISO 9126-1 definition [9], in order to middleware-based repository [1]. It favors
illustrate the nonfunctional requirements that the maintainability (changeability) and reliability
final system built with the style should meet. (fault-tolerance).
• Event-based and implicit invocation. Notice that ISO 9126-1 [9] gives the following
Components are modules whose interfaces definitions for the quality characteristics mentioned
provide procedures and events. The above: Adaptability is the capability of the software
procedure invocation for handling the event product to be adapted to different specified
is the connector. When an event is environments using only its own functionality. This
generated, the event generator mechanism property indicats also a type of reuse. Changeability
does not know the event handler (the is the capability of the software product to enable a
component’s module affected by it). specified modification to be implemented. It includes
Middleware applications [20] deal with the properties usually known as extensibility and
event-based systems, in particular, with flexibility. Interoperability is the capability of the
distributed evolutionary applications. software product to interact with on or more
Examples are process control systems and specified systems. It can be used in place of
stock tracking. It mostly favors the compatibility. Fault-tolerance is the capability of the
maintainability (changeability), portability software product to maintain a specified level of
(reuse, in terms of adaptability) and performance in case of software fault or of
functionality (interoperability) quality infringement of its specified interface. It is used here
characteristics. mostly for robustness.
• Layers. The components are the layers
hierarchically organized. Each layer offers However, the majority of software systems use a
services to the immediate superior layer and combination of styles. A style is always placed at a
it is client of the immediate inferior layer. high abstraction level. Architectural patterns are
Connectors are defined by the protocols placed at a lower abstraction level according to [3].
specifying the interaction between the A style may be composed of architectural patterns. In
layers. Examples are the TCP/IP protocols, turn, architectural patterns may be composed of
operating systems, some programming design patterns. In what follows, the more interesting
support environments, interactive systems, architectural patterns and design patterns [3], [18]
IS and database systems. It mostly favors that can be used to structure EAI applications, will
maintainability (changeability) and be presented. They are broadly grouped in three
portability (adaptability) quality categories, according to their main usage.
characteristics. Notice that the client/server
architecture is a variant of the layers style. Distributed systems
• Repository. It has two types of components: • Broker: can be used to structure distributed
a central data structure or central memory applications with decoupled components that
6
interact by remote service invocations. The • Interceptor: allows services to be added
components are broker, client, server, proxy transparently to a framework and triggered
and bridge. Examples are CORBA and its automatically when certain events occur.
implementations [24], e-commerce Variants of this pattern are Chain-of-
applications. It favors modifiability responsibility, Publisher/subscriber and
(changeability), portability (adaptability) Subject/observer. Components: context,
and functionality (interoperability) concrete framework dispatcher, application,
interceptor, concrete interceptor. Examples:
Adaptable and configurable systems Component-based application servers, CORBA
• Microkernel: it applies to systems that implementations (COM), Web browsers,
must be able to adapt to changing systems reflective ORB. It favors modifiability
requirements. The components are: (changeability).
microkernel, external and internal server, • Extension Interface: allows multiple interfaces
adapter, client. An example is Windows NT. to be exported by a component to prevent
It favors maintainability (changeability) and bloating of interfaces and breaking of client
portability (adaptability). code when developers extend or modify the
• Reflection: it provides a mechanism for functionality of the component. Components:
observing a component’s state for changing root interface, extension interface, component,
structure and behavior of software systems component factory, client. Examples are
dynamically. The components are basically CORBA implementations such as COM/COM+,
two levels: a metalevel providing CCM, Enterprise Java Beans (EJB). It favors
information about selected systems modifiability (changeability).
properties. A base level with the application
logic. Its implementation builds on the Notice that Interceptor and Extension Interface
metalevel. Connectors are the protocol can use the Component configurator pattern to
communicating the levels. Examples are re(configure) various service roles into
CLOS [10] and Java [24]. It favors components in application processes without
maintainability (changeabilty) and having to shut down and restart running
portability (adaptability). application processes
• Wrapper Façade: encapsulates the
functions and data provided by existing non- Interactive systems
object-oriented APIs within more concise, • MVC, PAC: for interactive systems to separate
robust, portable and maintainable and concerns, presentation aspects from the
cohesive object-oriented class interfaces. semantics of application. The Model, View,
Components: application, Wrapper Façade, Controller (MVC) pattern is also known as
API Functions. Examples: Java Virtual Subject/Observer or Publisher/Subscriber. The
Machine, Java class libraries (AWT, Swing), Presentation, Abstraction, Control (PAC)
Microsoft Foundation Classes (MFC). It pattern is represented by the Mediator pattern.
favor maintainability, portability and The components are colleagues that
reliability (fault-tolerance). communicate between each other through a
• Component Configurator: allows an distinguished colleague (intermediary). The
application to link and unlink its main difference between MVC and PAC is that,
components implementations at run-time in PAC, colleagues only communicate through
without having to modify, recompile or the Control and not directly to the Model as in
statically relink the application. It supports MVC. Examples are interactive systems with
reconfiguration of components into different graphic user interface. It favors modifiability
application processes without having to shut (changeability).
down and re-start running processes.
Components: component reconfigurator, Notice that the above architectural patterns belong
component repository, component, concrete basically to the layers style. They can be modified
component. Examples: Windows NT (reused or extended) and adapted to different
service control manager, Java applets, contexts, to support interoperability for the
reflective ORB. It favors maintainability integration of software applications. For example, to
(modularity for testability) and portability define the architecture of a client/server application
(adaptability). based on distributed, flexible and evolutionary
components, with an adaptable and extensible user
7
interface, all the above architectural and design communication protocols like TCP/IP [20]),
patterns can be found in the commercial Graphical User Interface, groupware and
available software components that will be used multimedia.
to design the application. • Database technology: it uses hardware and
software, being conformed by the data
On the basis of the analysis of the architectural storage/retrieval and the software controlling the
and design patterns involved in the EAI data organization on the physical components.
framework, a possible ES quality model can be Examples: Data Warehouse, Data Mining, Data
formulated, selecting the common characteristics Mart, etc. Some less traditional techniques for
present: maintainability (changeability, knowledge capture are genetic algorithms,
modularity), portability (adaptability), neural networks, fuzzy logic, intelligent agents.
functionality (interoperability) and reliability
• Communication technology: it uses hardware
(fault-tolerance).
and software, including the network physical
equipments and the software, to transfer data
In consequence, ES built following the EAI
from one physical location to another different
framework should meet the required
physical location. Examples are Internet,
characteristics listed in the quality model, in
intranet, extranet. The network connection
order to be considered “quality systems”. An ES
(LAN, WAN) to the computers and the
should then be reusable, modular, adaptable
communication equipment required to share
and interoperable. Moreover in cases of critical
usual data and multimedia data, is performed
real-time systems, fault-tolerance is also
through different media (telephone, wireless
required. Notice that a middleware application
technology like cellular phone, microwave,
also fulfill this quality model, since it is built
satellite, WAP). With respect to the
using the above architectural patterns.
communication applications, it can be
mentioned: fax, HTML, XML, Electronic Data
Continuing with the extension of the BCMI, the
Interchange (EDI), EDI based Internet,
technology related with the mechanisms used to
Electronic Fund Transfer (EFT), groupware,
implement the services supporting the
workflow and e-mail.
organizational process will be described in what
follows. • Human resources: they are required to operate
the above technologies.
ii. Technology
Information Technology (IT) is defined as a set The Mechanism Level of the BMCI with the three
of resources available to manage changes and integration views is discussed below.
give support to people in the development of the
activities related to an organization [5], [6], [11], i. Backward Integration
[14], [17]. The following resources are The database and communication technologies are
considered: mostly related with middleware applications, which
are used to integrate the applications implementing
• Hardware: it is constituted by the physical the internal services in the BI view (see Table 3).
components of the computer equipment used
GUI software is also used.
for the following activities: data input
(keyboard, mouse, monitor, multimedia
ii. Forward Integration
facility, etc.), data processing (Central
The same argument used for BI applies for FI.
Processing Unit) and data output (monitor,
printer, multimedia facility, etc.).
iii. Upward Integration
• Software: it corresponds to the The same argument used for BI applies for UI.
programming instructions controlling and
coordinating the hardware components or Moreover, notice that all the architectural styles and
computing applications. Examples: patterns discussed for EAI can be applied indistinctly
middleware applications (defined as an to the three views. Now at this level, middleware
intermediary layer allowing interoperability software on one hand uses the proposed architectural
of different software applications through patterns for EAI, fulfilling the required quality
the network). It provides services such as characteristics. On the other hand, it uses database
data exchange, identification, authorization, and communication technologies. GUI and
directories and security. They use multimedia facility software uses event-based style,
8
and pattern based on decoupling, favoring Mechanism Level, since it is the lowest abstraction
changeability. In consequence, they are natural level, holds the general styles and mechanisms which
mechanisms to be used to integrate ES, will be used to implement all the services
according to the EAI framework [11]. So, the corresponding to the three views of EAI.
three views have the same mechanisms. In
consequence, the BI, FI and UI views are not 5. Conclusion
relevant at the BCMI Mechanism Level. Table 4 This work takes the integrated CASE technology as
summarizes these results. the basis to model and unify the recent EAI
approach. The Brown’s Conceptual Model of
Level Components EAI Integration is extended with the EAI views of
Mechanism Architecture • Styles: integration. Brown’s three abstraction levels of
Layers, repository, event-
based, implicit invocation
Process, Service and Mechanism are customized to
• Patterns: the EAI organizational processes, services
distributed, adaptable, supporting the processes and mechanisms to
interactive and reconfigurable implement the services. This model is also used to
Technology • Hardware structure and unify EAI terminology. Moreover,
• Software: architectural styles and patterns for EAI applications
middleware, GUI and are identified, with the corresponding quality
multimedia facility requirements. This allows the definition of a standard
• Database technology quality model, in the sense of ISO 9126-1, specifying
• Communication the quality characteristics that an integrated
technology
enterprise system should hold. The more formal
Table 4. Mechanism Level of the BCMI for EAI
specification of an integration model for software
applications is an ongoing research.
Figure 2 shows the BCMI (see Figure 1)
extended with the EAI views. Notice that the
PROCESS PROCESS
PROCESS
Manufacturing Telemarketing
Sales and Human Web Retail Sales
resources sales Production management Applicant
marketing Financial and sales Customer planning Financial tracking
Accounting service
report
Adaptation
SERVICES SERVICES SERVICES MIS
Legacy TPS B2B CRM ESS
Systems ERP CEM EIS KMS
B2C DSS
Implementation
MECHANISMS
Broker MVC
Microkernel Reflection
References [2] Brown A., Carnery D., Morris E., Smith D.,
[1] Blair G., Blair L., Issarny V., Tuma P., Zarrella P. "Principles of Case Tool
Zarras A. "The Role of Software Integration". Software Engineering Institute,
Architecture in Constraining Adaptation in Oxford University Press, 1994.
Component-Based Middleware Platforms". [3] Buschmann F., Meunier R.;,Rohnert H., Peter
IFIP/ACM International Conference on S., Michael S. "A System of Patterns". John
Distributed Systems Platforms. Wiley & Sons Ltd. 1996.
Proceedings. Lecture Notes in Computer [4] Chen M., Norman R. "A Framework for
Science. New York, NY, USA. April 2000. Integrated CASE". IEEE Software, March,
1992.
9
[5] Collins E. "Charting the impacts of [17] Sandoe K., Corbitt G., Boykin R. "Enterprise
Information Technology". Division of Integration". California State University, Chico.
Science Resources Studies National John Wiley & Sons, Inc.2001.
Science Foundation. Presented at the [18] Schmidt D., Stal M., Rhonert H., Buschmann F.
“Workshop on Science, Engineering and “Pattern-Oriented Software Architecture”, Vol.
Quality of life: Research outcome Models. 2, John Wiley & Sons, Ltd., 2001.
12-14 Dec 1997. [19] Shaw M., Garlan D. "Software Architecture -
http://www.nsf.gov/sbe/srs/infotech/chartin Perspectives on an Emerging Discipline".
g/htmstart.htm Prentice Hall. 1996.
[6] Gupta U. "Information Systems. Success in [20] Slater D. "Middleware demystified". Special
the 21st Century". Prentice Hall. 2000. report. CIO Magazine. May 15, 2000.
[7] ILUMA Technologies, Inc. Copyright © http://www.cio.com/archive/051500_middle.ht
2001. "Enterprise Application Integration ml
(EAI)". [21] Themistocleous M., Irani Z. "Evaluating
http://www.iluma.com/solutions_eai.asp Application Integration: an Exploratory Case
[8] Information Technology Toolbox, Inc. Study". Seventh Americas Conference on
Copyright © 1998-2002. "EAI overview". Information Systems. 2001.
http://eai.ittoolbox.com/browse.asp?c=EAI [22] Thomas I., Nejmeh B. "Definitions of Tool
PeerPublishing&r=%2Fpub%2Feai%5Fove Integration for Environments". IEEE Software.
rview%2Ehtm March, 1992
[9] ISO/IEC, 1998. FCD 9126-1.2: Information [23] Turban E., Rainer K., Potter R. "Introduction to
Technology - Software Product Quality. Information Technology". John Wiley & Sons,
Part 1: Quality Model. Inc. 2001.
[10] Keene S. E. "Object-Oriented Programming [24] Wallnau K., Foreman J. "Object Request
in Common Lisp – A Programmer’s Guide Broker". Carnegie Mellon Software
to CLOS". Addison Wesley, 1989. Engineering Institute.
[11] Laudon K., Laudon J. "Management http://www.sei.cmu.edu/str/descriptions/orb_bo
Information Systems". Sixth edition. dy.html
Prentice Hall. 2000. [25] Wasserman, A. "Tool Integration in Software
[12] Losavio F., Matteo, A., Pérez M. "CASE Engineering Environments". Proceeding of Int.
Integration Approaches and a Proposal for Workshop of Environment. Berlin. Germany.
an Object Oriented CASE Environment". 1990.
Proceedings of International Conference on
Information Systems Analysis and
Synthesis. ISAS'96, Orlando USA, July,
1996.
[13] Mendoza M. "Sistemas y Procedimientos.
Nuevas Tendencias en la Contaduría".
Caracas, 1996. Universidad Católica
Andrés Bello.
[14] O'Brien J. "Introduction to Information
Systems Essentials for the Internet Worked
Enterprise". Ninth Edition. Mc Graw-Hill.
2000.
[15] Pérez M. "Arquitectura para Ambientes
Case Integrados. Tesis Doctoral en Ciencias
de la Computación de la UCV. Febrero
1999.
[16] Ramdane-Cherif A, Lévy N., Losavio F.
“Dynamic Reconfigurable Software
Architecture: analysis and evaluation” to
appear in proceedings of WICSA 2002,
August 2002, Montreal, Canada
10