Business proxies
Business proxies are constructed based on the name of the transaction or its type (for example, persistent, inquiry, or search).
Before OSGi
In InfoSphere® MDM version
10.1 and earlier, the transaction name or transaction types were mapped
to the corresponding business proxy in the TCRM.properties or
the DWLCommon.properties files like this:
#################################
# Data Stewardship #
#################################
BusinessProxy.tcrm.comparativePreviewCollapseParties=
com.dwl.tcrm.coreParty.bp.TCRMComparativePreviewCollapseBP
BusinessProxy.tcrm.getComparativeParties=
com.dwl.tcrm.coreParty.bp.TCRMGetComparativePartiesBPThen, reflection was used to instantiate the business proxy and to invoke its execute method.
With OSGi
Business Proxies are created using
OSGi services that are business proxy factories, and you must provide
a blueprint definition for the factories that construct your business
proxies. For each business proxy, use the following template:
<service id="BusinessProxy.getComparativeMultipleParties"
interface="com.ibm.mdm.common.servicefactory.api.BusinessProxyFactory">
<service-properties>
<entry key="transaction.name" value="Your_Transaction_Name" />
</service-properties>
<bean class="com.ibm.mdm.common.servicefactory.BusinessProxyFactoryImpl" >
<argument type="java.lang.Class" value="Business Proxy Class Name" />
<argument ref="blueprintBundle"/>
</bean>
</service>To map Business Proxies to a given
transaction type, use the following service definition template:
<service id="BusinessProxy" interface="com.ibm.mdm.common.servicefactory.api.BusinessProxyFactory" ranking="10">
<service-properties>
<entry key="transaction.type">
<list>
<value>com.dwl.base.requestHandler.DWLTransactionPersistent</value>
</list>
</entry>
</service-properties>
<bean class="com.ibm.mdm.common.servicefactory.BusinessProxyFactoryImpl" >
<argument type="java.lang.Class" value="my.new.customBP" />
<argument ref="blueprintBundle"/>
</bean>
</service>Note the ranking must be greater than "0".
Possible transaction.type values are: com.dwl.base.requestHandler.DWLTransactionInquirycom.dwl.base.requestHandler.DWLTransactionSearchcom.dwl.base.requestHandler.DWLTransactionPersistent