• Alban Seurat
• Application architect
What OSGi is for?
• Resolve jar hells
• In-JVM Service Oriented Architecture
• Common concerns standartized (logging,
conﬁguration, http, security, user prefs, ...)
• Enforce component development approach
• Dynamic component life cycle: no need to
What is OSGi?
• De-Facto industry standard
• Modularity at the JVM level (jar)
• Module life-cycle managment (start, stop,...)
• Service Registry
• Dependency management / librairies
• What is a bundle ?
• Group of java classes and additionnals
• Describe inbound and outbound
dependencies in the manifest
• Services for sophiscated behaviours
• Aggregated as a component
• Bundles / jars are installed / resolved
(dependencies) / active ...
• Life-Cycle operations are fully protected
with the embedded security
• Service contract are speciﬁed by java
• Bundles can implement these interfaces and
register them with the service registry
• Clients of the service use the registry, or
listen to events of de/registration.
• Standard Services provided : Logging,
Conﬁguration, http, …
What’s next ?
• OSGi Release 4.2 (R4.2): September 2009
• OSGi Enterprise 4.2: Mars 2010
• Distributed OSGi:
• No Code change
• Service exposed over the network
• Distributed Service Registry