What is ESB?
* ESB is used for application integrations in a heterogeneous environment (like EAI).
* ESB involves a common messaging bus (in contrast to the EAI hub and spoke architecture).
* The bus is used to communicate between different systems within an enterprise.
* Typically there is a shared messaging format on the bus.
* Adapters are used to translate proprietary messaging formats to the shared format.
ESB Core Functionalities
* Location transparency
* Transport protocol conversion (JMS to HTTP, FTP to JMS etc)
* Message routing
* Message enhancement
* Security
* Monitoring and management
Open Source ESB Flavors
* Apache ServiceMix: build on JBI (Java Business Integration)
* Apache Synapse: build on Web Services standards via Axis2
* Apache Tuscany: build on SCA (Service component architecture)
* Mule: not based on one particular standard.
* Sun Open ESB: build on JBI. Good tool support via NetBean IDE.
* JBoss ESB:
* PEtALS: supports distributed environment. Web based monitoring of JBI components.
Mule
* Support more than 20 transport protocols
* Integrates with
– Spring
– ActiveMQ
– Joram
– CXF
– Axis
– Drools