The new specification enables developers to more easily extend the functionality of their software and improve flexibility for networked devices and enterprise software services.
The OSGi Alliance introduced the new release at the OSGi DevCon 2014 conference in New York this week, which featured presentations by OSGi leaders including Peter Kriens—known by many as the father of OSGi.
Initially known as the Open Services Gateway initiative, OSGi describes a modular system and a service platform for Java that implements a dynamic component model—which does not exist in stand-alone Java environments. Modularity reduces software complexity. The OSGi programming model realizes the promise of component-based systems.
With OSGi, applications or components, coming in the form of bundles for deployment, can be remotely installed, started, stopped, updated and uninstalled without requiring a reboot. And management of Java packages and classes is specified in great detail. The OSGi specifications have evolved beyond the original focus of service gateways and are now used in applications ranging from mobile phones to the open-source Eclipse integrated development environment (IDE).
Overall, the OSGi Core Specification delivers an open, common architecture for enterprises, service providers, software developers and vendors, gateway operators and equipment manufacturers to develop, deploy and manage software services in a coordinated manner. It also enables entirely new categories of networked devices and enterprise software services due to its flexible and managed deployment of services.
Moreover, OSGi technology provides a modular architecture for large-scale distributed systems as well as small, embedded applications. Building agile systems from in-house and off-the-shelf modules also reduces development and maintenance expenses, the alliance said.
"Any developer working with products that need a robust, dynamic environment, especially those with agile components, will benefit from the new and updated features in OSGi Core Release 6," Dan Bandera, president of the OSGi Alliance, said in a statement. "Alliance members drive OSGi specifications to meet a broad range of market requirements. With Release 6, service providers, enterprises, device manufacturers or anyone else working with a networked system within a wide span of industries can leverage the spec to dynamically extend their solution and service portfolio according to market needs."
Release 6 features include a new Data Transfer Objects Specification, which defines an easily serializable data object format for use in capturing and transferring state information. There also are Type Roles for Semantic Versioning and Versioning Annotations to document version and type role information for packages. Tools can use this information for baseline comparisons and OSGi bundle manifest generation. There also is a Service Scope and Prototype Service Factory for component models like Declarative Services and Blueprint to identify the scope of a registered service object, including whether a bundle can properly obtain multiple service objects for a referenced service.
The new, updated features are generally applicable to all OSGi users and were driven by experiences and needs stemming from the technical OSGi expert groups and Bnd tooling, the alliance said.