1 2 Previous Next 23 Replies Latest reply on Sep 30, 2008 6:04 AM by vickyk

    OSGi Bundle Repository

    starksm64

      I have gone over the OSGi bundle repository (OBR) draft:
      http://www2.osgi.org/div/rfc-0112_BundleRepository.pdf

      as input into what the profile service spi needs to be for managing the deployment content. Its a short, easy read.

      The OBR is a read-only view of bundles that primarily focuses on a federated repository for resolving bundle dependencies. The main notions is a collection of resources (a generalization of a bundle), and resources have requirements (an ldap type of filter on resource properties and/or capabilities) and capabilities (a named collection of properties). Version is a first class notion in that its a required resource property. There is an xml schema for describing the contents of a repository, and federation of repositories relies on this in terms of linking repositories together.

      The two initial tasks are to:
      1. Revise the current profile service repository spi to support the OBR requirements. I'm working on this as part of JBAS-4362.
      2. Define how the OBR integrates with the current OSGi mc integration work. It would seem that this is simply an injection of a org.osgi.servicex.obr.Resolver implementation for use by the dependency layer. The main point of this thread is to discuss how we do that.

        • 1. Re: OSGi Bundle Repository
          starksm64

          I added a https://svn.jboss.org/repos/jbossas/projects/osgi/trunk/repository/ containing the OBR interfaces from felix since the current felix code would not compile for me. Its just a few interfaces. As we flesh this out any changes/feedback should be presented to the felix devs.

          • 2. Re: OSGi Bundle Repository
            alesj

            The current 'work in progress' code is back into the MC - under OSGi module.
            Should I move this code there?

            • 3. Re: OSGi Bundle Repository
              starksm64

              Yes.

              • 4. Re: OSGi Bundle Repository
                alesj

                OK, first thing tomorrow in the morning.
                It's almost 2am here now ;-).

                • 5. Re: OSGi Bundle Repository
                  kconner

                  Ales and I started having a discussion about moving the source but we felt that a more appropriate place to to have the discussion was in the forum.

                  I was suggesting that we create a second project for the repository api, keeping this separate from the current osgi integration project (osgi-int). I was also suggesting that we should create an osgi top level directory and move the osgi-int project into it, keeping the clutter in the top level to a minimum.

                  The current layout

                  mc ---> osgi-int

                  would therefore become something like the following
                  mc ---> osgi ---> osgi-int
                   |
                   |-> osgi-api ---> repository
                   |
                   |-> <other apis>
                  

                  The idea would be to keep each of the api projects separate.

                  Does anyone have any other thoughts/suggestions? Ales, can you add your thoughts to this?

                  • 6. Re: OSGi Bundle Repository
                    starksm64

                    Sounds fine. One thing I saw was that the osgi-int code had explicit dependencies on felix implementation classes. Such code should also be separated from the osgi-int project.

                    • 7. Re: OSGi Bundle Repository
                      alesj

                       

                      "scott.stark@jboss.org" wrote:
                      Sounds fine.

                      I proposed different 'strategy'.
                      I don't like the idea of equal MC modules being at different source levels.
                      So I would keep the current osgi-int and add a new 'varia' module, where I would keep all external APIs:

                      mc --> varia --> src
                       --> osgi-api
                       --> [some]-api
                      

                      "scott.stark@jboss.org" wrote:
                      One thing I saw was that the osgi-int code had explicit dependencies on felix implementation classes. Such code should also be separated from the osgi-int project.

                      That was the initial / old code, in a separate osgi project under jbossas/projects. Not part of MC/OSGi-int.

                      • 8. Re: OSGi Bundle Repository
                        starksm64

                        Having the apis under a varia/src project does not allow for separate artifacts though. You need a maven project source tree per artifact. It would have to be something like:

                        mc ---> varia
                         |
                         |-> osgi-api ---> repository / pom.xml
                         |
                         |-> <other apis> / pom.xml
                         |-> [some]-api / pom.xml
                        




                        • 9. Re: OSGi Bundle Repository
                          alesj

                          Whatever makes Maven happy. :-)
                          My point is to keep the core MC modules equal, I don't really care about external source APIs, specially the one's that are there for APIs sake.
                          But I agree with you on the artifacts - it should be as easy as possible to create them - and use/reference them in other MC modules.

                          • 10. Re: OSGi Bundle Repository
                            kconner

                            Okay, the last sounds good. I'll look at it later today.

                            • 11. Re: OSGi Bundle Repository
                              kconner

                              The source has been moved across and the poms updated.

                              An update from the root is necessary to pull everything in.

                              • 12. Re: OSGi Bundle Repository
                                alesj

                                Cool, great job.
                                As you could see, I already fixed javadocs. :-)

                                • 13. Re: OSGi Bundle Repository
                                  kconner

                                  Already fixed them! You got in before I had even committed the poms! :-)

                                  • 14. Re: OSGi Bundle Repository

                                     

                                    "alesj" wrote:
                                    "scott.stark@jboss.org" wrote:
                                    Sounds fine.

                                    I proposed different 'strategy'.
                                    I don't like the idea of equal MC modules being at different source levels.
                                    So I would keep the current osgi-int and add a new 'varia' module, where I would keep all external APIs:


                                    Not varia. Varia is a bad idea in JBossAS and a bad idea here.

                                    Call it jboss-osgi-services (or if it really is external why do we need a project anyway,
                                    can't this just be integrated as a jar?)

                                    1 2 Previous Next