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準拠のサーバー・グループに対するグローバル・トランザクションの定義

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

関連項目

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

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

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

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

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

マルチスレッドとは

マルチコンテキストとは

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

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

マルチスレッドおよびマルチコンテキスト・アプリケーションの利点

マルチスレッドおよびマルチコンテキスト・アプリケーションの問題点

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

起動フェーズ

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

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

作業フェーズ

サービス・リクエスト

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

トランザクション

非請求メッセージ

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

完了フェーズ

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

起動フェーズ

作業フェーズ

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

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

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

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

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

完了フェーズ

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

環境の要件

設計の要件

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

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

同期に関する検討事項

アプリケーションの移植

最適なスレッド・モデル

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

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

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

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

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

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

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

コンテキストの属性

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

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

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

コンテキストの切替え

非請求メッセージの処理

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

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

コンテキストの属性

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

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

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

スレッドの生成

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

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

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

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

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

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

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

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

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

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

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

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

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

マルチスレッドおよびマルチコンテキスト・アプリケーションのコードのコンパイル

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

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

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

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

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

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

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

エラーの管理

システム・エラー

中断エラー

Oracle Tuxedoのシステム・エラー

通信ハンドルのエラー

上限値に関するエラー

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

会話に関するエラー

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

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

TPESVCFAILおよびTPESVCERRエラー

TPEBLOCKおよびTPGOTSIGエラー

無効な引数によるエラー

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

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

パーミッション・エラー

プロトコル・エラー

キューに関するエラー

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

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

タイムアウト・エラー

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

型付きレコードのエラー

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

エラー処理

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

通信規則

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

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

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

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

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

TPCOMMIT呼出し

TPNOTRAN

TPRETURNおよびTPFORWAR呼出し

tpterm( )関数

リソース・マネージャ

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

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

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

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

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

中央イベント・ログ

ログの名前

ログ・エントリの形式

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

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

UNIXのバインディング

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

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

環境変数の設定

Microsoft Windowsのバインディング

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

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

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


  先頭に戻る       前  次