2.7.6 TP1アダプタの接続先動的変更
TP1/Clientが使用するOpenTP1システムとのRPC通信条件を,ヘッダ割当変数に設定することで動的に変更できます。
なお,接続先動的変更では,通信接続方式は変更できません。
(1) TP1アダプタの接続先動的変更の処理の流れ
TP1アダプタの接続先動的変更の処理の流れを次の図に示します。
-
サービスリクエスタがビジネスプロセスにサービス部品の実行を要求します。
-
受付アクティビティは,受け取ったサービスリクエスタからの要求電文を要求電文の変数に格納します。
-
要求電文変数から,TP1アダプタのサービス呼び出しの実行に使用するサービス呼び出し要求電文(ボディ割当変数)を作成します。
-
要求電文変数から,各種接続用パラメタを決定し,データ変換アクティビティなどで,ヘッダ割当変数に格納します。
-
TP1アダプタを呼び出します。
サービス呼び出しでは,要求電文のヘッダ割当変数として,4.で定義したヘッダ割当変数を指定します。
-
TP1アダプタは,指定された接続用パラメタをTP1/Clientに設定し,TP1/ClientからOpenTP1システムとのRPC通信を行います。また,応答をサービス呼び出し応答電文の変数に格納します。
-
応答アクティビティは,サービス呼び出し応答電文をサービスリクエスタに返します。
(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通信条件を変更できる項目を次に示します。
パラメタ |
説明 |
---|---|
watch_time |
応答監視時間(単位:秒) |
static_host |
接続先ホスト名 |
static_port |
接続先ポート番号 |
host |
接続先ホスト名(通信先を指定したRPCの接続先動的変更機能との互換性を確保する) static_hostの別名のため,該当するパラメタを変更した場合はstatic_hostが変更されたことがログに出力されます。 |
port |
接続先ポート番号(通信先を指定したRPCの接続先動的変更機能との互換性を確保する) static_portの別名のため,該当するパラメタを変更した場合はstatic_portが変更されたことがログに出力されます。 |
tcpip_wait_time |
メッセージ受信時の最大待ち時間(単位:秒) |
オペランド |
説明 |
---|---|
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の定義」を参照してください。