A lightweight tutorial about WSO2 ESB.
A conccept prove of the WSO2 ESB.
A new skill for my tool kit.
A task of my course called «Master in Web Engineering».
WHAT IS AN ENTERPRISE SERVICE BUS ?
«A software architecture model used for designing and implementing the interaction and communication betwen
mutually interactiong software applications in service-oriented architecture (SOA) »
«Enterprise Service Bus (ESB) is a way to create a service-oriented architecture».
“An Enterprise Service Bus (ESB) is a distributed middleware system for integrating enterprise IT assets using a
“An Enterprise Service Bus (ESB) is a distributed infrastructure used for enterprise integration. It consists of a set
of service containers, which integrate various types of IT assets”
Open Source ESB in Action (Tijs Rademakers)
“From an integration vendor perspective is a product offering that provides integration functionality, a developer
toolset, and a management environment”
“From the SOA perspective, an ESB can be used as an integration platform that enables existing IT
assets and applications to be exposed as services”
ADVANTAGES OF AN ENTERPRISE SERVICE BUS (FROM THE SOA PERSPECTIVE)
Centralized acces point for all clients
We are relatively independent of the service.
All our endpoints has similar URIs.
We can set global security for all services.
We can set global logging for all request, or some of them.
We have got a unique middelware in which deploy our services.
We have got a unique middelware from which undeploy our services .
We have got a a point to set monitorization
ENTERPRISE SERVICE BUS IMPLEMENTATIONS
So complex, it gives lots of support for the integration approach which we were talking before.
Project roadmap problems: Now JBoss community is beeting for SwitchYard, a more sophisticated framework
which supports integration with another projects like jBPM, Drools, Apache Camel and more….
It is not open source.
It has lots of success, but It follows the integration approach as weel the SOA approaches.
OSB in short, It is so expensive to start.
It is not so easy as weel.
It is Open Source.
It follows the SOA approach.
IT is easy of manage.
At a first glance WSO2 ESB is:
A middelware which enable architects to implement distributed SOA architectures, based on apply proxies to
enterprises services in order to carry out monitoring and an easier management of all services that are living in
WSO ESB Features are:
Full XML and Web Services Support
Proven Interoperability and highly performant
Extensibility and Minimal Custom Development
Multi-protocol and Industry Driven Protocols
Task Scheduling and Event Driven Architecture (EDA)
Advanced Mediations & EIP
Server Management and System Monitoring
WSO2 ESB supports all the widely used transports including
HTTP/s, JMS or SMPT.
Endpoints stay as a logical component with the transports. Two sets
of endpoints Address and WSDL.
The virtual services in the WSO2, a proxy service can access using
a URL similar to a normal web service address.
Messages handling including subscriptions and events.
Using the mediator library one can implement widely used MEPs
The sequences act as the configuration component for the
mediators. Sequences allow to organize the mediators to implement
pipes and filters pattern.
Tasks and Commands
Tasks provide facility to configure scheduled jobs in the WSO2 ESB.
Reliable messaging and security for proxies (Rampart).
WSO2 ESB has an inbuilt Registry/repository to store the
configuration and configuration metadata and it provides the facility
to use a remote repository as well.
Management and Configuration GUI
GUI components make the comprehensive management,
configuration and monitoring GUI.
How It works
1. An application sends a message to the ESB.
2. The message is picked up by the ESB transport.
3. Transport sends the message through a message pipe.
4. Quality of service aspects like Security and
Reliable Messaging of the message is taken care in this pipe. Internally this pipe is the in-flow and out-flow of
5. ESB can operate in two modes:
1. Message Mediation: A single pipe is used.
2. Proxy Services: Separate pipes connecting transport to different Proxy Services are used.
6. Both message transformation and routing can be seen as a single unit (WSO2 ESB call this the mediation framework). Some
transformations happens before routing decision has taken. Some transformations happens after the the routing
decision has taken. This part is the Synapse implementation.
7. After this message is injected to the separate pipes depending on the destinations. Here again quality of service
aspects of the messages is determined.
8. The transport layer takes care of the transport protocol transformations required by the ESB.
WSO2 ESB IN ACTION
SERRVICES DEPLOYMENT AND A LITTLE MORE
The management console has got 4 sections
Main: Here we can do the main tasks like create a proxy, deal with mediators and secuences and so on ..
Monitor: Here we can do monitoring of our services and read logs and statics.
Configure: Configuration of our installation, users, roles key stores , and so on.
Tools: Utitlities like WSDL validator, Java to WSDL or WSDL to Java.
There is already 3 web services deployed
We can interact with these services
before deploy any own service.
Testing the echo web service
We can test deployed services in the same way that we do it using SoapUI.
Deploying a own service
We can deploy an Axis services, only the code and the servies.xml file.
We can create a proxy to another web service deployed wherever.
Deploying a own service
We have to give a name and a end point and it’s all.
Then we can use this service instead of our original web service.
Use an ESB is a good choice for SOA architectures
which are based on web services.
There are several implementations which take several
approaches and we have to get the better for us.
Use an ESB is not necessary as hard as it seem and It can be
an interesting bet in a middle range.
My toolkit is now richer than earlier