Hitachi

Cosminexus V11 BPM/ESB基盤 サービスプラットフォーム 解説


2.7.5 TP1アダプタの接続先情報の動的変更

TP1アダプタの接続先は,接続先のOpenTP1のホスト名とポート番号をTP1アダプタに設定することで動的に変更できます。ビジネスプロセスで接続先のOpenTP1のホスト名とポート番号を設定しておくと,TP1アダプタを実行したときに接続先が変更されます。これによって,作成するTP1アダプタの数を削減できます。

TP1アダプタの接続先は,動的に変更できます。ビジネスプロセスで接続先を設定しておくと,TP1アダプタを実行したときに接続先が変更されます。これにより,作成するTP1アダプタの数を削減できます。

〈この項の構成〉

(1) 接続先動的変更の処理の流れ

TP1アダプタの接続先動的変更の処理の流れを次に示します。

  1. 要求電文内のヘッダ電文から接続先情報を取得します。

  2. 取得した接続情報を基にサービスと通信を行います。

なお,接続情報がヘッダ電文に設定されていないなど,接続先情報の取得に失敗した場合は,リクエスト処理がエラーになります。

(2) 接続先情報を動的に変更する例

接続先情報ファイルを使用して,接続先情報を動的に変更する例を説明します。

(a) ビジネスプロセスの例

接続先情報ファイルを使用するビジネスプロセスの例を次の図に示します。

図2‒70 接続先情報ファイルを使用するビジネスプロセスの例(TP1アダプタの場合)

[図データ]

  1. サービスリクエスタがビジネスプロセスにサービス部品の実行を要求します。

  2. サービスリクエスタから送付する要求電文内のヘッダ電文に接続先情報(OpenTP1のホスト名とポート番号)を設定します。

  3. ビジネスプロセスはXMLの要求電文を受付アクティビティで受け取ります。

  4. ビジネスプロセスがヘッダ要求データおよび要求データを生成します。

  5. ヘッダ要求データの接続先情報を,データ変換アクティビティなどで接続先情報変数に設定します。

  6. ビジネスプロセスは接続先情報変数に含まれる接続先情報をTP1アダプタに設定して,サービス部品を呼び出します。

  7. ビジネスプロセスが,サービス部品の実行結果をXMLの応答電文として構成し,応答アクティビティで返します。

  8. サービスリクエスタへの応答が返されます。

  9. サービスリクエスタへの応答では,XMLの応答電文が送付されます。

(3) ユーザ定義受付を生成するWSDLの作成例

ユーザ定義受付を生成するWSDLの作成例を次に示します。

なお,この例では,接続先となる OpenTP1のホスト名とポート番号をSOAPヘッダで送付しています。

[図データ]

(a) データ変換アクティビティの設定例

図2-70 接続先情報ファイルを使用するビジネスプロセスの例(TP1アダプタの場合)」に示すビジネスプロセスで使用するデータ変換アクティビティの設定例を次に示します。

ここでは,変換元に「ヘッダ要求データ」を,変換先に「接続先」を指定しています。

図2‒71 データ変換アクティビティの設定例(TP1アダプタの場合)

[図データ]

また,変換のマッピングは,次の図に示すとおりに定義します。

図2‒72 変換のマッピングの設定例(TP1アダプタの場合)

[図データ]

(b) 接続先情報ファイルの定義

OpenTP1に接続するためのホスト名とポート番号をTP1アダプタに設定するための接続先情報ファイル(XMLスキーマ)に定義します。

サービスプラットフォームでは,接続先情報ファイルを提供しています。

  • 接続先情報ファイルの格納先

    <サービスプラットフォームのインストールディレクトリ>/CSC/schema/connection/connection_tp1_adapter.xsd
    注意事項

    TP1アダプタの接続先情報を動的に変更する場合,サービスプラットフォームで提供している接続先情報ファイルを使用してください。提供している接続先情報ファイルを使用しなかった場合,動作は保証されません。

  • 接続先情報ファイルの形式

    <?xml version="1.0" encoding="UTF-8"?>
    <!--
     DO NOT EDIT THIS FILE.
     -->
    <xsd:schema
        elementFormDefault="qualified"
        targetNamespace="http://www.hitachi.co.jp/soft/xml/cosminexus/csc/connection/change/tp1"
        xmlns:xsd="http://www.w3.org/2001/XMLSchema">
      <xsd:element name="tp1Address">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element name="host" type="xsd:string"/>
            <xsd:element name="port" type="xsd:int"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
    </xsd:schema>
  • 設定できる要素

    host 〜<文字列>((1−255文字))

    接続先のホスト名を指定します。この要素は,「通信先を指定したRPC」を利用する場合に有効になります。したがって,その他の機能(ネームサービス,スケジューラダイレクト機能,またはリモートAPI機能)を使用したRPCによって接続する場合は,この要素は無効になります。

    port 〜<符号なし整数>((0−65535))

    接続先のポート番号を指定します。この要素は,「通信先を指定したRPC」を利用する場合に有効になります。したがって,その他の機能(ネームサービス,スケジューラダイレクト機能,またはリモートAPI機能)を使用したRPCによって接続する場合は,この要素は無効になります。

(c) 接続先情報の設定

図2-70 接続先情報ファイルを使用するビジネスプロセスの例(TP1アダプタの場合)」に示すビジネスプロセスで使用する接続先情報の設定例を次に示します。なお,接続先情報は,サービス呼出アクティビティのヘッダ割当変数に設定します。ここで設定した情報が,TP1アダプタで参照できる情報になります。

図2‒73 接続先情報の設定例(サービス呼出アクティビティの設定)

[図データ]