CORBAサーバー・アプリケーションの作成

     前  次    目次  新規ウィンドウで索引を開く  PDFとして表示 - 新規ウィンドウ  Adobe Readerを取得 - 新規ウィンドウ
コンテンツはここから始まります

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

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

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

インタフェース定義で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サーバー・アプリケーションをさらにスケーリングする方法

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

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

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


  先頭に戻る       前  次