6. Exigen Services confidential
Definition
6
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."
7. Exigen Services confidential
What is ESB?
7
What is ESB?
Is a Pattern?
Is a Product?
Is an Architectural Component?
Is a Hardware Component?
8. Exigen Services confidential
Evolution
8
Point-to-Point
- Tight coupling
- Complexity ~N2
- No visibility
- Hard to secure
Service Bus (ESB)
+ Scalable
+ Service-oriented
+ Flexible
- Harder administration
+ Standards-based
+ Cost less than EAI
bus
Enterprise Application
Integration
Hub:
- Scalability
+ Easy administration
Bus:
- Standards and
proprietary
- High cost
9. Exigen Services confidential
ESB Architecture context
9
Java/EJB Http
Java/EJB HttpService location transparency
Sharing service across the enterprise
Separate of Business Services from Service implementation
10. Exigen Services confidential
ESB as a Pattern of SOA
10
WSDL
Business service
definition PlaceTrade
PlaceTrade
saveOrTradeOrder()
Java
implementation service
For saveOrTradeOrder()
11. Exigen Services confidential
ESB capabilities
11
Routing
Message
transformation
Message
enhancement
Security
Transaction
management Service
orchestration
Process
choreography
Message
processing
Mapping
service
Protocol
transformation
14. Exigen Services confidential
Service mapping
14
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
15. Exigen Services confidential
Process choreography
15
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
PlaceFixedIncomeTrade
CreateOrder SelectBid PlaceTrade ExecuteTrade
Each of business node can be an
independent business service
16. Exigen Services confidential
Service orchestration
16
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
17. Exigen Services confidential
Transaction management
17
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
18. Exigen Services confidential
Security
18
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
19. Exigen Services confidential
Quality of Service and Policy enforcement
19
• Security WS-Security, SAML
• Reliable delivery for each connection
• Transaction management
WS-AT, WS-Coordination,
WS-Business Activity
• Traffic management
• Policy (WS-Policy)
R1R1
P1P1
P2P2
Tx_not
supported
Tx_not
supported
Tx_requiredTx_required
Tx_requiredTx_required
CompensationCompensation
CompensationCompensation
requestor provider
1
2
3
response
No
answer
21. Exigen Services confidential
Common Event Infrastructure
21
Based on Common Base Event
(IBM implementation of Web Services Distributed Management )
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.
CEI Event Submission Interfaces (Event Source)
CEI Event Subscription Interfaces (Event Server)
CEI Event Query Interfaces (Event Server)
25. Exigen Services confidential
ESB components
25
ESB can broken down into the following components
• Mediator
• Service registry
• Choreographer
• Rules Engine
MediatorMediator
Service
registry
Service
registry
ChoreographerChoreographer Rules engineRules engine
Основа архитектуры ESB — это идея использования общей интеграционной инфраструктуры всеми корпоративными приложениями на базе обмена сообщениями. Все приложения взаимодействуют через одну точку, которая, в случае необходимости, обеспечивает сохранность обращений, преобразование данных и транзакции. При этом целью интеграции приложения является создание единственного модуля (или адаптера), который отвечает за «подключение» приложения к ESB. Последующую обработку сообщений и их маршрутизацию в другие системы, ESB выполняет на основании установленных бизнес-правил самостоятельно