Tuxedo CORBA サーバ アプリケーションの開発方法

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

CORBA サーバ アプリケーションの概念

CORBA サーバ アプリケーションをビルドするために作成するエンティティ

サーバ アプリケーション用の CORBA オブジェクトの実装

OMG IDL インタフェース定義で CORBA オブジェクトのオペレーションを確立する方法

CORBA オブジェクトのオペレーションを実装する方法

クライアント アプリケーションがサーバ アプリケーションの CORBA オブジェクトをアクセスおよび操作する方法

オブジェクト参照の内容

オブジェクト参照の有効期間

オブジェクト インスタンスの受け渡し

CORBA オブジェクトの実行時のインスタンス化

サーバント プール

Server オブジェクト

CORBA サーバ アプリケーションの開発プロセス

オブジェクト参照の生成

クライアント アプリケーションがサーバ アプリケーションのファクトリを見つけるしくみ

アクティブ オブジェクト参照の作成

オブジェクト状態の管理

オブジェクト状態について

オブジェクトのアクティブ化ポリシー

アプリケーション制御の非アクティブ化

オブジェクトのデータの読み取りと書き込み

オブジェクトの永続状態を読み書きするためのメカニズム

オブジェクトのアクティブ化時の状態の読み取り

オブジェクトの個々のオペレーションでの状態の読み取り

ステートレス オブジェクトと永続状態

サーバント プールとステートレス オブジェクト

ステートフル オブジェクトと永続状態

サーバント プールとステートフル オブジェクト

オブジェクトの非アクティブ化の責任

不必要な I/O の回避

アクティブ化のサンプル

デザイン パターンの使い方

Process-Entity デザイン パターン

List-Enumerator デザイン パターン

Oracle Tuxedo CORBA サーバ アプリケーションの作成手順

CORBA サーバ アプリケーション開発プロセスの概要

ステップ 1: サーバ アプリケーション用の OMG IDL ファイルのコンパイル

IDL コンパイラの使い方

スケルトンと実装ファイルの生成

tie クラスの生成

ステップ 2: 各インタフェースのオペレーションを実装するメソッドの記述

IDL コンパイラによって生成される実装ファイル

ファクトリの実装

ステップ 3: サーバ オブジェクトの作成

サーバ アプリケーションの初期化

ファクトリを作成および登録するコードの記述

サーバントの作成

サーバ アプリケーションのリリース

ステップ 4: メモリ内でのオブジェクトの振る舞いの定義

ICF でオブジェクトのアクティブ化ポリシーとトランザクション ポリシーを指定する方法

ステップ 5: サーバ アプリケーションのコンパイルとリンク

ステップ 6: サーバ アプリケーションのデプロイ

開発とデバッグのヒント

CORBA 例外とユーザ ログの使い方

例外のクライアント アプリケーション ビュー

例外のサーバ アプリケーション ビュー

Oracle Tuxedo システムによって生成され、アプリケーション コードによって捕捉される例外

CORBA オブジェクトのオペレーションの呼び出し中にアプリケーション コードによって生成された例外を Oracle Tuxedo システムが処理する方法

コールバック メソッドのエラー状態の検出

OMG IDL インタフェースのバージョンと修正に関する一般的な注意事項

Tobj_ServantBase::deactivate_object() での状態処理に関する注意

サーバント プール

サーバント プールの機能

サーバント プールの実装方法

デレゲーション ベースのインタフェース実装

Oracle Tuxedo システムの tie クラスについて

tie クラスを使用する条件

CORBA アプリケーションに tie クラスを作成する方法

Basic CORBA サーバ アプリケーションの設計と実装

Basic University サンプル アプリケーションのしくみ

Basic University サンプル アプリケーションの OMG IDL

アプリケーションの起動

コース概要の参照

コース詳細の参照

University サーバ アプリケーションの設計上の考慮事項

オブジェクト参照の生成に関する設計上の考慮事項

オブジェクト状態の管理に関する設計上の考慮事項

RegistrarFactory オブジェクト

Registrar オブジェクト

CourseSynopsisEnumerator オブジェクト

Basic University サンプル アプリケーションの ICF ファイル

永続状態情報の処理に関する設計上の考慮事項

Registrar オブジェクト

CourseSynopsisEnumerator オブジェクト

University データベースの使い方

Basic サンプル アプリケーションがデザイン パターンを適用する方法

Process-Entity デザイン パターン

List-Enumerator デザイン パターン

Oracle Tuxedo システムに組み込まれた性能効率化

状態を持つオブジェクトの事前アクティブ化

状態を持つオブジェクトを事前アクティブ化する方法

事前アクティブ化オブジェクトの使い方に関する注意

マルチスレッド CORBA サーバ アプリケーションの作成

概要

はじめに

要件、目標、概念

スレッド モデル

要求ごとのスレッド モデル

オブジェクトごとのスレッド モデル

スレッド プール

リエントラント サーバント

Current オブジェクト

マルチスレッド CORBA サーバをサポートするためのメカニズム

コンテキスト サービス

TP フレームワークのクラスとメソッド

build コマンドの機能

管理用ツール

マルチスレッド システムでのシングル スレッド サーバ アプリケーションの実行

