Monday, May 11, 2020

What is WSO2 ESB?


What is ESB?


An Enterprise Service Bus (ESB) is fundamentally a software architecture. It gives a communication system between mutually interacting software applications in a service-oriented architecture. It removes the point-to-point integration and integrates numerous applications together over a bus-like infrastructure. It will handle transforming and routing the messages according to their appropriate destinations.


What is WSO2 ESB?


WSO2 Enterprise Service Bus is a 100% open source, lightweight, high performance, and comprehensive ESB. Now WSO2 ESB is coming as WSO2 Enterprise Integrator which provides functionalities for modern integration requirements 

Evolution of WSO2 Integration Product Stack





Component Architecture of wso2 ESB



Main components of the WSO2 ESB as follows.



Transports

  • The transport component is responsible for sending and receiving messages in a specific format.


Message builders

  • The message builder is used to convert ESB received message's raw payload data into an ESB mediation engine readable common XML.
  • Relevant Message builder will choose the Transport component according to the message's content type.


Message formatters

  • The message formatter is used to build the sending messages.
  • Relevant Message formatter also selected based on the message's content type.
  • We can implement custom message builders and formatters using the Axis2 framework.


Endpoints

  • An endpoint defines an external destination to send a message.
  • An endpoint could represent a
    • URL
    • Java Message Service Queue
    • Mailbox
    • TCP socket along with the required settings to connect

You can view existing Endpoints in a running ESB using the management console as follows. Go to 


Proxy services

  • A proxy service can receive messages and process them before sending to a given endpoint.
  • It is visible to outside and can be accessed using a URL like web services.

You can view existing Proxy services in a running ESB using the management console as follows. Go to 


APIs

  • An API is similar to a web application deployed in the ESB runtime. It will only process requests which are coming through its URL context. An API can define one or more resources.

You can view existing APIs in a running ESB using the management console as follows. Go to 


Inbound endpoints

  • An inbound endpoint works as a message entry point. It injects messages directly from the transport layer to the mediation layer.

You can view existing Inbound endpoints in a running ESB using the management console as follows. Go to 


Topics

  • Web services can subscribe to topics. When an event is published to a topic, web services those are subscribed to that topic will receive that event.

You can go to Topic Browser through following link and create, manage, and subscribe to topics.


Mediators

  • WSO2 ESB consists of so many mediators which can be used to perform a specific function.
  • These mediators can be used to
    • Send Message
    • Transform Message
    • Filter Message and so on.

And also you can write custom mediators using various technologies such as scripting, Java and Spring to provide additional functionalities.


Sequences

  • A sequence is used to call several mediators in a logical flow. Sequence can add in to APIs and proxy services. 
  •  It will calls mediators to do
    • Message transforming
    • Database query execution
    • External endpoints calling and many others.

You can view existing Sequences in a running ESB using the management console as follows. Go to 

Also, you can do changes in the running sequence files and it will be only available until next ESB restart.


Tasks

  • A task can be used to run a code snippet in a defined time. It uses a timer and will trigger the code snippet.


Registry

  • A registry is used to store various artifacts and configurations such as sequences and endpoints.
  •  This configuration is used to define message architecture.
  •  A registry is a content store and metadata repository.


Management and configuration GUI

  • Mainly it has 4 tabs named Main, Monitor, Configure, Tools. 
  • You can check and manage all the components mention here using this GUI.


WSO2 Carbon platform

  • ESB is getting its runtime environment from the WSO2 Carbon. 
  • It contains all the features (logging, security tetc) which needs to run the ESB.
  • You can install new features on WSO2 ESB which is not included in the default package. 
  • So ESB is extensible and flexible because of WSO2 Carbon Platform.

Source - https://docs.wso2.com






No comments:

Post a Comment

How to send Slack notification using a Python script?

 In this article,  I am focussing on sending Slack notifications periodically based on the records in the database. Suppose we have to monit...