InfoSphere® MDM has numerous places where alternative implementations for a capability can be plugged in.
For example, different parsers can be used for a transaction, or different business proxies can be invoked. Whatever the pluggable capability is, there is always a method to identify the implementation for that capability with the information on hand at that point in the transaction.
Prior to InfoSphere MDM version 11.0, the method was to use the information to look up the implementation for a capability in a properties file (for example, TCRM.properties, DWLCommon.properties, and so forth) or in the InfoSphere MDM configuration table. Then Java™ reflection (Class.forName) was used to create the object of the implementation and you incorporated your customization directly into the InfoSphere MDM Enterprise Archive (EAR) file, then redeployed your own custom MDM.ear file. That worked when there was a single class loader for the entire InfoSphere MDM application, but this method does not work in OSGi where the implementation can be in any bundle having its own class loader, and InfoSphere MDM is no longer deployed using an EAR file.
With OSGi, InfoSphere MDM is packaged in the form of an Enterprise Business Archive (EBA). With OSGi, there is no longer a need to open, customize, repackage, and redeploy your customized InfoSphere MDM, because you will never need to open the InfoSphere MDM EBA to include your customizations. Instead, you can generate your customizations in the form of OSGi bundles and package these bundles into Composite Bundle Archives (CBA), which are essentially bundles of bundles. You affix the CBA to InfoSphere MDM as it is running using the IBM® WebSphere® Application Server management console.
Your customizations must be put into OSGi bundles, and those bundles must be packaged into CBA files. You will be customizing InfoSphere MDM by affixing your custom CBAs to the InfoSphere MDM EBA file using the IBM WebSphere Application Server management console.