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

アダプターには、環境要件に合わせてカスタム・データ・バインディングを作成するオプションがあります。 カスタム・データ・バインディングは、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 を使用します。 このクラスは、アダプター・ファウンデーション・クラス jar ファイルの一部です。 テキスト形式または 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. ビジネス・オブジェクトの注釈内のアプリケーション固有の情報にアクセスするには、 com.ibm.j2ca.base.AdapterBOUtil クラスを含む CWYBS_AdapterFoundation.jar ファイルを使用します。 このクラスには、アプリケーション固有の情報をビジネス・オブジェクトから抽出するメソッドが含まれます。
  4. ビジネス・オブジェクトのアプリケーション・プログラミング・インターフェース (API) メソッドを使用して、 注釈に含まれるそれぞれの値を抽出します。 出力は、アプリケーション固有の情報を示すビジネス・オブジェクトです。
    • Inbound の場合は、非構造化レコードに含まれる recordName 値からビジネス・オブジェクトを インスタンス化します。
    • Outbound の場合は、ビジネス・オブジェクトをパラメーターとして渡すことにより、 getMetadataForObject() を呼び出します。

次の作業

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

利用条件 |


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