OSGi- Open Service Gateway initiative, OSGi defines a complete and dynamic component called Bundle.
Bundle (a jar) contains a manifest file MANIFEST.MF that specifies bundles it depends on, exposed API, excecution environment, etc.,.
Creating Bundles
A Sample MANIFEST.MF built using maven bundle plugin
Felix Gogo Shell- osgi command shell, to install, update, remove bundles.
Felix Remote Shell - Telnet to remote osgi instance to administer.
Bundle (a jar) contains a manifest file MANIFEST.MF that specifies bundles it depends on, exposed API, excecution environment, etc.,.
Creating Bundles
A Sample MANIFEST.MF built using maven bundle plugin
Manifest-Version: 1.0 Export-Package: demo.osgi.sort Private-Package: demo.osgi.activator Built-By: Murali Tool: Bnd-0.0.238 Bundle-Name: SomeOSGiBundle Created-By: Apache Maven Bundle Plugin Bundle-Version: 0.0.1.SNAPSHOT Build-Jdk: 1.6.0_20 Bnd-LastModified: 1349471796912 Bundle-ManifestVersion: 2 Bundle-Activator: demo.osgi.activator.DemoBundleActivator Bundle-SymbolicName: sample.osgi.SomeOSGiBundle Import-Package: demo.osgi.sort,org.osgi.framework;version="1.4"generated for below configuration-
<plugin> <groupId>org.apache.felix</groupId> <artifactId>maven-bundle-plugin</artifactId> <version>1.4.0</version> <extensions>true</extensions> <configuration> <instructions> <Bundle-SymbolicName>${project.groupId}.${project.artifactId}</Bundle-SymbolicName> <Bundle-Name>${project.name}</Bundle-Name> <Bundle-Version>${project.version}</Bundle-Version> <Bundle-Activator>demo.osgi.activator.DemoBundleActivator</Bundle-Activator> <Private-Package>demo.osgi.activator</Private-Package> <Export-Package>demo.osgi.sort</Export-Package> </instructions> </configuration> </plugin>
Deploy bundles
Eclipse Equinox and Apache Felix are 2 OSGi implementations. Felix Gogo Shell- osgi command shell, to install, update, remove bundles.
Felix Remote Shell - Telnet to remote osgi instance to administer.
Service Platform
OSGi runtime is a service platform where a bundle provide for/ consume services from other bundle.
OSGi runtime is a service platform where a bundle provide for/ consume services from other bundle.