During inbound processing, Data Transformation Framework converts
the event data to a WebSphere® Adapter business object. This conversion
is necessary because the components in WebSphere Process Server consume only WebSphere Adapter
business objects.
The following steps describe how data transformation occurs during
inbound processing:
- Each business object is selected from the event file based on the SplitCriteria
property, which contains the delimiter that is used to separate the business
objects in an event file.
- The DefaultObjectName and EventContentType properties from the ActivationSpec
are set to the corresponding objectName and contentType values in the business
object.
The business object name can be the name of a generic wrapper business
graph, such as FTPFileBG or the name of the content-specific wrapper business
graph, such as SalesOrderWrapperBG. The EventContentType property must be
set to a valid value.
- Protocol-specific information such as the event file name and the directory
name are set in the business object.
- The business object is sent to the function selector, which invokes the
specified data binding.
- The content-specific business object is set on the wrapper business object.
Protocol-specific information, such as the directory name and the file name,
is set in the wrapper. The wrapper is set in a business graph and sent to
the endpoint. An example of the annotation for both the SalesorderWrapper
and SalesOrder business objects is shown here.
<complexType name=" SalesorderWrapper ">
<annotation>
<appinfo source="http://www.ibm.com/xmlns/prod/websphere/j2ca/
datatransformation/databindingmapping">
<dtm:DataBindingMapping xsi:type="dtm:DataBindingMapping"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:dtm="http://www.ibm.com/xmlns/prod/websphere/j2ca/
datatransformation/databindingmapping">
<DataBindingConfig xsi:type="dtm:XMLBOSerializerDataBindingMetadata">
<ContentType>text/xml</ContentType>
<DataBindingClass>com.ibm.j2ca.extension.emd.runtime.
WBIXMLDataBinding</DataBindingClass>
</DataBindingConfig>
</dtm:DataBindingMapping>
</appinfo>
</annotation>
...
<complexType name="FTPFile">
<annotation>
<appinfo source="http://www.ibm.com/xmlns/prod/websphere/
j2ca/datatransformation/
databindingmapping">
<dtm:DataBindingMapping xsi:type="dtm:DataBindingMapping"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:dtm="http://www.ibm.com/xmlns/prod/websphere/j2ca/
datatransformation/databindingmapping">
<DataBindingConfig xsi:type="dtm:XMLBOSerializerDataBindingMetadata">
<ContentType>text/xml</ContentType>
<DataBindingClass>com.ibm.j2ca.extension.emd.runtime.WBIXMLDataBinding</
DataBindingClass>
</DataBindingConfig>
</dtm:DataBindingMapping>
</appinfo>
</annotation>
...
<complexType name=" SalesOrder ">
<annotation>
<appinfo source="http://www.ibm.com/xmlns/prod/websphere/j2ca/
datatransformation/databindingmapping">
<dtm:DataTransformationMetadata xmlns:dtm="http://www.ibm.com/
xmlns/prod/websphere/j2ca/datatransformation/databindingmapping">
<ContentType>text/xml</ContentType>
<Charset></Charset>
<WrapperName>http://www.ibm.com/xmlns/prod/websphere/j2ca/ftp/
salesorderwrapperbg/SalesOrderWrapperBG</WrapperName>
</dtm:DataTransformationMetadata>
</appinfo>
</annotation>
<xs:complexContent>
<xs:sequence minOccurs="1" maxOccurs="1">
<xs:element name="Id" type="xs:integer"/>
<xs:element name="Priority" type="xs:integer" default="3"/>
<xs:element name="Item"
xmlns:child="http://... "
type="child:OrderLineItem" minOccurs="0"/>
</xs:sequence>
</xs:complexContent>
</xs:complexType>
Inbound data transformation processing diagram
Pass through processing
Pass through processing occurs
when data transformation will not happen.
The following steps describe how
data pass through occurs during inbound processing:
- Each business object is retrieved from the event file based on the specified
split criteria. The DefaultObjectName and EventContentType properties contained
in the ActivationSpec are set to the corresponding record name and content
type contained in the unstructured business object. The default object name
must be set to the name of generic wrapper business graph, for example, FTPFileBG.
- Protocol-specific information like the event file name and the directory
name are set in the unstructured business object. If the PassThrough has a
chunk file or if it is FilePassByReference or default one is also indicated.
- For FilePassByReference processing, the directory name corresponds to
the local archive directory and the file name of the event file is appended
with a timestamp.
- For chunking processing, the directory name corresponds to the local archive
directory and the filename represents the event file. The ChunkInfo property
represents the chunk details.
- For normal pass through processing, the directory name corresponds to
the local archive directory and the filename represents the event file.
- When the EventContentType is either set to null, or is
invalid, or does not contain a matching entry in the data binding mapping
annotation of the wrapper, the inbound scenario is processed as pass through.
If the DefaultObjectName property is not, it is set to name of the generic
wrapper business graph, for example, FTPFileBG.
- The FTPFileUnstructuredRecord business object is sent to the function
selector, which instantiates the wrapper and checks the annotation of the
data binding mapping for the contentType and DataBinding property combinations.
This allows pre-parsing to occur in the function selector based on the content
type of the incoming FTPFileUnstructuredRecord business object. If no matching
data binding is defined, for example, contentType is null,
invalid, or does not contain an entry in the data binding mapping, or the
invoked data binding could not resolve to a business object, no content-specific
data binding is invoked and an unstructured content business object is instantiated.
- The FTPFile wrapper business object is set with protocol-specific information
and the UnstructuredContent business object is set in the FTPFile business
object.
- The FTPFile wrapper business object is set in the FTPFileBG business object
and then sent to the endpoint.
Inbound passthrough processing diagram
Terms of use |
Last updated: Mon 30 Oct 2006 03:48:52
(c) Copyright IBM Corporation 2005, 2006.
This information center is powered by Eclipse technology (http://www.eclipse.org)