Showing posts with label ESB. Show all posts
Showing posts with label ESB. Show all posts

(WID/WPS) Mapping Bindings

One of the crucial functionality provided by WESB is the protocol transformation or in other words "transport binding transformation".


In the example given below I have done mapping from SOAP/HTTP Web service binding to JMS binding.


Background:
Bindings can be defined on an import or export. On an export, they describe how a client or an SCA component communicates with the mediation module. On an import, they describe how the mediation module communicates with the defined service.


Server Runtime configuration:
Creating a new Destination (Queue)
  • Run the administrative console and log in.
  • Select Service integration -> Buses.
  • Click the SCA.APPLICATION.xxxCell.Bus link. (xxx is either wid or esb)
  • Under Destination resources on the right-click Destinations.
  • We will see two predefined destinations, a topic, and a queue.
  • Click New to create a new destination on the bus.
  • The next screen shows four types of destination that can be specified. Select
  • Queue and click Next.
  • The queue attributes screen is displayed. Enter JMSImportOut as the identifier
  • then click next & complete the queue attribute creation.


Creating a QCF & Queue
  • Select Resources -> JMS Providers -> Default messaging.
  • Under Connection Factories, click JMS queue connection factory, click New.
  • Fill in the properties of the queue connection factory:
    • Set the Name as sampleBindingQCF.
    • Set the JNDI Name to jms/sampleBindingQCF.
    • From the list for Bus name, choose SCA.APPLICATION.xxxCell.Bus.
    • Click OK at the bottom of the screen.

  • Select Resources -> JMS Providers -> Default messaging.
  • On the right, under Destinations, click JMS queue and then click New.
  • Create the queue.
    • Set the Name to JMSImportOut.
    • Set the JNDI Name to jms/JMSImportOut.
    • Select SCA.APPLICATION.xxxCell.Bus from the Bus Name menu.
    • Select JMSImportOut from the Queue Name menu.
    • Click OK at the bottom of the screen.
  • Click the Save link at the top of the console and confirm the changes to the master configuration by clicking Save.


After successful completion code & testing, to the message in queue follow the below steps:
  • Select Service integration -> Buses -> SCA.APPLICATION.xxxCell.Bus -> Destinations -> JMSImportOut -> Queue points -> JMSImportOut@xxxNode.server1-SCA.APPLICATION.xxxCell.Bus.



  • We can see the current message depth is 1, to see whats there in message,click the Messages link in Additional properties (right)


  • Now click on Identifier link to see the message body.
Attached PI

What is ESB ?

The day I entered into SOA world, I started hearing about ESB. We get different definition with different examples every time. Also there are tons of books on ESB , its patterns, how to use it etc etc.


Here I am explaining what ESB is , why it came into picture & what it can do.


I guess you all might have heard about EAI (Enterprise Application Integration)
EAI is nothing but a integration pattern through which different applications can be interconnected to provide reusability of apps, easy to maintain, extends etc etc.


EAI uses two patterns of integration :
  • P2P : Point to Point.
  • Hub & Spoke.
Now when we talk about SOA, we actually integrate services not the applications. So, To integrate services we again need a specification, a middleware, or a pattern; So ESB is a flexible connectivity infrastructure for integrating applications and services. An ESB can power your SOA by reducing the number, size, and complexity of interfaces between those applications and services. ESB is that integration pattern.There are several vendors who provides this pattern or specification. 

Different ESBs are:
  • WESB (Websphere ESB) : Written in Java
  • WMB (Websphere Message Broker) :C, C++ based
  • DataPower X150
  • Oracle ESB 
  • JBoss ESB
  • Open ESB
  • Mule ESB : Lightweight ESB, Written in Java


An ESB provides :
  • Protocol Bridging.
  • Transformation.
  • Content based routing.
  • Service Virtualization.


Why it is required ?
An ESB should allow our organization to focus on our core business needs rather that the IT Infrastructure required connecting the programs together. An ESB should allow us to add new services, or make changes to existing services, with little or no impact to the use of existing services.


Let me correlate these two crucial terms SOA & ESB :
SOA uses ESB Integration pattern to achieve SOI (Service Oriented Integration) , interoperability between services.