4 Replies Latest reply on Jan 11, 2011 12:51 AM by davsclaus

    OSGI vs J2EE

    skay088

      Hello,

       

      I'm a bit puzzled with application deployement on FUSE.

       

      I. Should I consider 2 different worlds :

        a) J2EE with WARs / EARs deploying on a standard J2EE Container

        b) OSGi Bundles

       

      If true, is there any how-to document for swithing from a WAR to an OSGi bundle ?

       

      II. Is there any technical connector that I can plug into an existant J2EE Constainer (e.g. JBoss) or servlet container (e.g. Tomcat) linking to the FUSE ESB ?

       

       

      BR

        • 1. Re: OSGI vs J2EE
          davsclaus

          1)

          Fuse ESB can deploy OSGi bundles and regular WAR files.

           

          There is a deployment guide here - click documentation tab, and find the guide

          http://fusesource.com/products/enterprise-servicemix/

           

          Also check the getting started guide, as it shows up some basic moves. For example the basic example is covers.

           

           

          2)

          No Fuse ESB 4.x does not have such a connector. It has been discussed whether to provide a connector so you can run FUSE ESB 4.x in Apache Tomcat.

           

          Fuse ESB 3.x do have a JCA connector as far as I remember, but I'm not 100% sure.

          • 2. Re: OSGI vs J2EE
            skay088

            Thank you very much for your reply. I should precise my needs.

             

            We have different WARs / with business implemented / with WebServices inside.

            Currently those are deploying on JBoss or Tomat.

             

            I would like

            a) kick out WS technical dependencies from the artifacts and to rely on some implementation of WS-xx (e.g. JEE5/6 JBoss6, Glassfish or whatever / FUSE ? ).

            b) Rely on an infrastructure that would provide an abstraction to WS endpoind URLs.

             

            Implementing with Fuse ESB :

             

            For a) - Is it possible to keep intact the WAR artifact (with WS-xx API interfaces), so that it could deploy those either on a JEE6 container OR FUSE ESB ? What should I consider for this migration ?

             

            For b) - I need define WS URLs references as configurable addresses at deploy-time (e.g. JNDI), so that same artifact could deploy in different environment without any changes (TEST->VALIDATION-> PRODUCTION). I don't find any clear documentation about this basic need that an ESB should provide. Could you give me any entry point ?

            Is it any administration tool that would provide the view of the global configuration of the ESB (WS URL name-> WS URL runtime)

             

            BR

            • 3. Re: OSGI vs J2EE
              skay088

              For question 1) and a) / previously I just founded the answer in the forum :

              http://fusesource.com/forums/thread.jspa?messageID=7888

               

              But still remains b) about WS configuration ?

               

              Thank you !

              • 4. Re: OSGI vs J2EE
                davsclaus

                You can use any JNDI registry you like. However Fuse ESB doesn't come out of box with an implementation as for example J2EE servers would do.

                 

                In Fuse ESB the registry is using OSGi config admin. You can google that.

                Also there is bit info here

                http://fusesource.com/docs/esb/4.3/esb_runtime/ESBRuntimeConfigCommands.html