Information Management IBM InfoSphere Master Data Management, Version 10.1

Understanding data conversion

Data objects (either SDO objects or Transfer Objects) that are used in the invocation layer are different from UI Objects in the presentation layer. Data conversion is used to separate and mediate the data between the invocation layer and the presentation layer.

Bidirectional converters are used to mediate the data from a specific integration layer to the presentation layer. The following conversions are in place:
Considerations related to converting data:
The UIWrapper classes are structurally a mirror of Web service Transfer Objects. Very few modifications are applied, as shown in the following table:
UIWrapper Transfer Object
Long java.lang.Long
Long com.ibm.wcc.service.to.SurrogateKey
java.lang.Double java.math.BigDecimal
java.util.Date java.util.Calendar
java.util.Date java.lang.String
There is a naming convention that allows you to associate the wrapper classes with their corresponding business object:
Metadata driven conversion is done to match the wrappers to corresponding SDO objects and Transfer Objects in the following XML configuration files:
The following is an example of SDOConversions.xml content:
<TOConversionContexts>
	<TOConversionContext mdmServiceName="addProductInstance" 	mdmServiceInvocationParamTO=
"com.ibm.mdm.product.service.to.Product" mdmServiceRetrievedTO=
"com.ibm.mdm.product.service.to.Product"  mdmServiceRetrievedUIWrapper=
"com.ibm.mdm.bobj.product.UIProduct"/>
	…….
</TOConversionContexts>

Unlike the tightly coupled structure of UIWrapper to Web service transfer objects, there are additional sections required when dealing with UIWrapper to SDO conversions.

The following is an example of TOConversions.xml content:
<SDOConversionContexts>
	<SDOConversionContext 
		mdmServiceName="getAllProductTypes" mdmServiceInvocationParamTO="" mdmServiceRetrievedTO="com.dwl.admin.ProductTypeBObjType" mdmServiceRetrievedUIWrapper="com.ibm.mdm.bobj.product.UIProductType"/>
	....
</SDOConversionContexts>
<AlternativeSDOFieldNames>
	<AlternativeSDOFieldName 
		sdoClassName="com.dwl.admin.ProductTypeBObjType" sdoFieldName=
     "ProductTypeName" uiWrapperClasName="com.ibm.mdm.bobj.product.UIProductType" uiWrapperFieldName="Name"/>
	....
</AlternativeSDOFieldNames>

<EncapsulateSDOFields>
	<MapSDOToUIWrapper 
sdoClassName="com.dwl.admin.SpecFormatBObjType" uiWrapperClassName="com.ibm.mdm.bobj.UISpecFormat">
<EncapsulateSDOField 
	sdoFieldName="SpecFormatId" uiWrapperClassName=
  "com.ibm.mdm.bobj.UISpecFormatTranslation" uiWrapperFieldName="SpecFormatId"/>
		....
	</MapSDOToUIWrapper>
	....
</EncapsulateSDOFields>
As the SDOConversions.xml sample content shows, there are two additional sections in the SDO .xml file that deals with structural differences between SDO objects and Transfer Objects.


Feedback

Timestamp Last updated: 4 Sep 2012

Topic URL: