Tuesday, March 27, 2012

What's new in the OSGi Enterprise Release 5.0


Theme is the application and managing an application

  • OSGi R5 available at the end of June 2012
  • New application support services:
    • Subsystem service
      • Aggregation of resources: 
        • feature (no scoping, all shared)
        • composite (imports and exports)
        • application (only imports)
      • Declarative scoping and sharing policies
      • Dependencies can be on external resources
      • Subsystem archive: *.esa
    • Repository service
      • Local or remote repositories and resources
      • Can be used when resolving during resolve operations (resolver service)
      • Accesses OSGi Bundle Repository (OBR)
      • Implementations can be based on other repository types (e.g., maven, p2, etc.)
    • Resolver service
      • Find dependencies for provisioning
      • Perform 'what if' scenarios to test for things like conflicts between different versions of the same bundle/package
  • Other new features:
    • Service loader mediator to mediate between Java service loader and OSGi service loader.  Supports plug-ins using Java service loader without having to change code.
    • Common namespaces to define capability categories
      • Services (provide capability)
      • Extenders (require capability)
      • Contracts (states the need of a capability)
    • Improved JMX for remote management
      • Bundle wiring API
      • Several API updates
    • Configuration administration
      • Transactional, coordinated updates of bundles
      • Multiple bundles can share the same configuration
    • Build time annotations that can be used to generate component declarations at run-time.  Useful for better build tools.
Many of these improvements won't be visible to Eclipse RCP developers, since several of these things have already been developed within Eclipse (e.g., the concept of an application or product, remote repositories, etc.)  However my hopes are that future versions of RCP (i.e., E4) will adopt these features so that both client and server OSGi applications can benefit from a larger pool of tooling.

No comments:

Post a Comment