COBOLを使用したOracle Tuxedoアプリケーションのプログラミング

     前  次    目次    PDFとして表示 - 新規ウィンドウ  Adobe Readerを入手 - 新規ウィンドウ
コンテンツはここから始まります

Oracle Tuxedoプログラミングの紹介

Oracle Tuxedo分散アプリケーションのプログラミング

通信パラダイム

Oracle Tuxedoクライアント

Oracle Tuxedoサーバー

サーバーの基本的な動作

リクエスタとしてのサーバー

Oracle Tuxedo API: ATMI

プログラミング環境

UBBCONFIG構成ファイルの更新

環境変数の設定

同等のデータ型の定義

アプリケーションの起動と停止

型付きレコードの管理

型付きレコードの概要

型付きレコードの定義

VIEW型レコードの使用

VIEW型レコードの環境変数の設定

VIEW記述ファイルの作成

VIEWコンパイラの実行

FML型レコードの使用

FML型レコードの環境変数の設定

フィールド表ファイルの作成

型付きレコードの初期化

FMLヘッダー・ファイルの作成

XML型レコードの使用

クライアントのコーディング

アプリケーションへの参加

TPINFDEF-RECレコードの機能の使用

クライアントの名前付け

非請求通知の処理

システム・アクセス・モード

リソース・マネージャとの関連付け

クライアント認証

アプリケーションからの分離

クライアントのビルド

関連項目

クライアント・プロセスの例

サーバーのコーディング

Oracle Tuxedoシステムの制御プログラム

システムで提供されるサーバーおよびサービス

システムで提供されるサーバー: AUTHSVR( )

システムで提供されるサービス: TPSVRINITルーチン

コマンド行オプションの取得

リソース・マネージャのオープン

システムで提供されるサービス: TPSVRDONEルーチン

サーバーのコーディングのためのガイドライン

サービスの定義

サービス・ルーチンの終了

応答の送信

記述子の無効化

リクエストの転送

サービスの通知と通知解除

サービスの通知

サービスの通知解除

例:サービスの動的な宣言と通知解除

サーバーのビルド

関連項目

クライアントおよびサーバーへのリクエスト/レスポンスのコーディング

リクエスト/レスポンス通信の概要

同期メッセージの送信

例: リクエスト・メッセージと応答メッセージに同じレコードの使用

例: TPSIGRSTRTフラグを設定した同期メッセージの送信

例: TPNOTRANフラグを設定した同期メッセージの送信

非同期メッセージの送信

非同期リクエストの送信

非同期応答の受信

メッセージの優先度の設定および取得

メッセージの優先度の設定

メッセージの優先度の取得

会話型クライアントおよびサーバーのコーディング

会話型通信の概要

アプリケーションへの参加

接続の確立

メッセージの送受信

メッセージの送信

メッセージの受信

会話の終了

例: 単純な会話の終了

例: 階層構造の会話の終了

会話の切断

会話型のクライアントおよびサーバーのビルド

会話型通信イベントの理解

イベント・ベースのクライアントおよびサーバーのコーディング

イベントの概要

非請求イベント

ブローカ・イベント

通知処理

イベント・ブローカ・サーバー

システム定義のイベント

イベント・ブローカ・プログラミング・インタフェース

非請求メッセージ・ハンドラの定義

非請求メッセージの送信

名前によるメッセージのブロードキャスト

識別子によるメッセージのブロードキャスト

非請求メッセージの確認

非請求メッセージの取得

イベントのサブスクライブ

イベントに対するサブスクリプションの削除

イベントのポスト

グローバル・トランザクションのコーディング

グローバル・トランザクションとは

トランザクションの開始

トランザクションの終了

現在のトランザクションのコミット

トランザクションをコミットするための条件

2フェーズ・コミット・プロトコル

コミットの成功条件の選択

コミット条件での妥協点

現在のトランザクションの中断

例: 会話モードによるトランザクションのコミット

例: 参加リソースのエラーの確認

グローバル・トランザクションの暗黙的な定義

XA準拠のサーバー・グループに対するグローバル・トランザクションの定義

トランザクションが開始されたことの確認

関連項目

マルチスレッドおよびマルチコンテキストATMIアプリケーションのプログラミング

マルチスレッド/マルチコンテキストATMIアプリケーションのプログラミングに対するサポート

マルチスレッドおよびマルチコンテキスト・アプリケーションに関するプラットフォーム固有の検討事項

マルチスレッド/マルチコンテキストATMIアプリケーションの計画と設計

マルチスレッドおよびマルチコンテキストとは

マルチスレッドとは

マルチコンテキストとは

マルチスレッド・アプリケーションまたはマルチコンテキスト・アプリケーションのライセンス

マルチスレッド/マルチコンテキストATMIアプリケーションの利点と問題点

マルチスレッド/マルチコンテキストATMIアプリケーションの利点

マルチスレッド/マルチコンテキストATMIアプリケーションの問題点

クライアントでのマルチスレッドとマルチコンテキストの動作

起動フェーズ

クライアント・スレッドの複数コンテキストへの参加

クライアント・スレッドの既存のコンテキストへの切り替わり

作業フェーズ

サービス・リクエスト

サービス・リクエストに対する応答

トランザクション

非請求メッセージ