マルチスレッド CORBA サーバ アプリケーションの開発とビルド

buildobjserver コマンドの使い方

プラットフォーム固有のスレッド ライブラリ

マルチスレッド サポートの指定

代替サーバ クラスの指定

buildobjclient コマンドの使い方

非リエントラント サーバントの作成

リエントラント サーバントの作成

クライアント アプリケーションに関する考慮事項

マルチスレッド simpapp サンプル アプリケーションのビルドと実行

simpapp マルチスレッド サンプルについて

サンプル アプリケーションの機能

simpapp マルチスレッド サンプル アプリケーションの OMG IDL コード

サンプル アプリケーションのビルドと実行の方法

TUXDIR 環境変数の設定

TUXDIR 環境変数の検証

環境変数の設定の変更

サンプル アプリケーションの作業ディレクトリの作成

すべてのファイルのパーミッションのチェック

runme コマンドを実行する

サンプル アプリケーションのステップ バイ ステップ実行

サンプル アプリケーションの停止

マルチスレッド CORBA サーバ アプリケーションの管理

スレッド プール サイズの指定

MAXDISPATCHTHREADS

MINDISPATCHTHREADS

スレッド モデルの指定

アクティブ化されたオブジェクトの数の指定

UBBCONFIG ファイルの例

セキュリティと CORBA サーバ アプリケーション

セキュリティと CORBA サーバ アプリケーションの概要

University サーバ アプリケーションの設計上の考慮事項

Security University サンプル アプリケーションのしくみ

クライアント アプリケーションに学生の詳細情報を返す機能を設計する際の考慮事項

トランザクションの CORBA サーバ アプリケーションへの統合

Oracle Tuxedo システムでのトランザクションの概要

CORBA サーバ アプリケーションでのトランザクションの設計および実装

Transactions University サンプル アプリケーションのしくみ

Transactions University サンプル アプリケーションで使用するトランザクション モデル

University サーバ アプリケーションのオブジェクト状態に関する注意事項

Registrar オブジェクトで定義されたオブジェクト ポリシー

RegistrarFactory オブジェクトで定義されたオブジェクト ポリシー

Transactions サンプル アプリケーションでの XA リソース マネージャの使用

Transactions サンプル アプリケーションのコンフィグレーションの要件

トランザクションの CORBA クライアントおよびサーバ アプリケーションへの統合

オブジェクトを自動的にトランザクションに関与させる方法

オブジェクトのトランザクションへの参加の有効化

トランザクションのスコープ指定時のオブジェクト呼び出しの防止

実行中のトランザクションからのオブジェクトの除外

ポリシーの割り当て

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

XA リソース マネージャのクローズ

トランザクション管理とオブジェクト状態管理

XA リソース マネージャへのオブジェクト状態管理の委譲

トランザクションの作業が完了してから、データベースへの書き込みが始まるまでの待機

Oracle Tuxedo のトランザクションの使用に関する注意事項

ユーザ定義の例外

例外の定義

例外の送出

Oracle Tuxedo サービスの CORBA オブジェクトへのラッピング

Oracle Tuxedo サービスのラッピングの概要

Oracle Tuxedo サービスをラッピングするオブジェクトの設計

Oracle Tuxedo サービス呼び出しをカプセル化するバッファの作成

Oracle Tuxedo サービスとの間でメッセージを送信するオペレーションの実装

制限事項

Wrapper サンプル アプリケーションの設計上の考慮事項

Wrapper University サンプル アプリケーションのしくみ

Billing サーバ アプリケーションのインタフェース定義

Wrapper サンプル アプリケーションの設計上の追加考慮事項

Teller オブジェクトへの要求の送信

例外の処理

Wrapper サンプル アプリケーションのインタフェースに対するトランザクション ポリシーの設定

University および Billing サーバ アプリケーションのコンフィグレーション

Oracle Tuxedo の CORBA サーバ アプリケーションのスケーリング

Oracle Tuxedo システムで利用可能なスケーラビリティ機能の概要

Oracle Tuxedo サーバ アプリケーションのスケーリング

Production サンプル アプリケーションの OMG IDL の変更

サーバ プロセスおよびサーバ グループの複製

複製されたサーバ プロセス

複製されたサーバ グループ

複製されたサーバ プロセスおよびグループのコンフィグレーション

オブジェクト状態管理によるアプリケーションのスケーリング

ファクトリ ベース ルーティング

ファクトリ ベース ルーティングのしくみ

UBBCONFIG ファイルでのファクトリ ベース ルーティングのコンフィグレーション

ファクトリでのファクトリ ベース ルーティングの実装

実行時の処理

Registrar および Teller オブジェクトに関する設計上の追加考慮事項

Registrar および Teller オブジェクトのインスタンス化

適切なサーバ グループで学生の登録が発生するようにする方法

Teller オブジェクトが適切なサーバ グループでインスタンス化されるようにする方法

Production サーバ アプリケーションをさらにスケーリングする方法

ステートレス オブジェクトまたはステートフル オブジェクトの選択

ステートレス オブジェクトが必要な場合

ステートフル オブジェクトが必要な場合


  ページの先頭       前  次