OSGi bundles and bundle archives
Applications can be deployed as versioned OSGi bundles, with each bundle typically having the granularity of an enterprise application module (for example, a webapplication). A bundle is a JAR or web application archive (WAR) file with standard OSGi metadata that describes aspects of the bundle, including the Java packages that the bundle exports, the Java packages that the bundle requires, and the bundle version.
Subtopics
- Enterprise bundle archives
An enterprise bundle archive (EBA) file contains a set of OSGi bundles deployed as a single OSGi application, and that are isolated from other OSGi applications.- Composite bundles
A composite bundle groups shared bundles together into aggregates. It provides one or more packages at specific versions to an OSGi application. We can also extend a deployed application by adding one or more composite bundles to the composition unit for the application.- Application bundles, use bundles and provision bundles
Application bundles are instance-specific, and each instance of an application includes its own instance of the bundle. Shared bundles are not instance-specific, and a single instance of a package or service from a shared bundle can be used by many applications. Shared bundles are further sub-divided into use bundles and provision bundles.- Web application bundles
A web application bundle (WAB) is a bundle containing a web application and that can be deployed in an OSGi container. A WAB is an OSGi bundle version of a web application archive (WAR) file.- EJB bundles
An EJB bundle is a bundle containing EJBs and that can be deployed in an OSGi container. An EJB bundle is an OSGi bundle version of an EJB JAR file.- Bundle and package versioning
Every bundle or export package has a version number in a specific format, and every import package statement has a version range. When we specify a version range, we need to consider current policy and best practices, and requirements for compatibility with both earlier and future versions.
Update bundle versions for an EBA asset Administer bundle repositories Create a service bundle Create a client bundle
File name: was322.html
prettyPrint();