Enterprise Integration 130808154324 Phpapp01 PDF
Enterprise Integration 130808154324 Phpapp01 PDF
Enterprise Integration 130808154324 Phpapp01 PDF
com
EAI
OVERVIEW OF ENTERPRISE APPLICATION
INTEGRATION CONCEPTS AND ARCHITECTURES
Peter R. Egli
© Peter R. Egli 2015
INDIGOO.COM 1/16
Rev. 1.70
Enterprise Application Integration indigoo.com
Contents
1. EAI versus SOA versus ESB
2. EAI
3. SOA
4. ESB
5. N-tier enterprise architecture
6. WS-BPEL
7. WOA
2/16
© Peter R. Egli 2015 Rev. 1.70
Enterprise Application Integration indigoo.com
1. EAI versus SOA versus ESB (1/3)
What is EAI (Enterprise Application Integration)?
EAI aims at integrating different enterprise applications. Thus EAI is a goal for enterprise
architectures.
What is SOA:
SOA is an architectural pattern that aims at concentrating common (business) functionality into
distinct services and exposing these on endpoints. Thus SOA is a means or architectural
pattern to achieve EAI.
What is ESB?
ESB is an infrastructure component to facilitate SOA (ESB = messaging backbone) and EAI.
EAI
Architectural
pattern for
Infrastructure
SOA component for
ESB
3/16
© Peter R. Egli 2015 Rev. 1.70
Enterprise Application Integration indigoo.com
1. EAI versus SOA versus ESB (2/3)
Traditional EAI architectures before SOA:
No direct
access between Security
client and ESB (mediation middleware) Transaction
server allowed
Transformation
Trans-
action
ESB Security
Logging
S0 S1 S2 S3
5/16
© Peter R. Egli 2015 Rev. 1.70
Enterprise Application Integration indigoo.com
2. EAI (1/3)
What is EAI?
EAI is a business need or goal to integrate and couple diverse applications in an enterprise /
organization. The benefits of EAI are:
Share information between applications (basically connect the different DBs) and keep data
consistent.
Potentially reduce the technology landscape, reduce heterogeneity (standard interfaces of
services mandate the use of standards, applications have less freedom to choose from
different DBs, OSs, middlewares etc.).
Faster and easier deployment of a new / updated application (interfaces for the integration
are defined, middleware technologies are in place).
Messaging backbone
6/16
© Peter R. Egli 2015 Rev. 1.70
Enterprise Application Integration indigoo.com
2. EAI (2/3)
Typical EAI topologies:
App. App.
Hub
(msg. Messaging backbone
Broker)
7/16
© Peter R. Egli 2015 Rev. 1.70
Enterprise Application Integration indigoo.com
2. EAI (3/3)
EAI building blocks:
EAI can be accomplished in different ways. Most did not prove scalable (e.g. integration at DB
level). Use of a centralized broker emerged as the best solution to the integration problem
(scalability). This best practice has the following building blocks:
1. Centralized broker:
Handles security, access and communication.
ESB
2. Data model:
Common data model based on a standard data structure. XML has become the de-facto
standard.
3. Adaptor / connector:
Adaptors / connectors connect applications to the central broker.
4. System model:
Defines the interface including API and data flow to a component that connects to the central
broker. Allows other applications to interact with this component in a standardized way.
8/16
© Peter R. Egli 2015 Rev. 1.70
Enterprise Application Integration indigoo.com
3. SOA (1/3)
SOA aims to extract common (service) functionality from different applications and expose it
on a service endpoint.
In the basic SOA pattern, service consumer, provider and registry are separated into different
entities.
The service registry helps decoupling service consumer and provider so that the consumer
does not need to know the location of the provider.
The service registry is an optional entity. In smaller deployments running a service registry may
be 'overkill'.
Service
registry
1. Register
2. Find
(publish)
9/16
© Peter R. Egli 2015 Rev. 1.70
Enterprise Application Integration indigoo.com
3. SOA (2/3)
Services can be exposed at different levels / granularity:
Finding the right granularity is crucial for a successful SOA.
A layering as follows may help in defining / decomposing the service landscape.
Users
Workflow
Example: Expense processing service.
services
Standard: WS-BPEL
Orchestrates component services into a single business
Business services level process.
Example: Submit an expense report.
Simple atomic action on a resource; action does
Component services not depend on any other service / component.
Example: Simple access to a DB table.
Enterprise resources
10/16
© Peter R. Egli 2015 Rev. 1.70
Enterprise Application Integration indigoo.com
3. SOA (3/3)
Standards are crucial for SOAs.
These standards may be layered as follows:
Semantic
ebXML, XML/EDIFACT, HL7 CDA, SWIFT etc.
standards
11/16
© Peter R. Egli 2015 Rev. 1.70
Enterprise Application Integration indigoo.com
4. ESB
Enterprise Service Bus is an infrastructure to facilitate SOA.
ESB is basically a messaging backbone / broker which provides the following functions:
Category Functions
Support for synchronous and asynchronous transport protocols, service mapping (locating and
Invocation binding).
Addressability, static/deterministic routing, content-based routing, rules-based routing, policy-
Routing based routing.
Mediation Adapters, protocol transformation, service mapping.
Messaging Message-processing, message transformation and message enhancement.
Process choreography Implementation of complex business processes.
Service orchestration Coordination of multiple implementation services exposed as a single, aggregate service.
Complex event
processing Event-interpretation, correlation, pattern-matching.
Other quality of service Security (encryption and signing), reliable delivery, transaction management.
Management Monitoring, audit, logging, metering, admin console, BAM.
Source: http://en.wikipedia.org/wiki/Enterprise_service_bus
Examples:
Mule
IBM WebSphere ESB
Microsoft BizTalk server
12/16
© Peter R. Egli 2015 Rev. 1.70
Enterprise Application Integration indigoo.com
5. N-tier enterprise architecture
"Best practice" for "horizontal" decomposition of an application: 3-tier.
Separation of concerns (user interface, business logic and data handling) improves
maintainability and extensibility.
13/16
© Peter R. Egli 2015 Rev. 1.70
Enterprise Application Integration indigoo.com
6. WS-BPEL (1/2)
What is WS-BPEL (Web Services Business Process Execution Language)?
WS-BPEL is a language to define business processes based on web services.
BPEL binds (web) services together to form larger complex business services.
Thus BPEL is kind of a business programming language.
BPEL provides:
a. Control flow (branch, loop, parallel).
b. Asynchronous correlation.
c. Transaction support.
<variables>
<variable name="hello_world" messageType="print:PrintMessage" />
</variables>
<assign>
<copy>
<from><literal>Hello World</literal></from>
<to>.value</to>
</copy>
</assign>
</process>
Source: http://www.eclipse.org/tptp/platform/documents/design/choreography_html/tutorials/wsbpel_tut.html
15/16
© Peter R. Egli 2015 Rev. 1.70
Enterprise Application Integration indigoo.com
7. WOA
Web Oriented Architecture is a concept that extends or simplifies SOA through the use of REST
and POX (Plain Old XML).
WOA / REST is simply another (simpler?!) approach to SOA.
SOA
Features / Richness
WS-*
BPEL
WSDL
SOAP
WOA
REST JSON
JMS
HTTP
RMI
Complexity
Source: http://www.zdnet.com/blog/hinchcliffe/the-soa-with-reach-web-oriented-architecture/27