8 Replies Latest reply on Mar 27, 2013 4:56 PM by jrantav

    JBoss implementaion of OSGi

    mohsenkoohi

      Hello,

      Does JBoss have its own OSGi implementation or does it use a 3rd party framework (e.g. Felix, Equinox, KF) ?

       

      Thanks

        • 1. Re: JBoss implementaion of OSGi
          djchapm

          This forum is for "jbosgi" which is the jboss implementation of OSGi for Jboss AS7.

          • 2. Re: JBoss implementaion of OSGi
            mohsenkoohi

            OK,

            Thanks,

             

            And why JBoss doesn't use another implementations of OSGi?

            • 3. Re: JBoss implementaion of OSGi
              djchapm

              You can use a different implementation.  See #6 here: https://docs.jboss.org/author/display/JBOSGI/FAQ

              1 of 1 people found this helpful
              • 4. Re: JBoss implementaion of OSGi
                mohsenkoohi

                Thanks,

                • 5. Re: JBoss implementaion of OSGi
                  thomas.diesler

                  The purpose of the JBoss OSGi effort is to provide OSGi functionality in AS and ultimately in the Enterprise Application Platform (EAP)

                  We have our own Core Framework so that we can integrate at various levels with AS. The most obvious ones are class loading and management.

                  By deploying a 3rd party framework (i.e. Felix, Equinox) you would create an isolated world and could not access middleware services that AS provides. JavaEE deployment could also not access OSGi services.

                  In AS it should ultimately not make a difference if you deploy a thing as OSGi bundle or as another deployment type. OSGi metadata only determine how the classloaders are wired together.

                  • 6. Re: JBoss implementaion of OSGi
                    djchapm

                    Hi Thomas - this is great information, and I think it could maybe be expanded on and put in your user guide introduction, or into FAQ.

                     

                    You mention "ultimately in EAP" however I thought you ~officially~ announced that it was going to be in EAP6.1 and supported?

                     

                    What you say about 'not make a difference' on bundling or not - sort of indicates that 'deployments' will all be treated as OSGI in AS7.  You have any papers/notes on this or user guides?  EAP6.1 Alpha release is out - I'd like to understand better regarding how I do this and still maintain features of OSGI like hot deploy/upgrade without losing sessions etc.

                     

                    Also - I think you mentioned two biggest strengths of leveraging Jbosgi as opposed to another container.  Leverageing classloader and speed of AS7, and JEE/CDI access.  My company brings up this question a lot - why Jbosgi vs something more mature?  Why lock ourselves into AS7 when we can develop these components for any app server?  It would be nice to clearly state advantages of jbosgi over gemini/servicemix and equinox/felix so that I can reference it WRT architectural decisions. 

                     

                    Thanks!

                      Dan C.

                    • 7. Re: JBoss implementaion of OSGi
                      thomas.diesler

                      I thought you ~officially~ announced that it was going to be in EAP6.1 and supported?

                      JBoss productization is an entirely differnt process from project development. I cannot comment on what level of OSGi support you will get with a given EAP version.

                      Please contact the people from support and product management. AFAIK, OSGi will still be "Tech Preview" in EAP6.1

                       

                      indicates that 'deployments' will all be treated as OSGI in AS7

                      All deployemnts (including OSGi Bundles) are treated as Modules. OSGi is not the bottom-most layer, jboss-modules is. I'm working on a jbosgi umbrella release that will contain documentation coverage on this.

                       

                      It would be nice to clearly state advantages of jbosgi over gemini/servicemix and equinox/felix so that I can reference it WRT architectural decisions.

                      The question is what quality of middleware servies you want. The approach of taking an existing OSGi framework and deploying various EOSGi components on it is effectively equivalent of building your own middleware platform/appserver. It be naive to assume that you get the same level of itegration as with an appserver, who's primary business is to provide middleware services that integrate with each other. It of course all depends on the level of quality you are looking for. For webapp, for example ... do you need

                       

                      • session replication, failover
                      • end-to-end security integrated with the persistence layer
                      • deployment on multiple nodes
                      • servlet 3.0 support
                      • etc. ...

                       

                      Non of which is adressed by the OSGi Alliance in their OSGi WebApp specification. Its the same story for persistence, messaging, transaction, CDI, security, remoting, management, naming, threading, etc...

                       

                      IMHO, it be much better so stick with a platform that provides the complete set of middleware services that a non-trival enterprise application needs. On top of that there maybe a requirement for modularity and a dynamic service model, which OSGi can provide, but not the other way arround.

                      • 8. Re: JBoss implementaion of OSGi
                        jrantav

                        Just to clarify this as I was hunting the same information earlier on: OSGi is not supported in EAP in 6.1, it's still a tech preview.