WebSphere Adapter for FTP

Data Transformation Framework

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:
  1. 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.
  2. 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.

  3. Protocol-specific information such as the event file name and the directory name are set in the business object.
  4. The business object is sent to the function selector, which invokes the specified data binding.
  5. 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>
This image is described in the surrounding text.

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:
  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. The FTPFile wrapper business object is set with protocol-specific information and the UnstructuredContent business object is set in the FTPFile business object.
  6. The FTPFile wrapper business object is set in the FTPFileBG business object and then sent to the endpoint.
This image is described in the surrounding text.

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)