生成するコネクタAPファイル

生成するコネクタAPについて説明したマニュアルです。

  1. 生成ファイルの種類
  2. 処理部オブジェクトクラス
  3. インタフェース部オブジェクトクラス
  4. IDL定義
  5. コネクタ定義ファイルの定義
  6. クライアント用MFDL定義情報ファイル

生成ファイルの種類

C++版

サーバAPデザイナは、コンポーネント単位毎に以下の5種類からなる9つのファイルを生成します。

ファイル種別 ファイル名 ファイルの内容
処理部オブジェクトクラス コンポーネント名_s.cpp
(HP-UXの場合は_s.C)
ホストとの通信を行う処理を記述したファイルです。
インタフェース部は、このクラスのオブジェクトを利用します。
コンポーネント名_s.h 処理部クラスのヘッダファイルです。
インタフェース部オブジェクトクラス コンポーネント名_i.cpp
(HP-UXの場合は_i.C)
クライアントアプリケーションにサービスを提供するクラスを記述したファイルです。
コンポーネント名_i.h インタフェース部クラスのヘッダファイルです。
コンポーネント名_ix.cpp
(HP-UXの場合は_ix.C)
インタフェース部の処理のうち、コード変換やデータ変換の処理を集めたファイルです。
IDL定義ファイル コンポーネント名.idl インタフェース部オブジェクトクラスが提供するサービスインタフェースのIDL定義を記述したファイルです。
コネクタ定義ファイル コンポーネント名.txt コネクタAP実行時のトレース設定情報(出力ファイル名やレベルなど)を記述したファイルです。
コネクタAP実行時に参照されるファイルです。
クライアント用MFDL定義情報ファイル LMFD名.Frm
LMFD名.Frx
MFDLの論理定義と物理定義の情報を格納したファイルです。MFDL読み込みを行って生成した場合にのみ生成されます。
(読み込みを行ったMFDLの画面分作成されます)

Java版

サーバAPデザイナは、コンポーネント単位毎に以下の5種類からなる6つのファイルを生成します。

ファイル種別 ファイル名 ファイルの内容
処理部オブジェクトクラス コンポーネント名Serv.java ホストとの通信を行う処理を記述したファイルです。
インタフェース部は、このクラスのオブジェクトを利用します。
インタフェース部オブジェクトクラス コンポーネント名Obj.java クライアントアプリケーションにサービスを提供するクラスを記述したファイルです。
IDL定義ファイル コンポーネント名.idl インタフェース部オブジェクトクラスが提供するサービスインタフェースのIDL定義を記述したファイルです。
コネクタ定義ファイル コンポーネント名.vsg コネクタAP実行時のトレース設定情報(出力ファイル名やレベルなど)を記述したファイルです。
コネクタAP実行時に参照されるファイルです。
クライアント用MFDL定義情報ファイル LMFD名.Frm
LMFD名.Frx
MFDLの論理定義と物理定義の情報を格納したファイルです。
MFDL読み込みを行って生成した場合にのみ生成されます。
(読み込みを行ったMFDLの画面分作成されます)

処理部オブジェクトクラス

C++版

[コンポーネント名]_sのクラス名を持ちます。このクラスは、ホストとのセション管理を行うため、クライアントが存在する間、常駐します。処理部オブジェクトクラスは、クライアントアプリケーションに対して直接のサービス提供はしていません。後述のインタフェース部オブジェクトクラスから生成/利用されます。

処理部オブジェクトクラスが提供している主なメソッドは次の通りです。

