A bundle is the smallest unit of management for the Framework. Bundles are Java
™ Archive (JAR) files with a manifest that contains special headers. These headers describe the bundle to the OSGi framework and list the bundle's dependencies, such as the packages and services required by the bundle. Bundles can register services with the OSGi framework that other bundles can use.
The descriptive information in the manifest file differentiates bundles from other JAR files. Non-bundle JAR files often keep very little information in the manifest file. However, a bundle's manifest file usually contains descriptive information, such as the bundle's name and version, and a list of the packages and services it requires.
Bundle lifecycleParent topic: Creating OSGi bundles
The framework manages the lifecycle of bundles. As you install and run a bundle, it goes through various states.