You can develop bundles, optionally group them into composite bundles, and add them to an OSGi application or a bundle repository.
As an introduction to developing an OSGi application, you can develop a simple HelloWorld OSGi application, which consists of two bundles. One bundle defines a hello service, and the other is a client bundle that uses this service to produce the message OSGi Service: Hello World!.
A composite bundle groups shared bundles together into aggregates. It provides one or more packages at specific versions to an OSGi application. You can also extend a deployed application by adding one or more composite bundles to the composition unit for the application.
You can convert an enterprise application or a Spring application to an OSGi application.