4 Replies Latest reply on Dec 17, 2007 10:30 AM by Kurt Stam

    Building a brdige between 3rd Party and JBossXXX

    David Streever Newbie

      I'm trying to determine what the best approach is to building a "Bridge" between a proprietary product and JBossESB.

      I have a Java API into this other product which is itself a server. This server produces messages, much like a JMS Topic would, that can be consumed by any client that is attached to the server.

      I need to capture those messages and run them through JBossESB so I can store/process/etc them for our application.

      I would prefer not having to build an entire infrastructure around this bridge, IE: monitoring, startup, communications, etc, and would like to know if there is a "recommended" approach to this using any of the JBoss family of solutions.

      I've reviewed what docs I could find on creating a "Provider" in JBossESB, but this seems a bit premature for the product (JBossESB) and the docs aren't really clear. NOTE: This is NOT a polling type of service, so the polling features in JBossESB(cron, etc) wouldn't work. If your not online with the service at the time the message is published, you loose out. So the "bridge" needs to be attached and "listening" for messages all the time. And I will have to "listen" to "multiple" servers from this solution.

      Again, I'm not certain that JBossESB is the right place to start. Any suggestions are welcome.


        • 1. Re: Building a brdige between 3rd Party and JBossXXX
          Mark Little Master

          What is the format of your messages? Could you pack them into a JBossESB Message, for instance? If so, could you not then write your own custom Action that is deployed within a JBossESB service and can be a recipient for your specialized payload? Your current server would bundle the message into a Message, send it to the ESB using one of the existing transports (JMS is probably a good one) and the ESB service picks it up and processes it. When your Action is triggered, it pulls the message from the Message and does whatever you need.

          • 2. Re: Building a brdige between 3rd Party and JBossXXX
            David Streever Newbie

            I don't have control over the 3rd party server. In order to get the messages it will deliver, I have to connect and subscribe to their service. Much the same way you would attach to a JMS Topic, but it IS NOT a JMS compliant server by any means.

            Once I get the message, which will be through their API, I plan on converting the payload to XML and placing it in a Message so I can "drop" it on the ESB for further processing.

            What I'm trying to avoid is writing a "Standalone" application that serves as the "bridge" between the two products.

            I would like to create a "Listener" type of service that runs in the JBossESB. I believe the closest thing I've seen is a "Provider". This "Provider" would be configured through the esb xml files to connect, listen, decode and deliver that 3rd party messages to the ESB.

            My question is more about approach. Should I write a standalone bridge or can this be integrated into the ESB. I realize that the pattern here kind of makes the ESB Server a client(s) to another server, so I'm hesitant on this approach as well.

            • 3. Re: Building a brdige between 3rd Party and JBossXXX
              Jiri Pechanec Apprentice


              how about to use scheduled listener with customized message composer. Check scheduled_services quickstart for an example.


              • 4. Re: Building a brdige between 3rd Party and JBossXXX
                Kurt Stam Master

                You can also take a look at using a JCA adapter approach.

                "One of the core features of the ESB is its ability to consume messages generated from a JCA inflow adapter. The following pages demonstrate how JCA adapters can be configured to generate message traffic into the ESB."

                * Integration of a JMS resource adapter:
                * Integration of an email resource adapter