Hitachi

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


2.7.6 TP1アダプタの接続先動的変更

TP1/Clientが使用するOpenTP1システムとのRPC通信条件を,ヘッダ割当変数に設定することで動的に変更できます。

なお,接続先動的変更では,通信接続方式は変更できません。

〈この項の構成〉

(1) TP1アダプタの接続先動的変更の処理の流れ

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

図2‒73 TP1アダプタの接続先動的変更の処理の流れ

[図データ]

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

  2. 受付アクティビティは,受け取ったサービスリクエスタからの要求電文を要求電文の変数に格納します。

  3. 要求電文変数から,TP1アダプタのサービス呼び出しの実行に使用するサービス呼び出し要求電文(ボディ割当変数)を作成します。

  4. 要求電文変数から,各種接続用パラメタを決定し,データ変換アクティビティなどで,ヘッダ割当変数に格納します。

  5. TP1アダプタを呼び出します。

    サービス呼び出しでは,要求電文のヘッダ割当変数として,4.で定義したヘッダ割当変数を指定します。

  6. TP1アダプタは,指定された接続用パラメタをTP1/Clientに設定し,TP1/ClientからOpenTP1システムとのRPC通信を行います。また,応答をサービス呼び出し応答電文の変数に格納します。

  7. 応答アクティビティは,サービス呼び出し応答電文をサービスリクエスタに返します。

(2) ヘッダ割当変数の定義

TP1アダプタ接続先動的変更ヘッダ変数スキーマを使用して,ヘッダ割当変数を定義します。TP1アダプタ接続先動的変更ヘッダ変数スキーマは「<サービスプラットフォームのインストールディレクトリ>\CSC\custom-adapter\TP1\schema\templates\adptp1_dynamic_header.xsd」に格納されています。

TP1アダプタ接続先動的変更ヘッダ変数スキーマの定義例を次に示します。

TP1アダプタ接続先動的変更ヘッダ変数スキーマの定義例

<?xml version="1.0" encoding="UTF-8"?>
<!-- All Rights Reserved. Copyright (C) 2024. Hitachi, Ltd. -->
<xsd:schema elementFormDefault="qualified" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  xmlns:tpdh="http://www.hitachi.co.jp/soft/xml/cosminexus/csc/tp1dynamics/header"
  targetNamespace="http://www.hitachi.co.jp/soft/xml/cosminexus/csc/tp1dynamics/header">
  <xsd:element name="TP1DynamicConnection">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element name="watch_time" minOccurs="0" maxOccurs="1" type="xsd:unsignedShort"/>
        <xsd:element name="static_host" minOccurs="0" maxOccurs="1" type="xsd:string"/>
        <xsd:element name="host" minOccurs="0" maxOccurs="1" type="xsd:string"/>
        <xsd:element name="static_port" minOccurs="0" maxOccurs="1" type="tpdh:portNo"/>
        <xsd:element name="port" minOccurs="0" maxOccurs="1" type="tpdh:portNo"/>
        <xsd:element name="tcpip_wait_time" minOccurs="0" maxOccurs="1" type="tpdh:tcpipWaitTime"/>
        <xsd:element name="dccltinquiretime" minOccurs="0" maxOccurs="1" type="tpdh:cltInquireTime"/>
        <xsd:element name="dccltdelay" minOccurs="0" maxOccurs="1" type="xsd:unsignedShort"/>
        <xsd:element name="dcwatchtim" minOccurs="0" maxOccurs="1" type="xsd:unsignedShort"/>
        <xsd:element name="dccltextend" minOccurs="0" maxOccurs="1" type="tpdh:cltExtend"/>
        <xsd:element name="dcscdloadpriority" minOccurs="0" maxOccurs="1" type="xsd:boolean"/>
        <xsd:element name="dcwatchtiminherit" minOccurs="0" maxOccurs="1" type="xsd:boolean"/>
        <xsd:element name="dcwatchtimrpcinherit" minOccurs="0" maxOccurs="1" type="xsd:boolean"/>
        <xsd:element name="dchost" minOccurs="0" maxOccurs="1" type="xsd:string"/>
        <xsd:element name="dcnamport" minOccurs="0" maxOccurs="1" type="tpdh:portNo"/>
        <xsd:element name="dcscdport" minOccurs="0" maxOccurs="1" type="tpdh:portNo"/>
        <xsd:element name="dcrapport" minOccurs="0" maxOccurs="1" type="tpdh:portNo"/>
        <xsd:element name="dccltconnectinf" minOccurs="0" maxOccurs="1" type="tpdh:cltConnectInfo"/>
        <xsd:element name="dcsndhost" minOccurs="0" maxOccurs="1" type="xsd:string"/>
        <xsd:element name="dcsndport" minOccurs="0" maxOccurs="1" type="tpdh:scdPort"/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
 
  <xsd:simpleType name="tcpipWaitTime">
    <xsd:restriction base="xsd:int">
      <xsd:minInclusive value="-1"/>
      <xsd:maxInclusive value="65535"/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="cltInquireTime">
    <xsd:restriction base="xsd:unsignedInt">
      <xsd:minInclusive value="0"/>
      <xsd:maxInclusive value="1048575"/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="cltExtend">
    <xsd:restriction base="xsd:unsignedByte">
      <xsd:minInclusive value="0"/>
      <xsd:maxInclusive value="1"/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="portNo">
    <xsd:restriction base="xsd:unsignedShort">
      <xsd:minInclusive value="5001"/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="cltConnectInfo">
    <xsd:restriction base="xsd:hexBinary">
      <xsd:maxLength value="64"/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="scdPort">
    <xsd:restriction base="xsd:unsignedShort">
      <xsd:minInclusive value="1"/>
    </xsd:restriction>
  </xsd:simpleType>
  
