Composite bundles

A composite bundle is a bundle that contains multiple bundles.

When you have several bundles that always coexist, it makes sense to bundle them together and deploy them jointly. A composite bundle is deployed as a .cba file. You can create a composite bundle using the MDM Workbench.

A composite bundle project does not contain code. Instead, the manifest file, MANIFEST.MF, contains metadata that lists the bundles contained by the composite bundle. For example:
Bundle-Name: com.ibm.mdm.server.compositeBundle 
Bundle-SymbolicName: com.ibm.mdm.server.compositeBundle 
Bundle-Version: 1.0.0 
CompositeBundle-ManifestVersion: 1 
CompositeBundle-Content: com.ibm.mdm.server.bundle1, 
 Com.ibm.mdm.server.bundle2 
Manifest-Version: 1.0 
Import-Package: com.dwl.base, 
 Com.dwl.base.xml 
Export-Package: com.ibm.server.extensions, 
 com.ibm.mdm.server.extensions2 
CompositeBundle-ExportService: com.ibm.mdm.z.api.MyInterface 
Because a composite bundle is still a bundle, importing and exporting packages and declaring a version for itself, it has many of the same components in its manifest that a regular bundle has, but also contains a list of composite bundle contents:
CompositeBundle-Content: com.ibm.mdm.server.bundle1, 
 Com.ibm.mdm.server.bundle2 

The CompositeBundle-Content declares the bundles contained by this composite bundle. When you deploy a composite bundle, MDM Workbench will create a .cba file that contains the constituent bundles as .jar files.

In addition to exporting and importing packages, a composite bundle must also import and export services. It does this with the CompositeBundle-ExportService manifest header and also with the CompositeBundle-ImportService, as seen in this example:
CompositeBundle-ExportService: com.ibm.mdm.z.api.MyInterface