OpenTP1 Version 7 OpenTP1 メッセージキューイング機能 TP1/Message Queue プログラム作成の手引
目次
用語
索引
前へ
2 / 203
次へ
表紙
前書き
変更内容
はじめに
第1編 アプリケーションの設計
1. 概要
1.1 メッセージキューイングの概要
1.2 メッセージの概要
1.2.1 制御情報としてのメッセージ記述子
1.2.2 メッセージチャネルエージェント
1.3 メッセージキューの概要
1.4 キューマネジャの概要
1.5 クラスタの概要
1.6 メッセージキューイングの特長
1.6.1 間接的なプログラム間通信
1.6.2 時間に依存しない通信
1.6.3 小さなアプリケーション
1.6.4 イベント起動の処理
1.6.5 メッセージ優先度の設定
1.6.6 同期点のサポート
1.6.7 メッセージの回復
1.7 アプリケーション設計者にとっての利点
2. アプリケーション設計の概要
2.1 設計計画
2.2 オブジェクトの使用
2.3 メッセージの設計
2.4 アプリケーションの手法
2.4.1 メッセージの待ち合わせ方法
2.4.2 応答の関連づけ
2.4.3 コンテキスト情報の設定と利用
2.4.4 報告の生成
2.4.5 クラスタとメッセージ類似性
2.5 アプリケーションプログラミング
2.5.1 命令インタフェース
2.5.2 性能向上のためのヒント
2.5.3 複数OS向けのアプリケーション
3. メッセージ
3.1 メッセージの構成
3.2 メッセージ記述子
3.3 メッセージタイプ
3.3.1 非問い合わせメッセージ
3.3.2 問い合わせメッセージ
3.3.3 応答メッセージ
3.3.4 報告メッセージ
3.3.5 報告メッセージとセグメント分割メッセージ
3.4 メッセージ制御情報とメッセージデータの形式
3.4.1 制御情報の形式
3.4.2 メッセージデータの形式
3.4.3 アプリケーションデータの変換
3.4.4 メッセージ形式の設定例
3.5 メッセージ優先度
3.6 メッセージグループ
3.7 メッセージ永続性
3.8 キューからのメッセージの選択
3.9 転送に失敗したメッセージ
3.10 ロールバックされたメッセージ
3.11 応答キューとキューマネジャ
3.12 メッセージコンテキスト
3.12.1 識別コンテキスト
3.12.2 登録元コンテキスト
4. オブジェクト
4.1 オブジェクトの種類
4.2 キューマネジャ
4.2.1 キューマネジャの属性
4.2.2 キューマネジャと負荷管理
4.3 キュー
4.3.1 キュータイプ
4.3.2 ローカルキューのタイプ
4.3.3 キューの属性
4.3.4 リモートキュー
4.3.5 別名キュー
4.3.6 モデルキュー
4.3.7 動的キュー
4.3.8 転送キュー
4.3.9 イニシエーションキュー
4.3.10 デッドレターキュー
4.4 プロセス定義
4.5 チャネル
4.6 オブジェクトの命名規則
4.6.1 キュー名
4.6.2 プロセス定義名
4.6.3 チャネル名
4.6.4 予約されるオブジェクト名
5. プログラムエラーの処理
5.1 プログラムエラーの種類
5.2 ローカル検出エラー
5.2.1 MQI命令の失敗
5.2.2 システムの中断
5.2.3 不正データを含むメッセージ
5.3 障害検出への報告メッセージの利用
5.3.1 報告メッセージの作成
5.3.2 報告メッセージの要求と受信
5.4 リモート検出エラー
5.4.1 メッセージ転送の問題
5.4.2 デッドレターキューの使用
第2編 アプリケーションの作成
6. MQIの概要
6.1 MQIの特徴
6.1.1 MQI命令
6.1.2 同期点命令
6.1.3 構造体
6.1.4 基本データタイプ
6.1.5 データ定義
6.2 すべてのMQI命令に共通するパラメタ
6.2.1 コネクションハンドルとオブジェクトハンドル
6.2.2 リターンコード
6.3 バッファの指定
6.4 プログラミング言語の検討項目
6.4.1 C言語またはC++言語のコーディング
6.4.2 COBOL言語のコーディング
7. キューマネジャの接続と切り離し
7.1 MQCONN命令によるキューマネジャの接続
7.1.1 MQCONN命令のスコープ
7.2 MQDISC命令によるキューマネジャからの切り離し
7.2.1 権限確認
8. オブジェクトのオープンとクローズ
8.1 オブジェクトのオープンとクローズの概要
8.2 MQOPEN命令によるオブジェクトのオープン
8.2.1 オブジェクトハンドルのスコープ
8.2.2 オブジェクトの識別(MQOD構造体)
8.2.3 名称解決
8.2.4 MQOPEN命令オプションの使用
8.3 動的キューの作成
8.4 リモートキューのオープン
8.5 MQCLOSE命令によるオブジェクトのクローズ
9. キューへのメッセージ登録
9.1 キューへのメッセージ登録の概要
9.2 MQPUT命令によるローカルキューへのメッセージ登録
9.2.1 ハンドルの指定
9.2.2 MQMD構造体によるメッセージの定義
9.2.3 MQPMO構造体によるオプションの指定
9.2.4 ユーザメッセージ内のデータ
9.3 リモートキューへのメッセージ登録
9.4 コンテキスト情報の制御
9.4.1 識別コンテキストの渡し方
9.4.2 すべてのコンテキストの渡し方
9.4.3 識別コンテキストの設定
9.4.4 すべてのコンテキストの設定
9.5 MQPUT1命令によるキューへの1メッセージの登録
9.6 配布リスト
9.6.1 配布リストのオープン
9.6.2 配布リストへのメッセージ登録
9.7 登録に失敗する状況
10. キューからのメッセージ取り出し
10.1 キューからのメッセージ取り出しの概要
10.2 MQGET命令によるキューからのメッセージ取り出し
10.2.1 取り出し時のコネクションハンドルの指定
10.2.2 MQMD構造体によるメッセージの定義とMQGET命令
10.2.3 MQGMO構造体によるオプションの指定
10.2.4 バッファ領域長の指定
10.3 メッセージがキューから取り出される順序
10.3.1 優先度
10.3.2 論理的順序と物理的順序
10.4 特定メッセージの取り出し
10.5 長大メッセージの処理
10.5.1 最大メッセージ長の増加
10.5.2 メッセージのセグメント分割
10.5.3 参照メッセージ
10.6 メッセージの待ち合わせ
10.7 制御情報とアプリケーションデータの変換
10.8 キューのメッセージの検索
10.8.1 検索カーソル
10.8.2 メッセージ長が不明なときの検索
10.8.3 検索済みメッセージの削除
10.9 論理的順序でのメッセージ検索
10.9.1 グループ内のメッセージ検索
10.9.2 削除しながらの取り出し
10.10 MQGET命令が失敗する状況
11. オブジェクト属性の照会と設定
11.1 オブジェクト属性の照会と設定の概要
11.2 オブジェクト属性の照会
11.3 MQINQ命令が失敗する状況
11.4 キュー属性の設定
12. コミットとロールバック
12.1 コミットとロールバックの概要
12.1.1 コミットとロールバックの性質
12.1.2 同期点の取得とトランザクション
12.1.3 単相コミット
12.1.4 二相コミット
12.2 TP1/Message Queueのトランザクション
12.3 注意事項
13. トリガによるアプリケーション開始
13.1 トリガによるアプリケーション開始の概要
13.2 トリガの概要
13.2.1 チャネルのトリガ起動
13.3 トリガイベントの条件
13.4 トリガイベントの制御
13.4.1 トリガタイプeveryの使用例
13.4.2 トリガタイプfirstの使用例
13.4.3 トリガタイプdepthの使用例
13.4.4 トリガタイプfirstの特別な使用例
13.5 トリガ使用時のアプリケーションの設計
13.5.1 トリガメッセージとトランザクション
13.5.2 トリガが設定されたキューからのメッセージ取り出し
13.6 トリガモニタアプリケーション
13.7 トリガメッセージの属性
13.7.1 トリガメッセージの永続性と優先度
13.7.2 キューマネジャの再度開始とトリガメッセージ
13.7.3 トリガメッセージとオブジェクト属性の変更
13.7.4 トリガメッセージの形式
13.8 トリガの動作失敗
付録
付録A 用語解説
ページの先頭へ