Applications can be deployed as versioned OSGi bundles, with each bundle typically having the granularity of an enterprise application module (for example, a web module). A bundle is a Java™ archive (JAR) or web application archive (WAR) file with standard OSGi metadata that describes aspects of the bundle, for example, the Java packages that the bundle exports, the Java packages that the bundle requires, and the bundle version.