OpenTP1 Version 7 分散トランザクション処理機能 OpenTP1 プログラム作成の手引
目次
索引
前へ
2 / 271
次へ
表紙
前書き
変更内容
はじめに
1. OpenTP1のアプリケーションプログラム
1.1 ユーザアプリケーションプログラムと業務形態の関係
1.1.1 クライアント/サーバ形態のアプリケーションプログラム
1.1.2 メッセージ送受信形態のアプリケーションプログラム
1.1.3 メッセージキューイング機能を使った形態のアプリケーションプログラム
1.1.4 アプリケーションプログラムの負荷分散
1.1.5 アプリケーションプログラムのトランザクション処理
1.2 アプリケーションプログラムの種類
1.2.1 サービスを利用するUAP(SUP)
1.2.2 サービスを提供するUAP(SPP)
1.2.3 メッセージを処理するUAP(MHP)
1.2.4 オフラインの業務をするUAP
1.3 アプリケーションプログラムの作成
1.3.1 コーディング
1.3.2 スタブの作成
1.3.3 翻訳と結合(スタブを使用する場合)
1.3.4 翻訳と結合(サービス関数動的ローディング機能を使用する場合)
1.3.5 アプリケーションプログラムの環境設定
1.3.6 ユーザサーバの負荷分散とスケジュール
1.4 OpenTP1のライブラリ関数
1.4.1 アプリケーションプログラミングインタフェースの機能
1.4.2 OpenTP1のライブラリ関数の一覧
1.5 アプリケーションプログラムのデバッグとテスタ
1.5.1 UAPテスタ機能の種類
1.5.2 テストできるアプリケーションプログラム
1.5.3 ユーザサーバのテスト状態の報告
2. OpenTP1の基本機能(TP1/Server Base,TP1/LiNK)
2.1 リモートプロシジャコール
2.1.1 リモートプロシジャコールの実現方法
2.1.2 リモートプロシジャコールでのデータの受け渡し
2.1.3 リモートプロシジャコールの形態
2.1.4 サービスのネスト
2.1.5 トランザクションの処理から非トランザクショナルRPCの発行
2.1.6 サービス要求のスケジュールプライオリティの設定
2.1.7 クライアントUAPのノードアドレスの取得
2.1.8 サービス要求の応答待ち時間の参照と更新
2.1.9 エラーが発生した非同期応答型RPC要求の記述子の取得
2.1.10 CUPへの一方通知
2.1.11 リモートプロシジャコールとサービスを実行するプロセスの関連
2.1.12 リカーシブコールを使うときの注意
2.1.13 サービス関数のリトライ
2.1.14 ユーザデータの圧縮
2.1.15 サービス関数実行時間の監視
2.1.16 マルチスケジューラ機能を使用したRPC
2.1.17 通信先を指定したRPC
2.1.18 ドメイン修飾をしたサービス要求
2.1.19 サービス関数とスタブの関係
2.2 リモートAPI機能
2.2.1 リモートAPI機能の使用例
2.2.2 常設コネクション
2.2.3 コネクトモード
2.2.4 常設コネクションでの連鎖RPC
2.2.5 注意事項
2.3 トランザクション制御
2.3.1 クライアント/サーバ形態の通信のトランザクション
2.3.2 同期点の取得
2.3.3 トランザクション属性の指定
2.3.4 リモートプロシジャコールの形態と同期点の関係
2.3.5 トランザクションの最適化
2.3.6 現在のトランザクションに関する情報を報告
2.3.7 ヒューリスティック発生時の処置
2.3.8 トランザクション処理での注意事項
2.4 システム運用の管理
2.4.1 運用コマンドの実行
2.4.2 ユーザサーバの開始処理完了の報告
2.4.3 ユーザサーバの状態の検知
2.5 メッセージログの出力
2.5.1 メッセージログをアプリケーションプログラムから出力
2.6 監査ログの出力
2.7 ユーザジャーナルの取得
2.8 ジャーナルデータの編集
2.9 メッセージログ通知の受信
2.9.1 メッセージログの通知を受信できるアプリケーションプログラム
2.9.2 メッセージログの通知の受信手順
2.9.3 メッセージログの通知を受信するときの注意
2.10 OSI TPを使ったクライアント/サーバ形態の通信
2.10.1 OSI TP通信で使うアプリケーションプログラム
2.10.2 通信イベント処理用SPP
2.10.3 OSI TP通信で障害が起こった場合
2.11 性能検証用トレースの取得
2.12 リアルタイム統計情報の取得
3. TP1/Message Controlを使う場合の機能
3.1 MCF通信サービスに関する運用
3.1.1 MCF通信サービスの状態表示
3.1.2 APIと運用コマンドの機能差異(MCF通信サービスに関する運用)
3.2 コネクションの確立と解放
3.2.1 UAPからの関数の発行によるコネクションの確立と解放
3.2.2 コネクションを再確立・強制解放する場合のコーディング例
3.2.3 コネクションの確立要求の受付開始と終了
3.3 アプリケーションに関する運用
3.3.1 アプリケーションに関するタイマ起動要求の削除
3.3.2 APIと運用コマンドの機能差異(アプリケーションに関する運用)
3.4 論理端末の閉塞と閉塞解除
3.4.1 論理端末の状態表示
3.4.2 論理端末の閉塞と閉塞解除
3.4.3 論理端末の出力キュー削除
3.4.4 APIと運用コマンドの機能差異(論理端末の閉塞と閉塞解除)
3.5 通信プロトコル対応製品と運用操作で使える関数
3.6 メッセージ送受信
3.6.1 メッセージの通信形態
3.6.2 メッセージの構造
3.6.3 メッセージの受信
3.6.4 メッセージの送信
3.6.5 同期型のメッセージ処理
3.6.6 継続問い合わせ応答の処理
3.6.7 メッセージの再送
3.7 MCFのトランザクション制御
3.7.1 MHPのトランザクション制御
3.8 MCFの拡張機能
3.8.1 アプリケーションプログラムの起動
3.8.2 コマンドを使ったMHPの起動
3.8.3 非トランザクション属性のMHP
3.8.4 ユーザタイマ監視機能による時間監視
3.9 ユーザオウンコーディング(UOC)
3.9.1 入力メッセージの編集UOC,アプリケーション名決定UOC
3.9.2 タイマ起動引き継ぎ決定UOC
3.9.3 送信メッセージの通番編集UOC
3.9.4 出力メッセージの編集UOC
3.10 MCFイベント
3.10.1 不正アプリケーション名検出通知イベント(ERREVT1)
3.10.2 メッセージ廃棄通知イベント(ERREVT2)
3.10.3 UAP異常終了通知イベント(ERREVT3)
3.10.4 タイマ起動メッセージ廃棄通知イベント(ERREVT4)
3.10.5 未処理送信メッセージ廃棄通知イベント(ERREVTA)
3.10.6 送信障害通知イベント(SERREVT)
3.10.7 送信完了通知イベント(SCMPEVT)
3.10.8 障害通知イベント(CERREVT,VERREVT)
3.10.9 コネクション確立通知イベント(COPNEVT,VOPNEVT)
3.10.10 コネクション解放通知イベント(CCLSEVT,VCLSEVT)
3.10.11 MCFイベントのメッセージ形式
3.11 アプリケーションプログラムが使うMCFのプロセス
3.11.1 MCFのプロセスの種類
3.11.2 MCFのプロセスを使うためのファイル
4. ユーザデータを使う場合の機能
4.1 DAMファイルサービス(TP1/FS/Direct Access)
4.1.1 DAMファイルの構成
4.1.2 物理ファイルと論理ファイル
4.1.3 DAMファイルへのアクセスの概要
4.1.4 オンライン中のDAMファイルのアクセス(SUP,SPP,MHPからの操作)
4.1.5 オフライン中のDAMファイルのアクセス(オフラインの業務をするUAPからの操作)
4.1.6 物理ファイルの作成(オフラインの業務をするUAPからの操作)
4.1.7 DAMファイルの排他制御
4.1.8 回復対象外のDAMファイルへのアクセス
4.1.9 DAMサービスとTAMサービスとの互換
4.2 TAMファイルサービス(TP1/FS/Table Access)
4.2.1 TAMファイルの構成
4.2.2 TAMテーブルへアクセスするときの条件
4.2.3 TAMテーブルへアクセスするときの名称
4.2.4 TAMテーブルへのアクセス手順
4.2.5 トランザクションとTAMアクセスの関係
4.2.6 TAMテーブルの排他制御
4.2.7 テーブル排他なしTAMテーブルアクセス機能
4.2.8 TAMファイルの作成
4.2.9 TAMサービスとDAMサービスとの互換
4.2.10 TAMサービスの統計情報
4.2.11 TAMのレコード追加・削除に伴う注意事項
4.3 ISTサービス(TP1/Shared Table Access)
4.3.1 ISTサービスのシステム構成
4.3.2 ISTテーブルの概要
4.3.3 ISTテーブルへのアクセス手順
4.3.4 ISTテーブルの排他制御
4.4 ISAMファイルサービス(ISAM,ISAM/B)
4.4.1 ISAMファイルの概要
4.4.2 ISAMサービスの種類
4.5 データベースにアクセスする場合
4.5.1 OpenTP1のトランザクション処理との関係
4.5.2 XAインタフェースでデータベースにアクセスする場合の準備
4.5.3 リソースマネジャ接続先選択機能
4.6 資源の排他制御
4.6.1 排他の対象となる資源
4.6.2 排他の種類
4.6.3 排他待ち限界経過時間の指定
4.6.4 排他制御用のテーブルプール不足のとき
4.6.5 排他の解除方法
4.6.6 ロックマイグレーション
4.6.7 排他のテスト
4.7 デッドロックが起こったときの処置
4.7.1 デッドロックを避けるための注意
4.7.2 デッドロック時のOpenTP1の処置
5. X/Openに準拠したアプリケーションプログラミングインタフェース
5.1 XATMIインタフェース(クライアント/サーバ形態の通信)
5.1.1 XATMIインタフェースでできる通信形態
5.1.2 XATMIインタフェースの機能
5.1.3 リクエスト/レスポンス型サービスの通信
5.1.4 会話型サービスの通信
5.1.5 OpenTP1での注意事項
5.1.6 通信データの型
5.1.7 サーバUAPの作成方法
5.1.8 OpenTP1の機能とXATMIインタフェースの関係
5.2 TXインタフェース(トランザクション制御)
5.2.1 OpenTP1で使えるTXインタフェース
5.2.2 TX_関数の使用方法
5.2.3 TX_関数を使用する場合の制限
5.2.4 OpenTP1のトランザクション制御関数(dc_trn_〜)との比較
6. X/Openに準拠したアプリケーション間通信(TxRPC)
6.1 TxRPCインタフェースの通信
6.1.1 TxRPC通信の種類
6.1.2 作成できるアプリケーションプログラム
6.1.3 前提となるライブラリ
6.2 アプリケーションプログラムでできる通信
6.2.1 TxRPCのリモートプロシジャコール
6.2.2 TxRPCのトランザクション処理
6.2.3 OpenTP1の機能を使うアプリケーションプログラムとTxRPCのアプリケーションプログラムの関連
6.3 TxRPC通信のアプリケーションプログラムを作成する手順
6.3.1 IDL-only TxRPC通信のUAPを作成する手順
7. TP1/Multiを使う場合の機能
7.1 クラスタ/並列システム形態のアプリケーションプログラム
7.1.1 アプリケーションプログラムを使えるノード
7.1.2 アプリケーションプログラムを実行する前提条件
7.2 アプリケーションプログラムでできる機能
7.2.1 OpenTP1ノードの状態の取得
7.2.2 ユーザサーバの状態の取得
7.2.3 OpenTP1ノードのノード識別子の取得
7.3 マルチノード機能の関数を使える条件
8. OpenTP1のサンプル
8.1 サンプルの概要
8.1.1 サンプルの種類
8.1.2 サンプルのディレクトリ構成
8.1.3 サンプルの説明方法
8.2 Baseサンプルの使い方
8.2.1 サンプル共通の作業(Baseサンプル)
8.2.2 Baseサンプル固有の作業(スタブを使用する場合)
8.2.3 OpenTP1を使うための作業(スタブを使用する場合)
8.2.4 Baseサンプル固有の作業(サービス関数動的ローディング機能を使用する場合)
8.2.5 OpenTP1を使うための作業(サービス関数動的ローディング機能を使用する場合)
8.3 DAMサンプルの使い方
8.3.1 サンプル共通の作業(DAMサンプル)
8.3.2 DAMサンプル固有の作業
8.3.3 OpenTP1を使うための作業
8.4 TAMサンプルの使い方
8.4.1 サンプル共通の作業(TAMサンプル)
8.4.2 TAMサンプル固有の作業
8.4.3 OpenTP1を使うための作業
8.5 サンプルプログラムの仕様
8.5.1 サンプルで使うデータベースの内容
8.5.2 サンプルプログラムの処理の概要
8.5.3 サンプルプログラムのプログラム構造
8.5.4 サンプル別のプログラムの詳細
8.6 MCFサンプルの使い方
8.6.1 MCFサンプルのディレクトリ構造
8.6.2 MCFサンプルを使うときの注意
8.7 マルチOpenTP1のコマンドを振り分けるサンプル
8.7.1 delvcmdコマンドの使い方
8.7.2 コマンド引数に指定する値の制限
8.7.3 delvcmdコマンドで実行できないコマンド
8.8 COBOL言語用テンプレート
8.8.1 COBOL言語用テンプレートのファイル
8.8.2 COBOL言語用テンプレートの使い方
8.9 サンプルシナリオテンプレートの使い方
8.10 リアルタイム取得項目定義テンプレートの使い方
付録
付録A 未決着トランザクション情報の出力形式
付録A.1 未決着トランザクション情報が出力されるディレクトリとファイル名
付録A.2 未決着トランザクション情報の出力内容
付録A.3 未決着トランザクション情報の出力形式
付録B デッドロック情報の出力形式
付録B.1 デッドロック情報が出力されるディレクトリとファイル名
付録B.2 デッドロック情報の出力形式
付録B.3 タイムアウト情報の出力形式
付録B.4 TP1/FS/Table Accessを使用した場合の出力形式
付録C マルチスケジューラ機能の検討が必要なシステム構成例
付録C.1 スケジューラ機能の処理概要
付録C.2 スケジューラが原因となるおそれのあるシステム構成例
付録C.3 マルチスケジューラ機能を使用したシステム構成例
付録C.4 注意事項
ページの先頭へ