6. Definition
ESB is idea of using common integration infrastructure across all
enterprise application and systems.
An Enterprise Service Bus (ESB) is a new architecture that exploits
Web services, messaging middleware, intelligent routing,
and transformation. ESBs act as a lightweight,
ubiquitous integration backbone through which software services
and application components flow."
Exigen Services confidential 6
7. What is ESB?
What is ESB?
Is a Pattern?
Is a Product?
Is an Architectural Component?
Is a Hardware Component?
Exigen Services confidential 7
8. Evolution
Enterprise Application Service Bus (ESB)
Integration
+ Scalable
Hub:
+ Service-oriented
- Scalability
+ Flexible
+ Easy administration
- Harder administration
Bus:
+ Standards-based
- Standards and
+ Cost less than EAI
proprietary
bus
- High cost
Point-to-Point
- Tight coupling
- Complexity ~N2
- No visibility
- Hard to secure
Exigen Services confidential 8
9. ESB Architecture context
Java/EJB Http
Service location transparency Java/EJB Http
Sharing service across the enterprise
Separate of Business Services from Service implementation
Exigen Services confidential 9
10. ESB as a Pattern of SOA
PlaceTrade
WSDL
Business service
definition PlaceTrade
saveOrTradeOrder()
Java
implementation service
For saveOrTradeOrder()
Exigen Services confidential 10
11. ESB capabilities
Message Protocol
Message
transformation transformation Mapping
enhancement
service
Routing
Message
processing
Security
Transaction Process
management choreography
Service
orchestration
Exigen Services confidential 11
13. BUS: Protocol Conversion
Phone with wap - - WXML/HTTP
Phone with wap WXML/HTTP SAP - - BAPI
SAP BAPI
.NET - - SOAP/HTTP
.NET SOAP/HTTP External partner - -SOAP/HTTPS
External partner SOAP/HTTPS
ESB
Service Requests
Requests Requests
Requests Service
Responses
Responses Responses
Responses
Requester Provider
C++ - -XML/JMS User application - -RMI
User application RMI
C++ XML/JMS
SAP - - BAPI
SAP BAPI Database ––SQL
Database SQL
WebSphere 5.1 - -SOAP/JMS
WebSphere 5.1 SOAP/JMS Application - -XML/JMS
Application XML/JMS
Exigen Services confidential 13
14. 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)
• Service-specific routing information
Exigen Services confidential 14
15. Process choreography
The ability to manage complex business process that require the
coordination of multiple business services to fulfill a single business
service request
Usually BPEL based
Each of business node can be an
PlaceFixedIncomeTrade independent business service
CreateOrder SelectBid PlaceTrade ExecuteTrade
Exigen Services confidential 15
16. Service orchestration
The ability to manage the coordination of multiple implementation
services
Can be BPEL based but is usually implemented through inter-
service
communication or aggregate services
Difference between Service orchestration and Process
Choreography is based on type of service being coordinated
• Process choreography - Business services
• Service orchestration - implementation service
Exigen Services confidential 16
17. 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
disparate services
ESB should provide a compensatory transactional framework for a
service request
• WS - Coordination
• WS - AT
• WS –Business Activity
Exigen Services confidential 17
18. Security
The ability to protect enterprise services from authorized access
Services visible to the entire enterprise through 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 responsibility
Exigen Services confidential 18
19. Quality of Service and Policy enforcement
requestor provider
• Security WS-Security, SAML 1
No
answer
2
• Reliable delivery for each connection 3
response
• Transaction management
WS-AT, WS-Coordination, P1
P1
WS-Business Activity
Tx_required
Tx_required
• Traffic management Compensation
Compensation
Tx_not
Tx_not
R1
R1 supported
supported
• Policy (WS-Policy)
Tx_required
Tx_required
Compensation
Compensation
P2
P2
Exigen Services confidential 19
21. Common Event Infrastructure
Common Event Infrastructure (CEI) is IBM's implementation of API, and
infrastructure for the creation, transmission, persistence and distribution of a wide
range of business, system and network Common Base Event formatted events.
Based on Common Base Event
(IBM implementation of Web Services Distributed Management )
CEI Event Submission Interfaces (Event Source)
CEI Event Subscription Interfaces (Event Server)
CEI Event Query Interfaces (Event Server)
Exigen Services confidential 21
25. ESB components
ESB can broken down into the following components
• Mediator
• Service registry
• Choreographer
• Rules Engine
Service
Service
Mediator
Mediator registry
registry
Choreographer
Choreographer Rules engine
Rules engine
Exigen Services confidential 25
Основа архитектуры ESB — это идея использования общей интеграционной инфраструктуры всеми корпоративными приложениями на базе обмена сообщениями. Все приложения взаимодействуют через одну точку, которая, в случае необходимости, обеспечивает сохранность обращений, преобразование данных и транзакции. При этом целью интеграции приложения является создание единственного модуля (или адаптера), который отвечает за «подключение» приложения к ESB. Последующую обработку сообщений и их маршрутизацию в другие системы, ESB выполняет на основании установленных бизнес-правил самостоятельно