メインコンテンツまでスキップ
Version: 3.4.4

コネクション

概要

コネクション情報設定

コネクションは、機関業務別、システム業務別の通信の役割を持つ。コネクショングループ、コネクションの順に定義する。

コネクショングループ

コネクションツリー画面

コネクショングループは、機関業務、システム業務を基準に、コネクションをグループ化し、コネクションを負荷分散処理する。

Connection Management > Connection Informationの左のツリーには、既に定義された機関/システム業務情報が表示され、右にはコネクショングループ/コネクションリストと詳細情報が表示される。 当該機関/システム業務から右クリック後、Add Connection Groupを選択して登録する。

構成項目

☑ 基本情報

  • Protocol Divison : TCP、HTTPなど
  • Apply Date : 当該コネクションを適用する日付。当日から実行する場合、今日より過去の日付を登録する。
  • Instance ID : 指定した場合、当該コネクションを特定インスタンスで使用する。
info

TCPを使用する場合、この他の追加設定が必要である。

当該設定は、機関業務の情報を継承することができる。ここで登録された情報は当該コネクショングループの下位のすべてのコネクションに継承される。 詳細については下のTCPを参照する。

コネクション

機関、システムとの実質的な通信チャネルの役割をする。ほとんどの情報は、コネクショングループから継承されるが、再定義することがもできる。 コネクショングループで右クリックした後、Add Connectionを選択して登録する。

登録する内容は、コネクショングループから選択したプロトコルによって異なる。

HTTP

☑ HTTP情報

  • Connection Type : クライアント、サーバーの区分を設定する。
  • Server URL : URLを設定する。
  • Context Path : コンテキストパスを入力する。サーバーURLとポート番号、そしてコンテキストパスの組み合わせがコネクションの全体のURLである。
  • KEEP ALIVE Y/N : KEEP ALIVEを使用するかどうかを設定する。
  • Transmission Timeout Time(ms) : HTTP要求を受信する際に使用するタイムアウトである。この値を登録しない場合、システムパラメータにHTTP_REQUEST_WAIT_TIMEOUT値が適用される。
info

伝送タイムアウトは、取引に対するタイムアウト時間より大きい値を設定すると、正常に動作する。

☑ ヘルスチェックポリシー

コネクションのヘルスチェック方法、伝送周期および切断条件などの情報を設定する。

ヘルスチェック方法はIdleIntervalなどに区分される。 Idle方式は、送受信がないIDLEが発生する場合にヘルスチェックする方式で、一般的に使用される。 Interval方式は、指定された時間間隔でヘルスチェックを行う方式である。

各構成項目に関する説明は、下記のとおりである。

  • Health Check Interval(sec) : : ヘルスチェックする時間間隔を設定する。(Default Value : 60)
  • Disconnection Condition Count : ヘルスチェック電文に対して応答がない場合、セッションを切断するための回数を入力する。(Default Value : 3)

☑ 追加情報

  • Line ID : 物理的な回線に対するID

TCP

☑ TCP情報

  • Send/Receive Type : 送信、受信の区分を設定する。
  • Connection Type : クライアント、サーバーの区分を設定する。
  • IP Domain、Port No. : コネクション区分に応じて、接続する対象、またはListenするサーバーのIP/PORTを設定する。
  • Connection Oriented Y/N : Connected(Connection-Oriented)、Not connected(Connectionless)を設定する。 コネクションの維持は、クライアントモードでのインターフェース処理を、コネクション接続維持状態で処理し、 コネクションを維持しないは、クライアントモードでインターフェースの要求に対する応答が処理されれば、コネクションの接続を終了する。
  • Error Condition Count : コネクションを維持しない場合、コネクション接続が失敗し続けると、そのコネクションを使用できないようにする。 この場合、コネクション接続を何回まで試すのかの最大値を入力し、その回数以上で接続できなければ、そのコネクションをDisableする。
  • Session Count : クライアントモードの場合、1つのコネクションで接続するセッション数を入力し、サーバーモードの場合、接続を受けるセッション数を入力する。

