The (formerly known as the Open Services Gateway initiative - now an obsolete name) is an open
Standards Organization founded in March 1999. The Alliance and its members have specified a
Java -based service platform that can be remotely managed. The core part of the specifications is a
Framework that defines an application
Life Cycle model and a
Service Registry . Based on this framework, a large number of OSGi Layers, APIs, and Services have been defined:
- Security
- Module
- Life Cycle, and Service Layers
- Framework API
- Package Admin Service
- Start Level Service
- Conditional Permission Admin
- Permission Admin Service
- URL Handlers Service
- Log Service
- HTTP Service (runs Servlet s)
- Device Access
- Configuration Admin Service
- Metatype Service
- Preferences Service
- User Admin Service
- Wire Admin Service
- I/O Connector Service
- Initial Provisioning
- UPnP Device Service
- Declarative Services
- Event Admin Service
- Deployment Admin
- Auto Configuration
- Application Admin Service
- DMT Admin Service
- Monitor Admin Service
- Foreign Application Service
- Service Tracker
- XML Parser Service
- Position
- Measurement and State
- Execution Environments
The Framework implements a complete and dynamic
Component Model - something that is missing in standalone Java/VM environments.
Applications or components (coming in the form of
Bundle s for deployment) can be remotely installed, started, stopped, updated and uninstalled without requiring a
Reboot - management of
Java Package s/
Class es is specified in great detail.
Life Cycle Management is done via APIs which allow for remote
Downloading of management policies. The
Service Registry allows bundles to detect the addition of new
Service s, or the removal of services, and adapt accordingly.
The original focus was on service gateways but the applicability turned out to be much wider. The OSGi specifications are now used in applications ranging from and
Application Server s.
The OSGi specification is developed by the members in an open process and made available to the public free of charge under the
OSGi Specification License . The OSGi Alliance has a s contains 3 entries.
The OSGi Alliance was founded by
Ericsson ,
IBM ,
Oracle ,
Sun Microsystems and others in March 1999 (before incorporating as a nonprofit corporation it was called the Connected Alliance).
Among its members are (.
The Alliance has a Board of Directors which provides the organization's overall governance. OSGi Officers have various roles and responsibilities in supporting the Alliance. Technical work is conducted within Expert Groups (EGs) chartered by the Board of Directors, and non-technical work is conducted in various Working Groups and Committees. The technical work conducted within Expert Groups include developing specifications, reference implementations, and compliance tests. These Expert Groups, working together, have produced four major releases of the OSGi specifications ( as of 2007 ).
There are dedicated Expert Groups for the Enterprise, Mobile, Vehicle and the Core Platform areas. The Enterprise Expert Group (EEG) is the newest EG and is addressing Enterprise / Server-side applications.
In October 2003, -based service platform for the next generation of smart mobile phones, addressing some of the needs that
CLDC cannot manage - other than
CDC . MEG became part of OSGi as with R4.
Also in 2003 have Eclipse plug-ins available specifically for OSGi developers).
There is a vibrant project.
- OSGi Release 1 (R1): May 2000
- OSGi Release 2 (R2): October 2001
- OSGi Release 3 (R3): March 2003
- OSGi Release 4 (R4): October 2005 / September 2006
- --- Core Specification (R4 Core): October 2005
- --- Mobile Specification (R4 Mobile / JSR-232): September 2006
- OSGi Release 4.1 (R4.1): May 2007 (AKA JSR-291)
The new features of OSGi R4 in brief are as follows :
- Powerful new modularization capabilities providing enhanced encapsulation of networked services that can share a single VM.
- Modularized class sharing and hiding of implementation details.
- Advanced handling of multiple versions of the same classes so old and new applications can execute within the same VM.
- Localization of OSGi bundle manifests enabling service deployment anywhere.
- Enhancements in security and policies: The new Conditional Permission Admin service provides an elegant and simple way to manage networked services securely. It also supports dynamic policies that can depend on external (custom) conditions. Combined with R4 support for digital signatures, this provides a central security solution to large deployments of products using the OSGi Service Platform.
- A Declarative Services specification that addresses memory footprint issues that can prevent small embedded devices from using a service oriented architecture to support multiple applications. Additionally, it significantly simplifies the service-oriented programming model by declaratively handling the dynamics of services.
- Compatibility with Release 3, requiring no changes for existing OSGi bundles, applications, or services.
- RFC-2608 ( Service Location Protocol )
- Sun JINI ™ (Java Intelligent Network Infrastructure)
- Sun JCP JSR-8 (Open Services Gateway Specification)
- Sun JCP JSR-232 (Mobile Operational Management)
- Sun JCP JSR-246 (Device Management API)
- Sun JCP JSR-249 (Mobile Service Architecture for CDC)
- Sun JCP JSR-277 (Java™ Module System)
- Sun JCP JSR-291 (Dynamic Component Support for Java™ SE - AKA OSGi 4.1)
- Sun JCP JSR-294 (Improved Modularity Support in the Java™ Programming Language)
- OSGi Service Platform, Release 3, IOS Press, ISBN 1-58603-311-5
- Programming Open Service Gateways with Java Embedded Server(TM) Technology, ISBN 0-20171-102-8