</xsd:schema>

(3) 動的変更できる通信条件のパラメタ

RPC通信条件は,TP1アダプタ通信構成定義ファイル,またはTP1/Client/J環境定義ファイルに定義されています。

TP1アダプタ通信構成定義ファイル,およびTP1/Client/J環境定義ファイルの,RPC通信条件を変更できる項目を次に示します。

表2‒13 TP1アダプタ通信構成定義ファイルで変更できるパラメタ

パラメタ

説明

watch_time

応答監視時間(単位:秒)

static_host

接続先ホスト名

static_port

接続先ポート番号

host

接続先ホスト名(通信先を指定したRPCの接続先動的変更機能との互換性を確保する)

static_hostの別名のため,該当するパラメタを変更した場合はstatic_hostが変更されたことがログに出力されます。

port

接続先ポート番号(通信先を指定したRPCの接続先動的変更機能との互換性を確保する)

static_portの別名のため,該当するパラメタを変更した場合はstatic_portが変更されたことがログに出力されます。

tcpip_wait_time

メッセージ受信時の最大待ち時間(単位:秒)

表2‒14 TP1/Client/J環境定義ファイルで変更できるオペランド

オペランド

説明

dccltinquiretime

常設コネクション問い合わせ間隔最大時間

dccltdelay

最大通信遅延時間

dcwatchtim

最大応答待ち時間

dccltextend

TP1/Client/Jの機能拡張レベルの設定を指定

dcscdloadpriority

サービス要求を受け付けた窓口となるTP1/Serverを優先して負荷分散するかどうかを指定

dcwatchtiminherit

リモートAPI機能を使用したRPCを行う場合に,CUPの最大応答待ち時間をrapサーバ側に引き継ぐかどうかを指定

dcwatchtimrpcinherit

CUPの最大応答待ち時間をTP1/Server側に引き継ぐかどうかを指定

dchost

窓口となるTP1/Server

dcnamport

ネームサービスのポート番号

dcscdport

スケジュールサービスのポート番号

dcrapport

rapリスナーのポート番号

dccltconnectinf

端末識別情報として,DCCM3論理端末の論理端末名称をEBCDIKコードで指定

dcsndhost

接続するMHPが存在するノードのホスト名

dcsndport

接続するMHPのポート番号

TP1アダプタ通信構成定義ファイル,またはTP1/Client/J環境定義ファイルについては,マニュアル「サービスプラットフォーム リファレンス」の「3.4.3 TP1アダプタ通信構成定義ファイル」,および「付録A.2 TP1/Client/Jの定義」を参照してください。