OSGi
|
The OSGi Alliance is an open standards organization formed by Sun Microsystems, IBM, Ericsson and others in March 1999 (after it was first called the Connected Alliance). Over the past few years it has specified a Java programming language 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 Services have been defined: Log, Configuration management, Preferences, Http Service (runs servlets), XML parsing, Device Access, Package Admin, Permission Admin, Start Level, User Admin, IO Connector, Wire Admin, Jini, and Universal plug-and-play (UPnP).
- R1 released in May 2000
- R2 released in May 2002
- R3 released in March 2003
The Framework implements an elegant, complete, and dynamic component model. Applications (called bundles) can be remotely installed, started, stopped, updated and uninstalled without requiring a reboot (management of Java packages/classes is specified in painstaking detail). Life cycle management is defined in APIs which allows the remote downloading of management policies. The service registry allows bundles to detect new services, or the going away 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 from mobile phones to the new version of the open source Eclipse IDE (which now includes an open source compliant version of IBM's OSGi framework called SMF). The application areas of the OSGi Service Platform are: service gateways, cars, mobile telephony, industrial automation, building automation, PDAs, grid computing, white goods (made e.g. by Bosch und Siemens Hausgeräte GmbH), entertainment (e.g. iPronto), fleet management, and IDEs.
Specifications are developed by the members in an open process and made available to the public free of charge and without licensing conditions. The OSGi Alliance has a compliance program that is open to members only. Currently 12 compliant implementations exist.
In 2003 Eclipse selected OSGi as the underlying runtime for their plugin architecture. The Equinox (http://www.eclipse.org/equinox/) project experimented with this idea and built the runtime for Eclipse R3 which has now been officially released (June 2004). From e.g. ProSyst there is also an Eclipse plugin available specifically for OSGi developers.
In October 2003, Nokia, Motorola, ProSyst and other OSGi members formed a Mobile Expert Group (MEG) that will specify a service platform for the next generation of smart mobile phones, addressing some of the needs that MIDP cannot manage - other than CDC or CLDC.
See also
References
- OSGi Service Platform, Release 3, IOS Press, ISBN 1-58603-311-5
External links
- OSGi web site (http://www.osgi.org/) - Information and specification download
- Frequently Asked Questions (http://www.osgi.org/about/faqs.asp) for Open Services Gateway Initiative
- OSGi World Congress (http://www.osgiworldcongress.com/) - 2004 congress in October in Barcelona
- ProSyst Software GmbH (http://www.prosyst.com/) - Leading OSGi Software Provider for Remote Management and Service Delivery
- aQute: OSGi Info (http://www.aqute.biz/) - Information about OSGi and access to seminars
- Oscar: An OSGi framework implementation (http://oscar.objectweb.org/) - Open Source OSGi framework implementation under BSD license
- Oscar Bundle Repository (OBR) (http://oscar-osgi.sourceforge.net/) - A community-oriented bundle repository and incubator for OSGi bundle developers
- Knopflerfish OSGi (http://www.knopflerfish.org/) Open Source OSGi implementation under BSD license
- Oxygen Project (http://oxygen.sourceforge.net/)
- ServiceBinder (http://gravity.sourceforge.net/servicebinder) - Automated Service Dependency Management for the OSGi services platform
- Dependency Manager (http://www.osgi.org/news_events/documents/AutoManageServiceDependencies_byMOffermans.pdf) - Automatically managing service dependencies in OSGi
- Ubiserv by Gatespace Telematics (http://www.gatespacetelematics.com/) - Open source OSGi release 3 certified platform, built on Knopflerfish (http://www.knopflerfish.org/)
- Fun with OSGi (http://osgifun.blogspot.com) - A blog about OSGi bundle development etc.de:OSGi