OSGi
The OSGi Alliance (formerly known as the Open Services Gateway initiative) 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 management model, a service registry, an Execution environment and Modules. Based on this framework, a large number of OSGi Layers, APIs, and Services have been defined.
Keep on reading Wikipedia OSGi definition.
Learn
Official documentation
1. Specifications
¬ OSGi Service Platform Release 4 Version 4.2 – Early Draft
Books
![]() |
OSGi In Practice, by Neil Bartlett [Draft] |
![]() |
OSGi and Apache Felix 3.o Beginner’s Guide PACKT publishing |
Other sources
Creating OSGi bundles, by Costin Leau, on 18th february, 2008.
Dynamic Java web site.
OSGi Look web site
[FR] La plate-forme dynamique de service OSGi™, by Didier Donsez
Blogs
Implementations
¬ Knopflerfish
¬ Apache Felix
¬ Eclipse Equinox
¬ Concierge OSGi
Component Model frameworks
¬ BluePrint Services
¬ iPojo
¬ Peaberry
¬ SCA OSGi
¬ Service Component Runtime (SCR), a.k.a. Declarative Services (DS), specified in §112 of service compendium
¬ SpringDM (Dynamic module)
Projects
Apache CXF
Apache CXF is an open source services framework.
The Apache CXF Distributed OSGi subproject provides the Reference Implementation of the Distribution Provider component of the OSGi Remote Services Specification (Chapter 13 in the OSGi 4.2 Compendium Specification).
¬ User Guide
¬ Apache CFX API
ETH Zurich Projects
¬ flowSGi Project
flowSGi is an approach for a Collaborative Middleware for Mobile Devices . It brings together the paradigm of Fluid Computing and the dynamic of the OSGi . The project was initiated as a master’s thesis by Jan S. Rellermeyer and is now an ongoing research project at Information and Communication Systems Research Group (IKS) at ETH Zurich .
¬ R-OSGi
R-OSGi runs as an OSGi bundle and facilitates distribution for arbitrary OSGi framework implementations.
–¬ R-OSGi API
Main concepts
Layers interaction
Bundle life cycle
OSGi Commands
| Command | Description |
|---|---|
| start | Starts a bundle given an ID or symbolic name |
| stop | Stops a bundle given an ID or symbolic name |
| install | Adds a bundle given a URL for the current instance |
| uninstall | Removes a bundle given a URL for the current instance |
| update | Updates a bundle given a URL for the current instance |
| active | Lists all active bundles in the current instance |
| headers | List the headers for a bundle given an ID or symbolic name |
| ss | Lists a short status of all the bundles registered in the current instance |
| services | Lists services given the proper filter |
| diag | Runs diagnostics on a bundle given an ID or symbolic name |



![OSGi - Layers interaction [Source : OSGi & Apache Felix 3.o] OSGi - Layers interaction [Source : OSGi & Apache Felix 3.o]](http://dkor.files.wordpress.com/2010/01/web_osgi_archi_layersinteraction.png?w=600&h=448)
![OSGi Bundles' life cycle [Source : OSGi and Apache felix 3.o] OSGi Bundles' life cycle [Source : OSGi and Apache felix 3.o]](http://dkor.files.wordpress.com/2010/01/web_osgi_bundlelifecycle.png?w=600&h=449)











![Dave Mathews - Panda 3D 1.6 Game Engine [PACKT] Dave Mathews - Panda 3D 1.6 Game Engine [PACKT]](http://dkor.files.wordpress.com/2007/03/book_packt_panda3d1-6gameengine1.png?w=600)




1 Comment
Jump to comment form | comment rss [?] | trackback uri [?]