4 Replies Latest reply on Sep 18, 2007 5:58 PM by Burr Sutter

    Native services in ESB

    Richard Achmatowicz Novice

      Question on terminology: what is the difference between a native service and non-native service on ESB?

      In a document we all know and love, it states that a native service is one which is currently identified in the jboss-esb.xml, and that a service so defined is 'directly' hosted. This is clear for services whose actions are implementations of classes deployed on the ESB (AS version or ESB server version).No proxies are used in performing actions.

      But for example in the webservice quickstarts, a webservice is deployed independently of the corresponding ESB service, and accessed from the ESB service from within an action of the service via org.jboss.soa.esb.actions.soap.SOAPClient.

      Is this form of access viewed as access by proxy or not? Or in other words, is this webservice native or non-native?
      * If not, what is the procedure for accessing an external webservice via proxy from within an action.
      * If it is, then are all web services accessed via ESB considered non-native?

        • 1. Re: Native services in ESB
          Burr Sutter Master

          As it relates to Web Services:
          Native using the org.jboss.soa.esb.actions.soap.SOAPProcessor
          Non-Native using org.jboss.soa.esb.actions.soap.SOAPClient

          Native means it is based on JBossWS and hosted within our container.
          Non-Native means it is normally external to our container (e.g. a .NET service).

          Does that help a little?


          • 2. Re: Native services in ESB
            Mark Little Master

            The definition should be irrespective of the transport.

            A native ESB service, aka ESB-aware service, is on that understands the Message format directly and without the aid of an intermediary or adapter (e.g., gateway).

            A non-native service is one that is deployed outside of the ESB and communicates using a data format that is not supported directly by ESB-aware services. It needs an adapter (e.g., gateway) to interact with services/consumers.

            • 3. Re: Native services in ESB
              Richard Achmatowicz Novice

              Thanks, that does help a little. Does that mean there will be similar paris of methods


              for every other 'preexisting' or legacy service (EJBs, Spring-POJOs, ...) which we want to acces from the ESB?

              • 4. Re: Native services in ESB
                Burr Sutter Master

                Not really. EJBs can be handled via their remote interface therefore can be local or remote. Spring has its own action that assumes it is local.

                By "local" I mean in the same container/JVM.

                We do have quickstarts for both SLSB and Spring POJOs that demonstrate how to interact. So while not the same exact technique it is close. The difference is that with SOAP/XML you can essentially generate a client on the fly. With Spring & EJB that is a little bit harder.