6. Definition
Exigen Services confidential
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. What is ESB?
Exigen Services confidential
7
What is ESB?
Is a Pattern?
Is a Product?
Is an Architectural Component?
Is a Hardware Component?
8. Evolution
Exigen Services confidential
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. ESB Architecture context
Exigen Services confidential
9
Java/EJB Http
Service location transparency Java/EJB Http
Sharing service across the enterprise
Separate of Business Services from Service implementation
10. ESB as a Pattern of SOA
Exigen Services confidential
10
WSDL
Business service
definition PlaceTrade
PlaceTrade
saveOrTradeOrder()
Java
implementation service
For saveOrTradeOrder()
11. ESB capabilities
Exigen Services confidential
11
Routing
Message
transformation
Message
enhancement
Security
Transaction
management Service
transformation
orchestration
Mapping
service
Message
processing
Protocol
Process
choreography
13. BUS: Protocol Conversion
Requests
Responses
Exigen Services confidential
13
ESB
Requests
Responses
Requests
Responses
Requests
Responses
Service
Requester
Service
Provider
Phone Phone w witihth w waapp - - W WXXMMLL/H/HTTTTPP
.N.NEETT - - S SOOAAPP/H/HTTTTPP
CC++++ - -X XMMLL/J/JMMSS
SSAAPP - - B BAAPPI I
WWeebbSSpphheerere 5 5.1.1 - -S SOOAAPP/J/JMMSS
SSAAPP - -B BAAPPI I
EExxteternrnaal lp paartrntneer r - -S SOOAAPP/H/HTTTTPPSS
UUsseer ra apppplilcicaatitoionn - -R RMMI I
DDaatatabbaassee – – S SQQLL
AApppplilcicaatitoionn - -X XMMLL/J/JMMSS
14. Service mapping
Exigen Services confidential
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. Process choreography
Each of business node can be an
independent business service
Exigen Services confidential
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
16. Service orchestration
Exigen Services confidential
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 • Process choreography - Business b seeinrvgic ceosordinated
• Service orchestration - implementation service
17. Transaction management
Exigen Services confidential
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. Security
Exigen Services confidential
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. Quality of Service and Policy enforcement
Exigen Services confidential
requestor provider
19
• Security WS-Security, SAML
• Reliable delivery for each connection
• Transaction management
WS-AT, WS-Coordination,
WS-Business Activity
• Traffic management
• Policy (WS-Policy) RR11
PP11
PP22
Tx_not
supported
Tx_not
supported
TxT_xr_erqeuqiureirded
CComompepnesnastaiotinon
TxT_xr_erqeuqiureirded
CComompepnesnastaiotinon
1
2
3
response
No
answer
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.
Exigen Services confidential
21
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)
25. ESB components
Exigen Services confidential
25
ESB can broken down into the following components
• Mediator
• Service registry
• Choreographer
• Rules Engine
MMeeddiaiatotorr
Service
registry
Service
registry
CChhoorreeooggrraapphheerr RRuuleless e ennggininee
32. Implementation steps
WebSphere ESB Messaging Resources
Import WSDL(SCA, Web
Service, HTML, JMS)
Connect WSDL ports with
mediator (import)
Generate exports with
binging (SCA, Web
Service, HTML, JMS)
Exigen Services confidential
32
Import WSDL(SCA, Web
Service, HTML, JMS)
CCrreeaatete m meeddiaiatotorr
Connect WSDL ports with
mediator (import)
Generate exports with
binging (SCA, Web
Service, HTML, JMS)
CCrreeaatete b buuss i ninsstatannccee
SSeetutupp S SDDOO r reeppoossitiotorryy
SSeetutupp r reessoouurrccee a addaappteterrss
Create client listeners for
Create client listeners for
every protocols
every protocols
CCrreeaatete i ninteterrcceepptotorrss
CCrreeaatete m meeddiaiatotorr ( (EEJJBB))
33. ESB platforms
WSO2 ESB Apache Synapse, WS Apache Axis2
Sun GlassFish ESB NetBeans IDE, BPEL orchestration, WS JAX-WS,
Mule ESB EE custom implementation model, WS CXF, No BAM,
IONA Fuse ESB Apache ServiceMix, JBI, OSGI, WS CXF, no BAM,
WebSphere ESB WebSphere MQ, JMS, BPEL, SCA
Exigen Services confidential
33
Business Rules, Transaction, BAM
no Business rules
Business rules
WS JAX-WS, BAM, Business Rules
Matrix BusinessWorks no transaction, no dusiness rules, BAM
Oracle ESB JMS, BPEL
34. Open source way
Business
Exigen Services confidential
34
ESB
Business
Rules
DDrroooolsls Rules
RRoouutitningg
eeipip
ccaammeell
jajavvaa
jBjBPPMM CChhoorreeooggrraapphhyy
Transform
ation
Transform
ation
xxssltlt
xxppaathth
ssimimpplele
IBIBMM EEvveenntsts
OOraracclele
JJMMSS
AAMMQQ
Основа архитектуры ESB — это идея использования общей интеграционной инфраструктуры всеми корпоративными приложениями на базе обмена сообщениями. Все приложения взаимодействуют через одну точку, которая, в случае необходимости, обеспечивает сохранность обращений, преобразование данных и транзакции. При этом целью интеграции приложения является создание единственного модуля (или адаптера), который отвечает за «подключение» приложения к ESB. Последующую обработку сообщений и их маршрутизацию в другие системы, ESB выполняет на основании установленных бизнес-правил самостоятельно