メソッド名 メソッドの機能
コンストラクタ 通信オブジェクト(COLFconn)を生成し、セション開設処理を行います。
initialize 通信オブジェクト(COLFconn)を生成します。
open ホストとのセション接続を行います。既に接続が行われている場合、新たなセションの開設は行いません。
close ホストとのセション切断を行います。
デストラクタ オブジェクト終了時のセション切断処理を行います。
LI ホストとの業務ログイン処理を行います。
LO ホストとの業務ログアウト処理を行います。
vca_getMsgID メッセージIDの取得を行います。
ユーザ定義メソッド サーバAPデザイナにて定義したメソッドです。
送信または送受信メソッドとして作成した場合、送信メッセージをホストに送信します。
受信または送受信メソッドとして作成した場合、受信したメッセージを取得します。
このメソッドの処理の詳細については、後述します。
MFDL読み込み機能を使用して生成したメソッドの場合は、ユーザ定義メソッドは「MFMtd」となります。

<ステートレス/ステートフル方式の差異>

Java版

[コンポーネント名]Servのクラス名を持ちます。このクラスは、ホストとのセション管理を行うため、クライアントが存在する間、常駐します。処理部オブジェクトクラスは、クライアントアプリケーションに対して直接のサービス提供はしていません。後述のインタフェース部オブジェクトクラスから生成/利用されます。

処理部オブジェクトクラスは以下のメソッドを提供しています。

メソッド名 メソッドの機能
コンストラクタ 通信オブジェクトを生成し、セション開設処理を行います。
デストラクタ オブジェクト終了時のセション切断処理を行います。
main ステートレス方式のアプリケーションの場合の起動処理です。
connect ホストとのセション接続を行います。既に接続が行われている場合、新たなセションの開設は行いません。
disconnect ホストとのセション切断を行います。
LI ホストとの業務ログイン処理を行います。
LO ホストとの業務ログアウト処理を行います。
ユーザ定義メソッド サーバAPデザイナにて定義したメソッドです。
送信または送受信メソッドとして作成した場合、送信メッセージをホストに送信します。
受信または送受信メソッドとして作成した場合、受信したメッセージを取得します。
このメソッドの処理の詳細については、後述します。

<ステートレス/ステートフル方式の差異>

インタフェース部オブジェクトクラス

C++版

[コンポーネント名]_iのクラス名を持ちます。このクラスは、クライアントアプリケーションに対し、サービスを提供しています。このクラスを利用してクライアントアプリケーションを作成します。

インタフェース部オブジェクトクラスは以下のメソッドを提供しています。

メソッド名 メソッドの機能
コンストラクタ インスタンスの生成とコード変換オブジェクトの初期設定を行います。
connect 処理部オブジェクトにホストへの接続処理を依頼します。
disConnect 処理部オブジェクトにホストとのセション切断を依頼します。
LI 処理部オブジェクトにホストとの業務ログイン処理を依頼します。
LO 処理部オブジェクトにホストとの業務ログアウト処理を依頼します。
ユーザ定義メソッド 処理部オブジェクトクラスに送受信処理を依頼します。
MFDL読み込み機能を使用して生成したメソッドの場合は、ユーザ定義メソッドは「MFMtd」となります。

<ステートレス/ステートフル方式の差異>

Java版

[コンポーネント名]Objのクラス名を持ちます。このクラスは、クライアントアプリケーションに対し、サービスを提供しています。このクラスを利用してクライアントアプリケーションを作成します。

インタフェース部オブジェクトクラスは以下のメソッドを提供しています。

メソッド名 メソッドの機能
コンストラクタ インスタンスの生成とコード変換オブジェクトの初期設定を行います。
connect 処理部オブジェクトにホストへの接続処理を依頼します。
disConnect 処理部オブジェクトにホストとのセション切断を依頼します。
LI 処理部オブジェクトにホストとの業務ログイン処理を依頼します。
LO 処理部オブジェクトにホストとの業務ログアウト処理を依頼します。
ユーザ定義メソッド 処理部オブジェクトクラスに送受信処理を依頼します。
MFDL読み込み機能を使用して生成したメソッドの場合は、ユーザ定義メソッドは「MFMtd」となります。

<ステートレス/ステートフル方式の差異>

IDL定義

IDL定義ファイルには、インタフェース部オブジェクトが提供するサービスインタフェースのIDL定義を記述しています。このIDL定義を専用のコンパイラ(IDLコンパイラ)でコンパイルすることにより、コネクタAP用のスケルトンを作成することができます。

