0 Replies Latest reply on Oct 28, 2010 11:24 AM by Andrew Horton

    The service location layer

    Andrew Horton Newbie

      Hello,

       

      I am currently managing a development which is our first SOA project. We are wanting to push down plenty of SOA infrastructure with this first project, including the ESB - we are looking at JBoss community technologies. The developers, unfortunately, do not think that we need an ESB.

       

      Calling applications might be Java applications looking to call services using JMS or external applications using SOAP. They have created a service (let's call it Service1) in such a way that the calling application (App1) needs to check the registry first as follows:

       

      App1 makes request to Registry: Where are instances of Service1?
      Registry replies with list of instances of Service1 with their URIs
      App1 chooses which service to call (using whatever algorithm) and calls that instance of Service1

       

      Now, I think this is the wrong way of doing it. Why? Because each calling application must understand the registry and how to choose service instances. Service instances might be selected to facilitate meeting business rules or to loadbalance for performance or resilience. I would rather embed that logic inside the architecture, in this case inside the ESB.

       

      So, my architecture would work like this for App1

       

      App1 calls Service1 via the ESB
      ESB makes request to Registry: Where are instances of Service1?
      Registry replies with list of instances of Service1 with their URIs
      ESB chooses which service to call (using whatever algorithm) and forwards request to that instance of Service1

       

      My developers are saying "No way, this is not how an ESB works. JBoss ESB cannot do this."

       

      Can someone tell me (A) am I crazy or stupid (B) is this what an ESB should be able to do and (C) can JBoss ESB do this and what feature names should I shout at my developers?

       

      Before I go, let me say these guys are good. I don't want to bad mouth developers, which I am sure a lot of you guys out here are (and what I used to do, before I lost track of all the new stuff). I am just looking for a second opinion here.

       

      Thanks in advance

       

      Andy