2. Agenda
Introduction
ESB as a Pattern to SOA
Capabilities
Components
JSR-208 JBI specification
UltraESB
3. Introduction
What is an ESB
No clear-cut definition
More like a marketing term
A pattern ?
A product ?
Architectural component ?
Hardware component ? Eg : WebSphere DataPower Integration
Appliance XI50
Can perform most of typical ESB tasks
4. What is an ESB ?
Wikipedia definition
“is a software architecture model used for designing and
implementing communication between mutually interacting
software applications in a service-oriented architecture
(SOA)”
“An ESB generally provides an abstraction layer on top of an
implementation of an enterprise messaging system.”
5. Enterprise messaging system (EMS)
“set of published enterprise-wide standards that allows
organizations to send semantically precise messages between
computer systems.”
Part of Enterprise application integration(EAI)
Defines how an enterprise integrate with other systems
Promote loosely coupling
6. ESB as a Pattern to SOA
Provides a communication bridge in SOA
Decouples clients form service apps.
7. Service location, transparency & sharing
Separate business services from
service implementation.
9. Routing
Ability to channel a request to a particular service
provider
Static / Deterministic
Content based
Policy based
Rule based
10. Message transformation
Ability to convert the structure or format of message
Incoming service requests to expected backend requests
XML CSV
JSON XML
Object XML
11. Message Enhancement
Ability to add or modify information in messages
Data conversion
Date formats / formatting decimals
Supplement information
Requests from a mobile client
Decoupling messages from service implementation
12. Protocol Transformation
Ability to accept different type of transports which are
different from the implemented protocol
SOAP JMS
XML/HTTP JSON/HTTPS
SOAP/MQ FTP/SFTP
13. Message Processing
Ability to perform a guaranteed message delivery.
Message should not lost upon reaching ESB
14. Service orchestration
Ability to perform complex business processes that
requires multiple business service implementations
Similar to Process Choreography - *BPEL
15. Transaction Management
Should provide a good framework for transaction
management
Tricky in service orchestration
Transaction propagation difficulties
Solutions
WS-coordination
JSR-95
Drop aggregation into a separate service
16. Security
Ability to protect from unauthorized access
Individual services become visible to whole enterprise
Authentication, Authorization and Auditing
Should use a security manager
Should not be a direct responsibility
20. JSR 208 JBI Implementation
Java Business Integration
an approach to implementing a service-oriented
architecture (SOA) – ESB
provides a pluggable architecture for a container that hosts
service producer and consumer components.
Focus on how internal service providers and consumers
interact
Eg : message transformation, transaction security etc
22. Advantages
Pluggable architecture
JBI compliance components
Prevent vendor lock-in
Allows best technologies to be added
Mix open-source and commercial solutions
Highly Customizable
23. UltraESB
Launched Jan 2010
Open-sourced August 2010
Has ties to WSO2 ESB
Founder is an original author of WSO2 ESB
24. Features
Spring based
Single XML file
Java or JSR 223 language support in mediation
Groovy, Ruby, JavaScript, etc.
JMX support
IDE support
Isolation
Management and monitoring tools runs outside of the core
ESB instances
Clustering
Apache ZooKeeper
25. Equal nodes
No specific admin nodes
Easy management of clusters
Management via any connected node
State replication and content sharing
Active-Passive nodes
Pinned services and Service Migration on failure
26. Deployment units
One deployment can reloaded with out effecting other
deployments
Logical separation of mediation logic into packages