(IDL定義の例)

interface Sample{
  long Method(
    inout wstring Parameter1,
    inout string Parameter2 ) ;
  long connect() ;
  long disConnect() ;
  long LI(in string VCA_bussName) ;
  long LO() ;
} ;

(ユーザ例外通知の場合追加されます。)

exception VISConUserException 
{
 long errinfo;
 long errcode;
};

<ステートレス/ステートフル方式の差異>

コネクタ定義ファイルの定義

コネクタ定義ファイルには、生成したコネクタAPが出力するトレースの設定情報を記述しています。

C++版

(コネクタ定義ファイルの例)

 [COMMON]              →トレース定義情報設定セクション
  TraceActive = 1      →トレース出力有無 (1:出力する  0:出力しない)
  FileName = /tmp/log  →トレース出力先ファイル名(絶対パス名、またはファイル名にて指定) *1
  Level = 6            →トレースレベル
  Quantity = 0         →トレースレベル(0:概要  1:詳細)
  FileSize = 128       →トレース出力最大サイズ(Kバイト数にて指定:8〜65535)*2
*1)実際に出力するトレース出力先ファイルの名前は、[指定値]+[取得開始時間].TRCとなります。
*2)出力したトレース出力先ファイルの総サイズがこの値を超える場合、ファイル先頭よりトレースを上書き出力します。

<ステートレス/ステートフル方式の差異>

Java版

(コネクタ定義ファイルの例)

 [TRACE]              →トレース定義情報設定セクション
 TraceActivate = YES  →トレース出力有無 (YES:出力する  NO:出力しない)
 FileName = /tmp/log  →トレース出力先ファイル名(絶対パス名、またはファイル名にて指定) *1
 Level = 1            →トレースレベル(0:概要  1:詳細)
 FileSize = 128       →トレース出力最大サイズ(Kバイト数にて指定:8〜65535)*2

 [VISCON]                 →VISCONセクション
 HostName = 123.45.67.89  →ホスト名(IPアドレスで指定)
 HostPort = 1234          →ホストポート番号(10進数で指定)
 ClientPort = 5678        →クライアントポート番号
 SocketRetryFlag = true   →リトライ(true:リトライを行う  false:リトライを行わない)
 RetryCnt = 10            →リトライ回数
 SocketTimer = 2          →リトライ間隔
 SendRecvPacing = 1       →送達確認(0:送達確認なし  1:送達確認あり)
 AutoLogin = false        →自動ログイン/ログアウト
                           (true:自動ログイン/ログアウトする  false:自動ログイン/ログアウトしない)
 LoginPram = PC1      →ログイン時の業務名
 HostType = 1           →ホストタイプ(0:ACOS-2  1:ACOS-4  2:ACOS-6  3:Windows  4:UNIX)
 OutCode = 0            →出側コード種別(0:JIPS(E)  1:JIS  2:SJIS  3:Windows  3:EUC)
*1)実際に出力するトレース出力先ファイルの名前は、[指定値]+[取得開始時間].TRCとなります。
*2)出力したトレース出力先ファイルの総サイズがこの値を超える場合、ファイル先頭よりトレースを上書き出力します。

<ステートレス/ステートフル方式の差異>

クライアント用MFDL定義情報ファイル

クライアント用MFDL定義情報ファイルには、クライアントAPに WebOTX WebAP JSPを使用してMFDL連係機能を使用する場合の情報を記述しています。
このファイルは WebOTX WebAP JSP の入力ファイルとして使用します。

*1)MFDL読み込み機能を使用してMFDL定義ファイルの読み込を行い、生成を行った場合にのみ作成されます。
*2)MFDL読み込み機能を使用してMFDL定義ファイルの読み込を行ったが、生成を行わなかった場合にはWebOTX Connector Depeloperインストールディレクトリ配下のtempディレクトリ内に作業ファイルが残ります(C++版のみ)。

<ステートレス/ステートフル方式の差異>