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

     前  次    目次     
ここから内容の開始

Oracle Tuxedo プログラミングの概要

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

コミュニケーション パラダイム

Oracle Tuxedo クライアント

Oracle Tuxedo サーバ

サーバの基本的な動作

要求元としてのサーバ

Oracle Tuxedo API: ATMI

プログラミング環境

UBBCONFIG コンフィグレーション ファイルの更新

環境変数の設定

必要なヘッダ ファイルのインクルード

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

型付きバッファの管理

型付きバッファの概要

型付きバッファの割り当て

データのバッファへの格納

型付きバッファのサイズの変更

バッファ タイプの確認

型付きバッファの解放

VIEW 型バッファ

VIEW 型バッファの環境変数の設定

VIEW 記述ファイルの作成

VIEW コンパイラの実行

FML 型バッファ

FML 型バッファの環境変数の設定

フィールド テーブル ファイルの作成

FML ヘッダ ファイルの作成

XML 型バッファと Apache Xerces C++ パーサ

XML 型バッファ

Apache Xerces C++ パーサ

XML パーサの制御

XML パーサでの ICU のサポート

XML パーサのサンプル アプリケーション

Xerces スキーマのサンプル

XML データと FML/FML32 バッファ間の変換

オンデマンド変換の使い方

オンデマンド変換を開始する

オンデマンド変換と Xerces パーサ XML 検証

自動変換の使い方

自動変換を開始する

自動変換と Xerces パーサ XML 検証

XML と FML/FML32 フィールド型のマッピング

変換の制限事項

MBSTRING 型バッファ

マルチバイト文字エンコードの制御

MBSTRING を自己記述型にする

実装

安全/危険なエンコード名

マルチバイト文字サポートの制限

マルチバイト文字エンコードでの libiconv のサポート

バッファのカスタマイズ

独自のバッファ タイプの定義

スイッチ要素ルーチンのコーディング

tm_typesw への新しいバッファ タイプの追加

新しい tm_typesw のコンパイルとリンク

16 ビット Windows プラットフォーム用の新しい tm_typesw のコンパイルとリンク

データ変換

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

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

TPINIT 型バッファの機能

クライアントの名前付け

非請求通知の処理

システム アクセス モード

リソース マネージャとの対応付け

クライアント認証

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

クライアントのビルド

関連項目

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

サーバのコーディング

Oracle Tuxedo システムの main()

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

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

システムで提供されるサービス: tpsvrinit( ) 関数

コマンドライン オプションの取得

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

システムで提供されるサービス: tpsvrdone( ) 関数

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

サービスの定義

例: バッファ タイプの確認

例: サービス要求の優先順位の確認

サービス ルーチンの終了

応答の送信

記述子の無効化

要求の転送

サービスの宣言と宣言の取り消し

サービスの宣言

サービス宣言の取り消し

例: サービスの動的な宣言と宣言の取り消し

サーバのビルド

関連項目

C++ コンパイラ

サービス関数の宣言

コンストラクタとデストラクタ

クライアントおよびサーバへの要求/応答のコーディング

要求/応答通信の概要

同期メッセージの送信

例: 要求メッセージと応答メッセージに同じバッファを使用する

例: 応答バッファのサイズ変更の確認

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

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

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

非同期メッセージの送信

非同期要求の送信

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

例: 非同期要求の送信

非同期応答の受信

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

メッセージの優先順位の設定

メッセージの優先順位の取得

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

会話型通信の概要

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

接続の確立

メッセージの送受信

メッセージの送信

メッセージの受信

会話の終了

例: 単純な会話の終了

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

会話の切断

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

会話型通信イベント

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

イベントの概要

非請求イベント

ブローカ イベント

通知処理

イベント ブローカ サーバ

システム定義のイベント

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

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

非請求メッセージの送信

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

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

非請求メッセージの確認

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

非請求メッセージを使用した通知

サービス呼び出しまたは信頼できるキューを使用した通知

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

イベントのポスト

イベントのサブスクリプションの例

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

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

トランザクションの開始

トランザクションの中断と再開

トランザクションの中断

トランザクションの再開

例: トランザクションの中断と再開

トランザクションの終了

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

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

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

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

コミット条件での妥協点

現在のトランザクションのアボート

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

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

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

サービス ルーチンのトランザクションの暗黙的な定義

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

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

関連項目

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

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

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

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

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

マルチスレッドとは

マルチコンテキストとは

マルチスレッド アプリケーションまたはマルチコンテキスト アプリケーションの監査

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

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

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

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

起動フェーズ

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

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

作業フェーズ

サービス要求

サービス要求に対する応答

トランザクション

非請求メッセージ

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

完了フェーズ

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

起動フェーズ

作業フェーズ

サーバ ディスパッチ スレッドの使用方法

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

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

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

完了フェーズ

サーバのアプリケーション生成スレッドのマルチスレッドとマルチコンテキストの動作

起動フェーズ

作業フェーズ

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

完了フェーズ

関連項目

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

環境の要件

設計の要件

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

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

同期に関する検討事項

アプリケーションの移植

最適なスレッド モデル

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

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

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

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

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

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

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

コンテキストの属性

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

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

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

コンテキストの切り替え

非請求メッセージの処理

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

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

コンテキストの属性

マルチコンテキスト サーバでのサーバ ディスパッチ スレッドのコーディング規則

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

関連項目

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

スレッドの生成

コンテキストへのアプリケーション スレッドの対応付け

既存のサーバ ディスパッチ コンテキストへのアプリケーション スレッドの対応付け

マルチコンテキスト サーバでの既存のサーバ ディスパッチ コンテキストにアプリケーション スレッドを対応付けするためのサンプル コード

アプリケーション生成のコンテキストへのアプリケーション スレッドの対応付け

コンテキストの属性

アプリケーション生成のコンテキストでのサーバのアプリケーション生成スレッドのコーディング規則

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

エラーの管理

システム エラー

アボート エラー

Oracle Tuxedo のシステム エラー

呼び出し記述子のエラー

上限値に関するエラー

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

会話に関するエラー

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

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

TPESVCFAIL および TPESVCERR エラー

TPEBLOCK および TPGOTSIG エラー

無効な引数によるエラー

MIB エラー

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

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

パーミッション エラー

プロトコル エラー

キューに関するエラー

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

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

タイムアウト エラー

トランザクション エラー

型付きバッファのエラー

アプリケーション エラー

エラー処理

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

通信規則

トランザクション エラー

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

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

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

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

tpcommit() 関数への影響

TPNOTRAN フラグへの影響

tpreturn( ) および tpforward( ) 関数

tpterm() 関数

リソース マネージャ

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

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

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

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

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

中央イベント ログ

ログの名前

ログ エントリの形式

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

アプリケーション プロセスのデバッグ

UNIX プラットフォーム上でのアプリケーション プロセスのデバッグ

Windows 2003 プラットフォーム上でのアプリケーション プロセスのデバッグ

全般的なサンプル コード


  ページの先頭       前  次