Interstage Application Server アプリケーション作成ガイド (コンポーネントトランザクションサービス編)
目次 索引 前ページ次ページ

第5章 Interstageの特徴的な機能> 5.2 プロセスバインド機能を使用したトランザクションアプリケーションの作成> 5.2.2 プログラミングの流れ

5.2.2.1 プログラミングの概要

 クライアントオブジェクトとサーバオブジェクト内のプロセスをバインドするために、セションIDを使用します。
 セションIDをサーバオブジェクトの呼び出し時に、パラメタに設定することによりシステムがクライアントオブジェクトとサーバオブジェクト内のプロセスをバインドします。
 セションID採番方法は、“セションIDを採番するためのトランザクションアプリケーションの作成”を参照してください。
 セションIDのパラメタへの設定方法は以下のようになります。

  1. オクテット型の配列で配列サイズは48バイトのパラメタを含むオペレーションをIDL定義に定義します。
  2. IDL定義で定義したパラメタ名をワークユニット定義に定義します。
  3. サーバオブジェクト呼び出し時に、採番したセションIDを1.および2.で定義したパラメタに設定します。
  4. サーバオブジェクトでは、バインドを継続したい場合、セション継続APIを発行します。
  5. 2回目以降の呼び出し時も、3.の手順を行います。
  6. バインドを継続する必要がなくなった場合、セション継続APIを発行せずにサーバオブジェクトから復帰します。

IDL定

 IDL定義の記述例を示します。

ワークユニット定

 ワークユニット定義の記述例を示します。

 プロセスバインド管理機能を使用するために必要なワークユニット定義を以下に示します。
 [Application Program]セクションに以下の定義を設定します。

Bind Type:バインド形式
 バインド形式を指定します。
 "DISABLE" : プロセスバインド機能を使用しない。
 "PROCESS " : プロセス
 "INSTANCE" : インスタンス
 プロセスバインド機能を使用する場合、必須です。
 Application Language:(アプリケーション言語)がC言語または、COBOL(COBOLはWindows(R)版、Solaris OE版のみです)の場合、"PROCESS "を設定してください。Application Language:(アプリケーション言語)がC++言語の場合、"INSTANCE"設定してください。
SessionID Param:セションID通知パラメタ
 IDL定義で定義したセションIDを設定するためのパラメタ名を設定します。
 プロセスバインド機能を使用する場合、必須です。
Method Name to Begin Session:セションを開始するメソッド名
 セションを開始するメソッド名を設定します。
 プロセスバインド機能を使用する場合、必須です。
Maximum Session Active Time for Client:クライアント思考時間の最大時間
 クライアント思考時間の最大時間を秒単位で設定します。
 0〜86400の整数値。
 本ステートメントは省略可能です。
 本ステートメントを省略した場合、省略値として300が設定されます。
 0を指定した場合は時間監視を行いません。
Recover Exit Program:異常出口プログラム
 クライアント思考時間超過となった場合に呼び出される異常出口プログラム名を設定します。
 本ステートメントは、Application Language:(アプリケーション言語)がC言語または、COBOL(COBOLはWindows(R)版、Solaris OE版のみです)の場合のみ有効です。Application Language:(アプリケーション言語)がC++言語の場合、本ステートメントは無視されます。
 本ステートメントは省略可能です。
Request Assignment Mode:要求メッセージ振り分け方式
 クライアントからの要求メッセージを、要求待ちのサーバアプリケーションプロセスに振り分ける方式を指定します。
 プロセスバインド機能を使用する場合、本ステートメントに必ず“FIFO”を指定してください。

ワークユニット定義時の注意事項


目次 索引 前ページ次ページ

All Rights Reserved, Copyright (C) 富士通株式会社 2005