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

Outbound 処理では、アダプターはデータ形式変更を使用して、WebSphere® Adapter ビジネス・オブジェクトに含まれているデータを XML などの直列化データ形式に変換します。外部アプリケーションやテクノロジーでは、それぞれの固有のデータ形式または業界標準のデータ形式しか認識しないことがあるため、この変換が必要です。データ形式変更フレームワークを使用すると、ユーザーがこの通信のギャップを埋めることができます。

以下のステップで、Outbound 処理時にデータ形式変更がどのように行われるかを説明します。
  1. ラッパー・ビジネス・グラフ (CustomerWrapperBG または FTPFileBG) に含まれているラッパー・ビジネス・オブジェクト (CustomerWrapper または FTPFile) に、J2EE コンポーネントのプロトコル固有情報が取り込まれます。実際のビジネス・オブジェクト (例えば、Customer) も、ラッパー・ビジネス・オブジェクト内で設定されます。このラッパー・ビジネス・オブジェクトおよび Outbound 操作名が、SCA 呼び出しで入力として送信されます。
  2. エンタープライズ・サービス・ディスカバリー・ウィザードの実行中に構成されたデータ・バインディングに基づいて正しいデータ・バインディングが呼び出され、このデータ・バインディングが WrapperBG ビジネス・オブジェクトを取得します。
  3. アダプターがラッパー・ビジネス・オブジェクトおよび Customer ビジネス・オブジェクトの注釈を検査します。Customer ビジネス・オブジェクトの注釈に設定されているコンテンツ・タイプに基づいて、正しいコンテンツ固有のデータ・バインディングが呼び出されます。コンテンツ・タイプと、呼び出す対象となるコンテンツ固有データ・バインディングとの間のマッピングは、ラッパー・ビジネス・オブジェクトの注釈から取得されます。コンテンツ・タイプが無効であるか、コンテンツ固有データ・バインディング名が無効な場合、データ形式変更フレームワークによって適切なエラーが生成されます。以下の例は、CustomerWrapper と Customer の両方の注釈を示しています。
    <complexType name="CustomerWrapper">
    <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="Customer">
    <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/customerwrapperbg/CustomerWrapperBG</WrapperName>
    </dtm:DataTransformationMetadata>
    </appinfo>
    </annotation>
    
    <sequence maxOccurs="1" minOccurs="1">
    <element maxOccurs="1" minOccurs="0" name="CustomerName" type="string"/>
    <element maxOccurs="1" minOccurs="0" name="Address" type="string"/>
    <element maxOccurs="1" minOccurs="0" name="City" type="string"/>
    <element maxOccurs="1" minOccurs="0" name="State" type="string"/>
    </sequence>
    </complexType>
  4. 要求がアダプターに送信され、Outbound 操作が実行されます。 アダプターが、操作の結果を表すビジネス・オブジェクトを J2EE アプリケーション・コンポーネントに返します。

パススルー処理

パススルー処理は、データ形式変更が行われない場合に発生します。パススルー処理時に UnstructuredContentDataBinding を拡張するカスタム・データ・バインディングは、他のデータ・バインディングを呼び出すことはありません。
以下のステップで、Outbound 処理時にパススルーがどのように行われるかを説明します。
  1. FTPFileBG ラッパー・ビジネス・グラフに含まれている FTPFile ラッパー・ビジネス・オブジェクトに、J2EE コンポーネントのプロトコル固有情報が取り込まれます。FTPFile ビジネス・オブジェクトの Content 属性に、非構造化ビジネス・オブジェクトが取り込まれます。このラッパー・ビジネス・オブジェクトおよび Outbound 操作名が、SCA 呼び出しで入力として送信されます。
  2. エンタープライズ・サービス・ディスカバリー・ウィザードの実行中に構成されたデータ・バインディング (FTPFileDataBinding) に基づいて正しいデータ・バインディングが呼び出され、このデータ・バインディングが FTPFileBG ラッパー・ビジネス・オブジェクトを取得します。
  3. FTPFileDataBinding はコンテンツが構造化されていないと認識し、パススルー処理を実行します。FTPFileUnstructuredRecord をインスタンス化し、実際の内容を設定し、プロトコル固有情報を設定します。
  4. このビジネス・オブジェクトがアダプターに送信され、Outbound 操作が実行されます。Outbound 操作の出力は、WBIDataBindingImpl データ・バインディングに戻されるビジネス・オブジェクトであり、ビジネス・オブジェクトが J2EE クライアントに戻されます。
このイメージについては、周囲の本文で説明します。

Outbound 処理の図


ご利用条件 |


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