GlassFish Server Open Source Edition 3.1 - OSGi
The high-level goals for OSGi for 3.1 are to improve upon OSGi technology usage and to integrate the latest Felix and OSGi technology releases. Scope
GlassFish will continue to use and distribute Felix as the default OSGi runtime. Currently, GlassFish uses Felix 2.0.2 and in this release we shall upgrade to Felix 3.0.x. Felix 3.0 (yet to be released) has a new resolver which is not only faster, but also has many important bug fixes. Embeddable GlassFish (OSGi-02)We will allow GlassFish to be embedded in existing OSGi as well as non-OSGi runtime and yet function like a regular GlassFish. See this for example. Implementation of Enterprise OSGi Specs (OSGi-03)In order to support hybrid (OSGi + Java EE) application development, we shall try to implement as many relevant enterprise OSGi specs as possible, but because of resource constraints and other technical issues we may not be able to meet our end goal. At the very least, we shall try to cover the following specs and be compliant with the specs: OSGi/HTTP Service RFC #66 (OSGi/Web Container) RFC #98 (OSGi/JTA) RFC #122 (OSGi/JDBC) RFC #142 (OSGi/JNDI) : Due to lack of resource, this won't be done as part of 3.1. We will try to provide alternative means to lookup OSGi services from EE components. RFC #143 (OSGi/JPA) : Since GlassFish uses EclipseLink as the persistence provider, the implementation will be part of eclipselink. OSGi & Java EE integration (Experimental) (OSGi-04)These are to do with features related to hybrid applications that are not currently covered by OSGi enterprise specs, but we shall implement them as we think they are important use cases: OSGi/EJB Container: Automatic enlistment of EJBs as OSGi services and allow EJBs to run with OSGi context JPA in hybrid applications: This is not currently covered in RFC #143 JAX-RS and OSGi: Better integration of Jersey bundles in glassfish, explore use of OSGi/HTTP Service by Jersey, etc. CDI and OSGi: To be explored Resolve META-INF/services issue in OSGi. Generic OSGi Features (OSGi-05)This includes features that are not just specific to enterprise OSGi use case, but they will be very much used by enterprise OSGi users. e.g., a) OBR integration: We plan to have OBR integration in place so that GlassFish deployment process can resolve dependencies of bundles via OBR. OBR integration will also help us having a better provisioning story for embedded glassfish use case, for we can then provide a la carte access to GF modules via OBR. b) Adopt Apache Gogo shell: This provides a scripting environment for administering OSGi runtime c) Better integration of OSGi web console and admin console Design DocumentMilestone Schedule
|
Task | Target Milestone | Start | End Date | Owner(s) | Feature ID | Status / Comments |
---|---|---|---|---|---|---|
Integrate Felix 3.0.x | M2 | Richard | OSGi-01-01 | Complete - Integrated 3.0.6 | ||
Improve module metadata | M2 | Chriss Casso (He will coordinate with various module owners) | OSGi-02-01 | Started | ||
Support Embedded GlassFish in OSGi | M3 | Sahoo, Richard | OSGi-02-02 | Complete | ||
Verify OSGi HTTP Service implementation specification compliance | M4 | M2 | M4 | Sahoo, Mohit | OSGi-03-01 | Complete, Success ratio:29/29 |
RFC #66 CT | M4 | M2 | M4 | Mohit, Sahoo | OSGi-03-02 | Started - Need to investigate test failures |
RFC #122 CT | M4 | M3 | M4 | Mohit, Sahoo | OSGi-03-03 | Started - success ratio: 5/5 (with embedded derby driver), 4/5 (with any other driver because of CT issue 1841 |
RFC #98 CT | M4 | M2 | M4 | Mohit, Sahoo | OSGi-03-04 | Started - success ratio: 228/263 - Analysing test failures, issues - 13321 ,13325 |
RFC #142 | M5 | M3 | M5 | Sahoo | OSGi-03-05 | Dropped - lack of resource |
RFC #143 | M6 | Sahoo | OSGi-03-06 | Provide sample and document steps for using RFC #143 in GlassFish. Sahoo working with EclipseLink team. | ||
Allow EJBs to run within OSGi context | M5 | Sahoo | OSGi-04-01 | Complete | ||
JPA in hybrid applications | M3 | Sahoo | OSGi-04-02 | Complete | ||
Support multiple JPA providers for OSGi enterprise applications | M5 | Sahoo | OSGi-04-03 | Need to support Hibernate and Open/JPA - Dropped at this point of time | ||
Jesey/OSGi | Jersey Team | OSGi-04-04 | Complete - See Jersey user guide | |||
Explore use of CDI in hybrid applications | M5 | Siva | OSGi-04-05 | Complete, See T-13 in the CDI tasks page | ||
Provide an API to handle META-INF/services in OSGi context | M2 | Sahoo, Richard | OSGi-04-06 | Complete | ||
Stop relying on Thread context class loader for META-INF/services | M3 | Jersey, Metro Team | OSGi-04-07 | |||
JCA resource such as jdbc-resource, jms-resource (connection-factory & destination) as OSGi service | M2 | JCA Team | OSGi-04-08 | Complete | ||
Make OBR runtime part of GlassFish | M2 | Sahoo | OSGi-05-01 | Complete | ||
Integration of OBR with deployment backend | M5 | Richard | OSGi-05-02 | Dropped - lack of resource - User advised to use OSGi console to deploy via OBR | ||
Provide a la carte access to GF modules via OBR | M4 | Richard | OSGi-05-03 | Dropped - lack of resource | ||
Adopt Apache Felix Gogo shell | M4 | Richard | OSGi-05-04 | Complete (Oct. 6, 2010) | ||
Better integration with OSGi Web Console and GF Admin Console | M4 | Mohit | OSGi-05-05 | Complete. (usage) |