☑ フレーム情報

フレームとは、電文単位を区分する用語で、APインターフェースで使用する送受信電文は、1つのフレームに格納される。 プロトコルがTCPの場合、フレームを区分する方式を設定する必要がある。

フレーム区分方式は、Message LengthDelimiterUser Codecなどである。

1. Message Length

電文長方式は、長フィールドでフレームを区分する方式で、共通情報、Read情報、Write情報に区分される。 長フィールドとは、電文の長さ情報を持っているフィールドを意味する。

共通情報とは長フィールドの属性定義で、Read情報は電文を読み込む時に使用し、Write情報は電文を書く時に使用するものである。 各構成項目に関する説明は、下記のとおりである。

共通情報
  • Length Field Length : 長フィールド項目の長さを設定する。
  • Length Field Start Offset : 長フィールドが開始されるoffset値を設定する。
  • Length Field Character Type : 長フィールドが使用するキャラクターセットタイプを選択する。キャラクタータイプはASCIIEBCDICCHARSETBINARYなどに区分され、DefaultキャラクタータイプはCHARSETである。 CHARSETを選択すると、機関別、システム別業務設定の電文キャラクターセットが適用される。
  • Length Filed Include Y/N : ヘッダー長を含めるかどうかを設定する。Includeの場合には全体電文長、Not Includeの場合にはヘッダー長を除いた値を意味する。 上の図の「例1」は「含む」の例で、長さの値は「100」で、「例2」は「含まれていない」の例で、長さの値は「92」である。
READ情報
  • Length Filed Adjustment Value : 電文にある電文長の値を調整するのに使用する。
  • Message Skip Length : 電文の不要なフィールドをスキップし、伝達したい時に当該Offset情報を設定する。
WRITE情報
  • Length Field Create Y/N : 長フィールドを作成するかどうかを選択する。作成の場合には、電文の前に長フィールドを作成する。 上の図の例のように、長さの値は長フィールド長、長フィールドを含むかどうかなどのフィールド属性によって計算されて作成される。
2. Delimiter

デリミタ方式は区切り文字でフレームを区切る方式であり、区切り文字はLFCR+LFStx-Etxユーザー定義がある。 各区切り文字に関する説明は、下記のとおりである。

Delimiter Type
  • LF : ラインフィードでフレームを区切る。
  • CR+LF : キャリッジリターン+ラインフィードでフレームを区切る。
  • Stx-Etx : 電文の開始点はStxで区切り、終了点はEtxで区切る。
  • User Definition : 上記以外のユーザー定義区切り文字で、フレームを区切る。
デリミタ

デリミタ区切りがUser Definitionの場合、デリミタ値を入力する。

3. User Codec

ユーザーコーデック方式は、ユーザーコーデックプログラムを呼び出してフレームを区切る方式である。 ユーザーコーデックプログラムは、事前にProgram Information画面から登録する必要がある。

コーデックのプログラム開発方法は、Customizingを参照する。

☑ コネクション再試行ポリシー

コネクション区分がClientConnection Oriented : Connected コネクションの接続が途切れた時に再接続に関するポリシー情報を登録する。 各構成項目に関する説明は、下記のとおりである。

  • Connection Retry Interval(sec) : コネクションが切れた時の、再接続のための間隔を設定する。
  • Connection Retry Limit : コネクションが切れた時の、再接続のための再試行最大回数を設定する。
  • Connection Retry Waiting Time(sec) : コネクション再試行回数を超えた場合、一定時間経過後にコネクションを再試行することになるが、その時の待機時間を設定する。 0を設定した場合、再試行せずに終了する。

☑ ヘルスチェックポリシー

コネクションのヘルスチェック方法、伝送周期および切断条件などの情報を設定する。

ヘルスチェック方法はIdleIntervalなどに区分される。 Idle方式は、送受信がないIDLEが発生する場合にヘルスチェックする方式で、一般的に使用される。 Interval方式は、指定された時間間隔でヘルスチェックを行う方式である。

