How are ESB Clients typically deployed

111 views Asked by At

In playing with JBoss ESB, I have been looking through the quickstarts, mostly the publish-subscribe models since that is what we will be implementing. To run the subscribers, you just run specific ant targets. My question is, how are ESB subscriber clients typically installed and run? Would I just write a simple Java class with a main method (like all the examples show) and run that on the ESB server? (Well not me, but the admin of the server).

I'm more used to dealing with webapps so not just copying an ear or war over to the deployment directory is throwing me for a loop.

1

There are 1 answers

0
codethulhu On

The first ant target you run to perform these tasks on the ESB are deploying a pub-sub.esb artifact, instead of a .war artifact, into the JBoss ESB deploy directory. Then another target is run, which is invoking a java app which places a message on the JMS queue/topic, which is consumed by the deployed ESB action pipeline. The main method is most likely the piece of code which places the message onto the JMS topic. The artifacts deployed to the ESB are not run via a main method. ESB artifacts are started by the JBoss environment, and are run by invocation of the action. In your example, the ESB action pipeline is a subscriber listening to the JMS queue, and your class with the main method is just a convenient way of placing a message onto the queue.

Without knowing which quickstart you are running, and which version of JBoss ESB you are running against, this is about the most insight I can give you into this action pipeline.

An ESB is Message Oriented Middleware. The purpose of which is to act as an intermediary point of integration between two or more information systems. A common use for an ESB is to provide multiple interfaces for integration to a system. Assuming you have some application which is a subscriber to an existing queue/topic, you could easily use an ESB to expose a web service to external clients, and have the ESB act as a pass through, transforming the SOAP or REST request into a JMS message, placing it on the queue/topic and either waiting for a response, or generating a response, and transforming it back into a SOAP or REST response.