ユーザー・ログで保持されるスレッド固有の情報

完了フェーズ

ATMIサーバーでのマルチスレッドとマルチコンテキストの動作

起動フェーズ

作業フェーズ

サーバー・ディスパッチ・スレッド

アプリケーション生成のスレッド

BBLによるシステム・プロセスの正常性チェック

システムで保持されるサーバー・スレッドの統計

ユーザー・ログで保持されるスレッド固有の情報

完了フェーズ

マルチスレッドおよびマルチコンテキストATMIアプリケーションの設計上の検討事項

環境の要件

設計の要件

マルチスレッドやマルチコンテキストに適するアプリケーションのタスク

必要なアプリケーションと接続の数

同期に関する検討事項

アプリケーションの移植

最適なスレッド・モデル

ワークステーション・クライアントの相互運用性に関する制約

マルチスレッドおよびマルチコンテキストATMIアプリケーションの実装

マルチスレッド/マルチコンテキストATMIアプリケーションのプログラミング開始前のガイドライン

マルチスレッドATMIアプリケーションに必要な条件

マルチスレッド・アプリケーションのプログラミングでの一般的な検討事項

同時実行性に関する検討事項

ATMIクライアントでマルチコンテキストを使用するためのコーディング

コンテキストの属性

初期化時のマルチコンテキストの設定

マルチコンテキストATMIクライアントのセキュリティの実装

ATMIクライアント終了前のスレッドの同期

コンテキストの切替え

非請求メッセージの処理

マルチスレッド/マルチコンテキストATMIアプリケーションにおけるトランザクションのコーディング規則

ATMIサーバーでマルチコンテキストとマルチスレッドを使用するためのコーディング

コンテキストの属性

マルチコンテキストATMIサーバーのコーディング規則

ATMIサーバーおよびATMIサーバー・スレッドの初期化と終了

スレッドを生成するためのATMIサーバーのプログラミング

スレッドの生成

コンテキストへのスレッドの関連付け

マルチコンテキストATMIサーバーでアプリケーション・スレッドを生成するためのサンプル・コード

マルチスレッドATMIクライアントのコーディング

マルチスレッドATMIクライアントのコーディング規則

ATMIクライアントの複数のコンテキストへの初期化

ATMIクライアント・スレッドのコンテキスト状態の変化

マルチスレッド環境での応答の取得

マルチスレッド・マルチコンテキスト環境の環境変数の使用

マルチスレッドATMIクライアントでのコンテキスト単位の関数とデータ構造体

マルチスレッドATMIクライアントでのプロセス単位の関数とデータ構造体

マルチスレッドATMIクライアントでのスレッド単位の関数とデータ構造体

マルチスレッドATMIクライアントのサンプル・コード

マルチスレッドATMIサーバーのコーディング

マルチスレッド/マルチコンテキストATMIアプリケーションのコードのコンパイル

マルチスレッド/マルチコンテキストATMIアプリケーションのテスト

マルチスレッド/マルチコンテキストATMIアプリケーションのテスト時の推奨事項

マルチスレッド/マルチコンテキストATMIアプリケーションのトラブルシューティング

tpinit( )のTPMULTICONTEXTSフラグの間違った使用

TPMULTICONTEXTSが設定されていない場合のtpinit()の呼出し

スレッドのスタック・サイズの不足

マルチスレッド/マルチコンテキストATMIアプリケーションのエラー処理

エラーの管理

システム・エラー

中断エラー

Oracle Tuxedoのシステム・エラー

通信ハンドルのエラー

上限値に関するエラー

無効な記述子によるエラー

会話に関するエラー

複製オブジェクトに関するエラー

一般的な通信呼出しのエラー

TPESVCFAILおよびTPESVCERRエラー

TPEBLOCKおよびTPGOTSIGエラー

無効な引数によるエラー

エントリがないために発生するエラー

オペレーティング・システムのエラー

パーミッション・エラー

プロトコル・エラー

キューに関するエラー

リリース間の互換性に関するエラー

リソース・マネージャ・エラー

タイムアウト・エラー

トランザクション・エラー

型付きレコードのエラー

アプリケーション・エラー

エラー処理

トランザクションについて

通信規則

トランザクション・エラー

致命的ではないトランザクション・エラー

致命的なトランザクション・エラー

ヒューリスティックな判断に関するエラー

トランザクション・タイムアウト

TPCOMMIT呼出し

TPNOTRAN

TPRETURNおよびTPFORWAR呼出し

tpterm()関数

リソース・マネージャ

トランザクションのサンプル・シナリオ

呼出し側と同じトランザクションでのサービス呼出し

AUTOTRANが設定された別のトランザクションでのサービス呼出し

新しい明示的なトランザクションを開始するサービスの呼出し

Oracle Tuxedoシステムで提供されるサブルーチン

中央イベント・ログ

ログの名前

ログ・エントリの形式

イベント・ログへの書込み

Workstationコンポーネントに対するCOBOL言語のバインディング

UNIXのバインディング

クライアント・プログラムを作成する

クライアント・プログラムをビルドする

環境変数の設定

Microsoft Windowsのバインディング

クライアント・プログラムを作成する

クライアント・プログラムをビルドする

ACCEPT/DISPLAYクライアントをビルドする


  先頭に戻る       前  次