各構成項目に関する説明は、下記のとおりである。

  • Health Check Interval(sec) : : ヘルスチェックする時間間隔を設定する。(Default Value : 60)
  • Disconnection Condition Count : ヘルスチェック電文に対して応答がない場合、セッションを切断するための回数を入力する。(Default Value : 3)
info

ただし、コネクション区分がクライアントの場合、維持しないコネクションは設定できない。

☑ ソケットオプション

TCPコネクションのソケットオプションを設定する。データを送受信する方法を指定する。 ソケットオプションは、伝送バッファオプション、運用管理オプションなどに区分される。

1. 伝送バッファオプション
  • Nagle Algorithm Y/N ネットワーク送信アルゴリズムであるNagleアルゴリズムを使用するかどうかを表示する。 例えば、Nagleアルゴリズムが適用されると、オペレーティングシステムは、パケットのACKが届いたら、今までの累積データを一括伝送することになる。
  • Socket Send/Receive Buffer Size : TCPソケットの送信/受信バッファのサイズを表示する。
2. 運用管理オプション
  • Grace Shutdown Y/N(sec) : データ損失なく正常に終了するための設定である。 設定値(秒)は終了待機時間を意味し、設定値が0の場合は、待機せずに即時に終了する。
  • Half Close Y/N : TCPソケットのHalf closeオプションを使用するかどうかを選択する。 例えば、ハーフCloseとは、送信側でデータをWRITEしてストリームの片方をクローズする方式を意味する。
    caution

    特別な場合でない限り、Half closeオプションを使用しないことを推奨する。

  • Connection Timeout Time(s) : コネクション区分がClientの場合、相手と接続するための最大待機時間を表示する。(デフォルト : 10秒)
  • transmission Timeout Time(ms) : 電文を送信した後、応答を受信するための待機時間
3. KEEPALIVEオプション
  • KEEP ALIVE Y/N : KEEP ALIVEを使用するかどうか
  • KEEP ALIVE IDLE(秒) : 初回のKEEP ALIVE検査を開始するまでの待機時間
  • KEEP ALIVE COUNT : KEEP ALIVEパケットを送信後、応答がない場合の再送信する回数
  • KEEP ALIVE INTERVAL(秒) : KEEP ALIVEパケットを送信後、応答がない場合に再送信するまでの待機時間

☑ ハンドラ情報

ユーザーハンドラは、コネクションのイベントに対して処理するユーザープログラムである。

コネクションイベントは、ネットワークソケットで発生するコネクション有効化(channelActive)、データ読み込み(channelRead)、データ読み込み完了(channelReadComplete)、コネクション無効化(channelInActive)などのイベントを意味する。

ユーザーハンドラのプログラムは、事前にProgram Information画面から登録する必要がある。 ユーザーハンドラのプログラム開発方法はCustomizingを参照する。

ハンドラの種類
設定値説明
Inbound handler受信イベントを処理するハンドラ
Outbound handler送信イベントを処理するハンドラ
In・Outbound handler送受信イベントを処理するハンドラ
Idle State handlerIDLE状態を処理するハンドラ

☑ 追加情報

  • Selected Response Connection ID : 当該コネクションで要求を受けた場合、応答する特定コネクション
  • Line ID : 物理的な回線に対するID

☑ ソケットモード設定

サーバーのソケット処理方式を指定することができ、当該設定はエンジンで使用するすべてのTCPコネクションに適用される。

ソケットモード設定は、システムパラメータのSOCKET_MODEで設定する。BXIはNIO、Epollに対応している。

  • NIO(ノン・ブロックソケット) : すべての入出力作業で完全な非同期APIを使って処理する。
  • Epoll(リナックス専用のノン・ブロックソケット) : リナックス基盤のEpoll APIを使用して非同期処理する。 Linux Kernel 2.6.28以上バージョンでのみ対応する。