ODE
  1. ODE
  2. ODE-784

Implement OSGi packaging for ODE

    Details

      Description

      Implement OSGi packaging for ODE. Make sure ODE is consumable as a set of bundles.

        Activity

        Hide
        Ancoron Luciferis added a comment -

        OK, I think I've resolved the Axis stuff (at least for the initializer).

        Now I'm facing problems with my own JPA 2.0 implementations for bpel-dao, bpel-store and scheduler. The JPA service is not yet available within GlassFish so I'm quite stuck now as manually initializing an EntityManagerFactory doesn't work too.

        Well, I really see the need to refactor the complete ODE initialization here to make it work smoothly in an JavaEE + OSGi environment.

        Show
        Ancoron Luciferis added a comment - OK, I think I've resolved the Axis stuff (at least for the initializer). Now I'm facing problems with my own JPA 2.0 implementations for bpel-dao, bpel-store and scheduler. The JPA service is not yet available within GlassFish so I'm quite stuck now as manually initializing an EntityManagerFactory doesn't work too. Well, I really see the need to refactor the complete ODE initialization here to make it work smoothly in an JavaEE + OSGi environment.
        Hide
        Rafal Rusin added a comment -

        Sounds very cool.
        I think you can publish downloadable package for glassfish with ODE as soon as you go through ping pong.
        You can check out deps by downloading distribution, unzipping war and looking up WEB-INF/lib.

        Regards

        Show
        Rafal Rusin added a comment - Sounds very cool. I think you can publish downloadable package for glassfish with ODE as soon as you go through ping pong. You can check out deps by downloading distribution, unzipping war and looking up WEB-INF/lib. Regards
        Hide
        Ancoron Luciferis added a comment -

        I'm currently preparing a list for GlassFish v3.1.

        I needed some patches here for ODE itself to get started (hint: TCCL for the ContextConfiguration, although this should be called using the OSGi service mechanisms as it is exported by Axis2 1.5.1) and I got rid of spring and use the activator for initializing all the things although I think that we should export services for the management stuff.

        In addition I'm on the way to use pure JPA (2.0) for the ode-dao persistence detaching from the implementation and using the one that is provided by the environment. In case of glassfish this is eclipselink by default.

        Additionally I have some sort of a bundle requirement list already but until it hasn't been verified to work (playing Ping-Pong of initialization problems between ODE and Axis2 currently) I'd rather not publish this list. Also I had (and I'm sure that I will have too) OSGi-fy a lot of libraries the correct way, e.g. saxon-xqj split up into 2 bundles making the javax.* API part an extension bundle that is visible to the system classloader and the other bundle containing the saxon implementation.

        There is still a lot of work to do but I think I'm on a rather clean way.

        Show
        Ancoron Luciferis added a comment - I'm currently preparing a list for GlassFish v3.1. I needed some patches here for ODE itself to get started (hint: TCCL for the ContextConfiguration, although this should be called using the OSGi service mechanisms as it is exported by Axis2 1.5.1) and I got rid of spring and use the activator for initializing all the things although I think that we should export services for the management stuff. In addition I'm on the way to use pure JPA (2.0) for the ode-dao persistence detaching from the implementation and using the one that is provided by the environment. In case of glassfish this is eclipselink by default. Additionally I have some sort of a bundle requirement list already but until it hasn't been verified to work (playing Ping-Pong of initialization problems between ODE and Axis2 currently) I'd rather not publish this list. Also I had (and I'm sure that I will have too) OSGi-fy a lot of libraries the correct way, e.g. saxon-xqj split up into 2 bundles making the javax.* API part an extension bundle that is visible to the system classloader and the other bundle containing the saxon implementation. There is still a lot of work to do but I think I'm on a rather clean way.
        Hide
        Rafal Rusin added a comment -

        The problem is that I used some proprietary bundles to run it and I'm not sure it will run without patches to external projects.
        However such example downloadable installation (for example using jetty starter kit http://wiki.eclipse.org/Jetty/Tutorial/EclipseRT-Jetty-Starter-Kit) is worth to be prepared. I'll try to prepare it soon, but I'm quite busy currently.

        Show
        Rafal Rusin added a comment - The problem is that I used some proprietary bundles to run it and I'm not sure it will run without patches to external projects. However such example downloadable installation (for example using jetty starter kit http://wiki.eclipse.org/Jetty/Tutorial/EclipseRT-Jetty-Starter-Kit ) is worth to be prepared. I'll try to prepare it soon, but I'm quite busy currently.
        Hide
        Ancoron Luciferis added a comment -

        Hi,

        is there some documentation what bundles I'm going to need in order to successfully deploy and use this OSGi bundle?

        I could find that out on my own but if someone already has a list could you please be so kind and post the link here?

        Show
        Ancoron Luciferis added a comment - Hi, is there some documentation what bundles I'm going to need in order to successfully deploy and use this OSGi bundle? I could find that out on my own but if someone already has a list could you please be so kind and post the link here?
        Hide
        Hudson added a comment -

        Integrated in ODE-trunk #367 (See https://hudson.apache.org/hudson/job/ODE-trunk/367/)

        Show
        Hudson added a comment - Integrated in ODE-trunk #367 (See https://hudson.apache.org/hudson/job/ODE-trunk/367/ )
        Hide
        Ancoron Luciferis added a comment -

        Thanx a lot. I'll take look.

        Maybe I can contribute here for Felix/Glassfish.

        Show
        Ancoron Luciferis added a comment - Thanx a lot. I'll take look. Maybe I can contribute here for Felix/Glassfish.
        Hide
        Rafal Rusin added a comment -

        I'm doing it currently. I run it successfuly under equinox (ode-axis2-bundle). Work is currently under http://github.com/rafalrusin/ode/tree/trunk-osgi, until I make test cases pass.

        Regards

        Show
        Rafal Rusin added a comment - I'm doing it currently. I run it successfuly under equinox (ode-axis2-bundle). Work is currently under http://github.com/rafalrusin/ode/tree/trunk-osgi , until I make test cases pass. Regards
        Hide
        Ancoron Luciferis added a comment -

        Hi,

        how is the status of this?

        I'm also currently on my way to bring ODE into an OSGi environment (Glassfish v3.1 currently) and I'm facing a lot of problems, especially all those javax.xml.* packages that are exported in version "0.0.0" by glassfish, but most libraries (e.g. XStream) depend on specific version ranges: "[1.0.0, 2.0.0)".

        Currently I'm about to deploy a repackaged (containing all required jar's) version of the axis2-osgi module. I've made OSGi-bundles of about 20-30 different projects (axiom, xerces, saxon, commons.*, httpcomponents, xstream, rampart, opensaml, neethi, ...) so far.

        Show
        Ancoron Luciferis added a comment - Hi, how is the status of this? I'm also currently on my way to bring ODE into an OSGi environment (Glassfish v3.1 currently) and I'm facing a lot of problems, especially all those javax.xml.* packages that are exported in version "0.0.0" by glassfish, but most libraries (e.g. XStream) depend on specific version ranges: "[1.0.0, 2.0.0)". Currently I'm about to deploy a repackaged (containing all required jar's) version of the axis2-osgi module. I've made OSGi-bundles of about 20-30 different projects (axiom, xerces, saxon, commons.*, httpcomponents, xstream, rampart, opensaml, neethi, ...) so far.
        Hide
        kevin wu added a comment -

        Hi,
        My name is Kevin Wu, and I am a student from Institute of Software, Chinese Academy of Sciences in China. I want to get involved in the GSoC2010. I just wrote my propsal for "Implement OSGi packaging for ODE" (ODE-784 in ODE JIRA).
        My proposal in Apache wiki:http://wiki.apache.org/general/soc2010-ode784-proposal
        My proposal in GSoC:http://socghop.appspot.com/gsoc/student_proposal/show/google/gsoc2010/kevin/t127021608169

        Any comments and suggestions are welcome.
        Thanks in advance for your feedback.

        Best Regards,
        Kevin Wu.

        Show
        kevin wu added a comment - Hi, My name is Kevin Wu, and I am a student from Institute of Software, Chinese Academy of Sciences in China. I want to get involved in the GSoC2010. I just wrote my propsal for "Implement OSGi packaging for ODE" ( ODE-784 in ODE JIRA). My proposal in Apache wiki: http://wiki.apache.org/general/soc2010-ode784-proposal My proposal in GSoC: http://socghop.appspot.com/gsoc/student_proposal/show/google/gsoc2010/kevin/t127021608169 Any comments and suggestions are welcome. Thanks in advance for your feedback. Best Regards, Kevin Wu.
        Hide
        Kishanthan Thangarajah added a comment -

        I'm interested in working on this idea for gsoc 2010.
        Currently I'm studying about this with the help of some online tutorials,documentations and e-books. I kindly request you to guide me to some other resources for studying more about OSGi packaging.

        Thanks,
        Kishanthan.T

        Show
        Kishanthan Thangarajah added a comment - I'm interested in working on this idea for gsoc 2010. Currently I'm studying about this with the help of some online tutorials,documentations and e-books. I kindly request you to guide me to some other resources for studying more about OSGi packaging. Thanks, Kishanthan.T
        Hide
        Rafal Rusin added a comment -

        Sounds good.
        Please note that we currently have OSGi bundle for JBI version, suited for ServiceMix 4 (http://svn.apache.org/repos/asf/ode/branches/APACHE_ODE_1.X/jbi-bundle/), which works.
        But it's great idea to have axis version bundled too.

        Show
        Rafal Rusin added a comment - Sounds good. Please note that we currently have OSGi bundle for JBI version, suited for ServiceMix 4 ( http://svn.apache.org/repos/asf/ode/branches/APACHE_ODE_1.X/jbi-bundle/ ), which works. But it's great idea to have axis version bundled too.
        Hide
        Tammo van Lessen added a comment -

        I'm willing to mentor or proxy.

        Show
        Tammo van Lessen added a comment - I'm willing to mentor or proxy.
        Hide
        Tammo van Lessen added a comment -

        Also use Jetty as OSGi web container and allow process models to be deployed in terms of OSGi bundles, which probably requires rethinking the versioning model.

        Show
        Tammo van Lessen added a comment - Also use Jetty as OSGi web container and allow process models to be deployed in terms of OSGi bundles, which probably requires rethinking the versioning model.

          People

          • Assignee:
            Rafal Rusin
            Reporter:
            Antoine Toulme
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development