You are on page 1of 29

1

Introduction to
Enterprise
Service Bus
By: TMP – Del Institute of
Technology

TMP
2

Recall – Enterprise Service Bus (prev.)

TMP
3

ESB, what is it?

ESB as a Pattern of SOA

Outlines ESB Capabilities

ESB Components

Process Choreography (in ESB)

TMP
4

Introduction
 What is an ESB?
 There is no industry-agreed upon definition of what an ESB is
 Some questions to consider:
 Is it a pattern?
 Is it a product?
 Is it an architectural component?

TMP
5

Introduction
 ESB represents a software architecture for distributed computing, and is a special
variant of the more general client-server model, wherein any application may behave
as server or client. - Wikipedia, accessed on February 21st, 2021.
 ESB is a pattern whereby a centralized software component performs integrations to
backend systems (and translations of data models, deep connectivity, routing, and
requests) and makes those integrations and translations available as service interfaces
for reuse by new applications. - IBM, accessed on February 21st, 2021.
 An Enterprise Service Bus (ESB) is fundamentally an architecture. It is a set of rules
and principles for integrating numerous applications together over a bus-like
infrastructure. - MuleSoft, accessed on February 21st, 2021.

TMP
6

Introduction
 Bottom line:
 There is no single concise definition of an ESB
 Instead, try to understand of what an ESB is by understanding its role and capabilities
 Map its roles and capabilities with the product space in the market and your needs

TMP
7

The ESB as a Pattern for SOA


 ESB Architecture Context
 In the move towards SOA, client applications are decoupled from services. The ESB
provides the communication bridge.

TMP
8

The ESB as a Pattern for SOA


 The ESB helps facilitate the following:
 Service location transparency
 Sharing of services across the enterprise
 Ability to separate business services from service implementations

TMP
9

The ESB as a Pattern for SOA


 Business Service vs. Implementation Service

TMP
10

ESB Capabilities
 Ten ESB core capabilities

TMP
11

ESB Capabilities
 Routing: the ability to chanel a request to a particular service provider based on
deterministic or variable routing criteria.
 Types of routing to consider:
 Static or Deterministic Routing
 Content-based Routing
 Policy-based Routing
 Complex Rules-based Routing

TMP
12

ESB Capabilities
 Message Transformation: the ability to convert the structure and format of the
incoming business service request to the structure and format expected by the service
provider.
 Some examples include:
 XML to XML
 XML to COBOL Copybook
 Object to XML
 XML to JSON

TMP
13

ESB Capabilities
 Message Transformation: the ability to convert the structure and format of the
incoming business service request to the structure and format expected by the service
provider.

TMP
14

ESB Capabilities
 Message Enchancement: the ability to add or modify the information contained in the
message as require by the service provider.
 Assume "Exchange Code" was required on Service Provider input:

TMP
15

ESB Capabilities
 Message Enchancement: the ability to add or modify the information contained in the
message as require by thee service provider.
 Types of message enhancement:
 Date format conversion
 Supplement data not included in original message
 Data conversion (i.e. spaces to zero)
 Rules-based enhancement

TMP
16

ESB Capabilities
 Protocol Transformation: the ability to accept one type of protocol from the consumer as
input (i.e. SOAP/JMS) and communication to the service provider through a different
protocol (i.e. IIOP).
 A form of message transformation concerned with the message structure, not the message
payload.
 Has both physical connection attributes as well as logical connectivity attributes.
 Examples:
 SOAP/JMS to IIOP
 XML/HTTP to CICS/MQ
 SOAP/MQ to ATMI
 XML/HTTP to OTMA

TMP
17

ESB Capabilities
 Protocol Transformation
 Example: SOAP/HTTP to PeopleSoft/MQ

TMP
18

ESB Capabilities
 Service Mapping: the ability to translate a business service into the corresponding
service implementation and provide binding and location information.
 Could be implemented through XML, a database, or embedded within the Mediator ESB
component.
 Usually contains the following core information:
 Implementation service name
 Service protocol and binding information
 Protocol-specific info (i.e. timeouts, failover location)
 Service-specific routing information

TMP
19

ESB Capabilities
 Message Processing: the ability to manage state and perform request management by
accepting an input request and ensuring delivery back to the client via message
synchronization.
 For updates this might require the use of XA ("eXtended Architecture") or messaging
sync points to ensure guaranteed message processing and delivery.

TMP
20

ESB Capabilities
 Process Choreography: the ability to manage complex business processes that require
the coordination of multiple business services to fulfill a single business service
request.
 Usually BPEL based (Business Process Execution Language)
 Process Choreography can be thought of as a manifestation of a use case or business
process

TMP
21

ESB Capabilities
 Service Orchestration: the ability to manage the coordination of multiple
implementation services.
 Can be BPEL bases but is usually implemented through inter-service communication or
aggregate services.
 Different between Service Orchestration and Process Choreography is based on the type
of service being coordinated.
 Process Choreography -> Business Services
 Service Orchestration -> Implementation Service

TMP
22

ESB Capabilities
 Transaction Management: the ability to provide a single unit of work for a business
service request by providing a framework for the coordination of multiple resources
across multiple disparate services.
 Specifically, the ESB should provide a compensatory transactional framework for a
service request.
 WS-Coordination
 JSR-95 Activity Service

TMP
23

ESB Capabilities
 Security: the ability to protect enterprise services from unauthorized access.
 In SOA there are no more silos; services become visible to entire enterprise through the ESB.
 The 4 "A's" of security:
 Authentication
 Authorization
 Auditing
 Administration
 ESB should provide authentication, authorization, and auditing.
 ESB should access a security manager for authentication and authorization rather than have
the direct resposibility.

TMP
24

ESB Components
 ESB Components
 There is no one single product that can effectively do all of the capabilities required of an
ESB.
 An ESB can be broken down into the following components:
 Mediator
 Service Registry
 Choreographer
 Rules Engine

TMP
25

ESB Componentes
 Component Responsibilities
 Mediator

TMP
26

ESB Componentes
 Component Responsibilities
 Rules Engine

TMP
27

Process Choreography
 Choreography/Mediator Relationship
 Mediator as the ESB entry point

TMP
28

Process Choreography
 Considerations:
 Should process choreography sit above or below the Mediator?
 Choreography as the ESB entry point
 Mediator as the ESB entry point
 Either as an ESB entry point
 Recommendation
 Mediator as the ESB entry point (choreography below)
 Based on small % of services that must be choreographed
 Better performance
 Better scalability
 Less complexity

TMP
29

Any Question?

TMP

You might also like