目次 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クライアントをビルドする
Copyright ©1994, 2017,Oracle and/or its affiliates. All rights reserved