3. What OSGi is for?
• Resolve jar hells
• In-JVM Service Oriented Architecture
• Common concerns standartized (logging,
configuration, http, security, user prefs, ...)
• Enforce component development approach
• Dynamic component life cycle: no need to
restart
4. What is OSGi?
• De-Facto industry standard
• Modularity at the JVM level (jar)
• Module life-cycle managment (start, stop,...)
• Service Registry
• Dependency management / librairies
versionning
5. Bundles
• What is a bundle ?
• Group of java classes and additionnals
resources (jar)
• Describe inbound and outbound
dependencies in the manifest
• Services for sophiscated behaviours
• Aggregated as a component
6. Life-Cycle
• Bundles / jars are installed / resolved
(dependencies) / active ...
• Life-Cycle operations are fully protected
with the embedded security
7. Services
• Service contract are specified by java
interface
• 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,
Configuration, http, …
8. 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