カスタム・データ・バインディングの作成

アダプターには、使用する環境のニーズを満たすカスタム・データ・バインディングを作成するためのオプションが提供されています。カスタム・データ・バインディングは、Inbound 処理中にはデータ・ストリームをビジネス・オブジェクトに変換し、Outbound 処理中にはビジネス・オブジェクトをデータ・ストリームに変換するために作成する Java クラスです。 エンタープライズ情報システム (EIS) および JMS のエクスポートおよびインポートをカスタム・データ・バインディングを呼び出すように構成することができます。

この作業について

以下のステップでは、カスタム・データ・バインディング作成のプロセスについて説明します。

この作業の 実行方法

  1. カスタム・データ・バインディングは、commonj.connector.runtime.RecordHolderDataBinding インターフェースを使用して実装します。 このインターフェースは、WebSphere Process Server ランタイム・ライブラリーに含まれる commonj.connector.jar ファイルに配置されています。
  2. カスタム・データ・バインディングを作成するには、以下に示す Inbound 情報か Outbound 情報のどちらかを使用します。
    • Inbound 処理でデータ・ストリームをビジネス・オブジェクトに変換するには、アダプターがカスタム・データ・バインディングの public void setRecord(Record arg0) および public DataObject getDataObject() メソッドを呼び出します。まず setRecord を呼び出し、 次に getDataObject を呼び出します。
      1. setRecord メソッドは、パラメーターとして com.ibm.j2ca.base.UnstructuredRecord をとります。このクラスは、Adapter Foundation Class jar ファイルの一部です。 text または byte[] などのビジネス・オブジェクト・レコードは、このメソッド内のカスタム・データ・バインディングに送信されます。その他の必要な情報も送信されます。
      2. getDataObject() は、ビジネス・オブジェクト・レコードを受け取り、上記のように設定し、必要なデータ変換を行って、必要なビジネス・オブジェクトを戻します。
      3. 非構造化レコードに存在する getRecordName() は、ビジネス・オブジェクトのインスタンス化および注釈内にある必要な ASI の抽出 (ステップ 3 で説明) に使用できる完全修飾ネームスペースを取得します。 この ASI は、データ・バインディングによって使用されます。例えば、次のように指定します。

        recordName = http://www.ibm.com/xmlns/prod/websphere/j2ca/ftp/customerwrapperbg/CustomerWrapperBG

        namespace = http://www.ibm.com/xmlns/prod/websphere/j2ca/ftp/customerwrapperbg

        object name = CustomerWrapperBG

    • Outbound 処理でビジネス・オブジェクトをデータ・ストリームに変換するには、アダプターがカスタム・データ・バインディングの public void setDataObject(DataObject dataObject) および public Record getRecord() メソッドを呼び出します。まず setDataObject を呼び出し、 次に getRecord を呼び出します。
      1. setDataObject メソッドは、パラメーターとしてビジネス・オブジェクトをとります。getRecord の出力のタイプは、 com.ibm.j2ca.base.UnstructuredRecord である必要があります。
      2. ステップ 3 で説明したとおり、アプリケーション固有の情報は入力ビジネス・オブジェクトから取得されます。
      3. getRecord メソッドは必要な変換を行い、非構造化レコードの形式でネイティブ・データを戻します。

    区切りテキストを含む EIS ネイティブ・データの例は、Employee~Create~sarath~IBM~Bangalore~560071 のようになります。

    ビジネス・オブジェクト・スキーマは以下のとおりです 。
    complexType name="Employee"
    			sequence maxOccurs="1" minOccurs="1"
    				element maxOccurs="1" minOccurs="0" name="name" type="string"/
    				element maxOccurs="1" minOccurs="0" name="company" type="string"/
    				element maxOccurs="1" minOccurs="0" name="city" type="string"/
    				element maxOccurs="1" minOccurs="0" name="zip" type="string"/
    			/sequence
    		/complexType
  3. ビジネス・オブジェクトの注釈内にあるアプリケーション固有情報にアクセスするには、CWYBS_AdapterFoundation.jar ファイルを使用します。このファイルには、com.ibm.j2ca.base.AdapterBOUtil という名前のクラスが含まれます。このクラスには、 ビジネス・オブジェクトからアプリケーション固有情報を抽出するためのメソッドが含まれます。
  4. ビジネス・オブジェクトのアプリケーション・プログラミング・インターフェース (API) のメソッドを使用して、注釈に含まれる各値を抽出します。 出力は、アプリケーション固有情報を表すビジネス・オブジェクトです。
    • Inbound の場合、非構造化レコードに含まれる recordName の値からビジネス・オブジェクトをインスタンス化します。
    • Outbound の場合、ビジネス・オブジェクトをパラメーターとして渡すことによってgetMetadataForObject() を呼び出します。

次に行う作業

WPS_install_directory¥samples¥doc¥CustomEISDataBinding¥index.html にある詳細手順を使用して、カスタム・データ・バインディングを構成します。

ご利用条件 |


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