データ形式変更フレームワーク

Inbound 処理では、データ形式変更フレームワークにより、イベント・データが WebSphere® Adapter ビジネス・オブジェクトに変換されます。WebSphere Process Server 内のコンポーネントは、WebSphere Adapter ビジネス・オブジェクトしか消費しないため、この変換が必要です。

以下のステップで、Inbound 処理時にデータ形式変更がどのように行われるかを説明します。
  1. 各ビジネス・オブジェクトは SplitCriteria プロパティーに基づいて、イベント・ファイルから選択されます。このプロパティーには、イベント・ファイル内でビジネス・オブジェクト同士を分けるための区切り文字が含まれている 。
  2. ActivationSpec の DefaultObjectName および EventContentType プロパティーは、ビジネス・オブジェクトの対応する objectName および contentType 値に設定されます。

    ビジネス・オブジェクト名は、汎用ラッパー・ビジネス・グラフの名前 (FTPFileBG など) またはコンテンツ固有のラッパー・ビジネス・グラフの名前 (SalesOrderWrapperBG など) にすることができます。EventContentType プロパティーは、有効な値に設定する必要があります。

  3. プロトコル固有の情報 (イベント・ファイル名やディレクトリー名など) は、ビジネス・オブジェクトで設定されます。
  4. ビジネス・オブジェクトが関数セレクターに送信され、指定されたデータ・バインディングが呼び出されます。
  5. コンテンツ固有のビジネス・オブジェクトが、ラッパー・ビジネス・オブジェクト上で設定されます。 プロトコル固有の情報 (ディレクトリー名およびファイル名など) が、ラッパーで設定されます。ラッパーがビジネス・グラフ内で設定され、エンドポイントに送信されます。SalesorderWrapper ビジネス・オブジェクトと SalesOrder ビジネス・オブジェクトの注釈の例を以下に示します。
    <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 データ変換処理の図

パススルー処理

パススルー処理は、データ形式変更が行われない場合に発生します。
以下のステップで、Inbound 処理時にパススルーがどのように行われるかを説明します。
  1. 各ビジネス・オブジェクトが、指定された分割基準に基づいてイベント・ファイルから取り出されます。ActivationSpec に含まれている DefaultObjectName および EventContentType プロパティーは、非構造化ビジネス・オブジェクトに含まれている対応するレコード名およびコンテンツ・タイプに設定されます。デフォルト・オブジェクト名は、汎用ラッパー・ビジネス・グラフの名前 (例えば、FTPFileBG) に設定する必要があります。
  2. プロトコル固有の情報 (イベント・ファイル名やディレクトリー名など) は、非構造化ビジネス・オブジェクトで設定されます。
    • FilePassByReference 処理の場合、ディレクトリー名はローカル・アーカイブ・ディレクトリーに対応し、イベント・ファイルのファイル名にタイム・スタンプが付加されます。
    • チャンク処理の場合、ディレクトリー名はローカル・アーカイブ・ディレクトリーに対応し、ファイル名はイベント・ファイルを表します。ChunkInfo プロパティーは、チャンクの詳細を表します。
    • 標準のパススルー処理の場合、ディレクトリー名はローカル・アーカイブ・ディレクトリーに対応し、ファイル名はイベント・ファイルを表します。
  3. EventContentType が null に設定されているか無効な場合、またはラッパーのデータ・バインディング・マッピング注釈に一致する項目が含まれていない場合、Inbound シナリオはパススルーとして処理されます。 DefaultObjectName プロパティーを設定しない場合、汎用ラッパー・ビジネス・グラフの名前 (例えば、FTPFileBG) に設定されます。
  4. FTPFileUnstructuredRecord ビジネス・オブジェクトが関数セレクターに送信されると、ラッパーがインスタンス化され、contentType および DataBinding プロパティーの組み合わせのデータ・バインディング・マッピングの注釈が検査されます。 これにより、着信 FTPFileUnstructuredRecord ビジネス・オブジェクトのコンテンツ・タイプに基づいて、 関数セレクターで事前構文解析が行われるようになります。一致するデータ・バインディングが定義されていない場合 (例えば、contentType が null の場合や、無効な場合や、データ・バインディング・マッピングに項目が含まれていない場合、または呼び出されたデータ・バインディングをビジネス・オブジェクトに解決できない場合) は、 コンテンツ固有のデータ・バインディングは呼び出されず、非構造化コンテンツ・ビジネス・オブジェクトがインスタンス化されます。
  5. FTPFile ラッパー・ビジネス・オブジェクトがプロトコル固有の情報で設定され、UnstructuredContent ビジネス・オブジェクトが FTPFile ビジネス・オブジェクトに設定されます。
  6. FTPFile ラッパー・ビジネス・オブジェクトが FTPFileBG ビジネス・オブジェクト内で設定され、エンドポイントに送信されます。
このイメージについては、周囲の本文で説明します。

Inbound パススルー処理の図


ご利用条件 |


(c) Copyright IBM Corporation 2005, 2006.
(C) Copyright IBM Japan 2006
このインフォメーション・センターでは Eclipse テクノロジー (http://www.eclipse.org) が採用されています。