Migrating older customizations to work with OSGi

InfoSphere MDM introduced OSGi in version 11.0. If you are upgrading from an earlier release and have customized your solution without using the MDM Workbench, this content will help you migrate your existing InfoSphere MDM customizations to use OSGi.

InfoSphere MDM has numerous places where alternative implementations for a given 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.

In versions of InfoSphere MDM version 10.1 and earlier, 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). Then Java™ reflection (that is, Class.forName) was used to create the object of the implementation. That worked when there was one class loader for the entire application. It doesn’t work in OSGi where the implementation can be in any bundle having its own class loader. The Rule for porting MDM customizations into OSGi is to identify each of these places where things can be plugged and unplugged, and to replace the traditional method of looking up the implementation with an OSGi service lookup.

For information about how OSGi is implemented in each phase of an InfoSphere MDM transaction, see each of the following sections.