Tuxedo CORBA アプリケーション入門

     前  次    新しいウィンドウで目次を開く     
ここから内容の開始

BEA Tuxedo CORBA アプリケーションの開発

ここでは、以下の内容について説明します。

BEA Tuxedo CORBA のクライアント アプリケーションとサーバ アプリケーションの作成については、次の BEA Tuxedo オンライン マニュアルを参照してください。

注意 : BEA Tuxedo CORBA Java クライアントと BEA Tuxedo CORBA Java クライアント ORB は Tuxedo 8.1 で非推奨になり、今後はサポートされなくなりました。BEA Tuxedo CORBA Java クライアントおよび BEA Tuxedo CORBA Java クライアント ORB のテキスト参照、関連するコード サンプルはすべてサードパーティの Java ORB ライブラリの実装/実行の簡易化とプログラマによる参照だけに使用する必要があります。
注意 : サード パーティの CORBA Java ORB のテクニカル サポートは、各ベンダによって提供されます。BEA Tuxedo では、サード パーティの CORBA Java ORB に関する技術的なサポートやマニュアルは提供していません。

 


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

表 3-1 は、BEA Tuxedo CORBA アプリケーションの開発プロセスの概略です。

表 3-1 BEA Tuxedo CORBA アプリケーションの開発プロセス
手順
説明
1
BEA Tuxedo アプリケーションで使用する各 CORBA インタフェースについて、Object Management Group (OMG) インタフェース定義言語 (IDL) コードを記述します。
2
CORBA クライアント スタブおよびスケルトンを生成します。
3
CORBA サーバ アプリケーションを記述します。
4
CORBA クライアント アプリケーションを記述します。
5
XA リソース マネージャを作成します。
6
コンフィグレーション ファイルを作成します。
7
TUXCONFIG ファイルを作成します。
8
CORBA サーバ アプリケーションをコンパイルします。
9
CORBA クライアント アプリケーションをコンパイルします。
10
BEA Tuxedo CORBA アプリケーションを起動します。

開発プロセスの各手順は、以降の節で詳しく説明します。

図 3-1 は、BEA Tuxedo CORBA アプリケーションを開発するプロセスを示しています。

図 3-1 BEA Tuxedo CORBA アプリケーションの開発プロセス

BEA Tuxedo CORBA アプリケーションの開発プロセス

 


Simpapp サンプル アプリケーション

このトピックでは、Simpapp サンプル アプリケーションを使用して開発プロセスを説明していきます。

Simpapp サンプル アプリケーションの CORBA サーバ アプリケーションでは、次の 2 つのメソッドを備えた CORBA オブジェクトの実装が提供されます。

図 3-2 は、Simpapp サンプル アプリケーションのしくみを示しています。

図 3-2 Simpapp サンプル アプリケーション

Simpapp サンプル アプリケーション

Simpapp サンプル アプリケーションのソース ファイルは、BEA Tuxedo ソフトウェアの $TUXDIR\samples\corba\simpapp ディレクトリにあります。Simpapp サンプル アプリケーションをビルドおよび実行する手順は、同じディレクトリの Readme.txt ファイルに記載されています。

注意 : Simpapp サンプル アプリケーションは、CORBA C++ のクライアント アプリケーションとサーバ アプリケーションのビルドを例示します。

BEA Tuxedo では、BEA Tuxedo CORBA アプリケーションの開発を例示および支援するサンプル アプリケーションがいくつか用意されています。サンプル アプリケーションの概要については、BEA Tuxedo オンライン マニュアルのサンプルを参照してください。

 


ステップ 1: OMG IDL コードの記述

BEA Tuxedo CORBA アプリケーションの記述では、まず最初に、Object Management Group (OMG) インタフェース定義言語 (IDL) を使用してすべての CORBA インタフェースとそれらのメソッドを指定します。OMG IDL で記述したインタフェース定義を使用すると、完全に CORBA インタフェースを定義し、各オペレーションの引数を指定できます。OMG IDL は、純粋な宣言型言語です。つまり、実装の詳細は含まれていません。OMG IDL で指定されるオペレーションは、CORBA バインディングを提供する任意の言語で記述し、呼び出すことができます。

Simpapp サンプル アプリケーションは、表 3-2 のリストにある CORBA インタフェースを実装します。

表 3-2 Simpapp サンプル アプリケーションの CORBA インタフェース
インタフェース
説明
オペレーション
SimpleFactory
Simple オブジェクトのオブジェクト参照を作成します。
find_simple()
Simple
文字列の大文字と小文字を変換します。
to_upper()
to_lower()

コード リスト 3-1 は、Simpapp サンプル アプリケーションの CORBA インタフェースを定義する simple.idl ファイルを示しています。

コード リスト 3-1 Simpapp サンプル アプリケーションの OMG IDL コード
#pragma prefix "beasys.com"
interface Simple
{
// 文字列を小文字に変換 (新しい文字列を返す)
string to_lower(in string val);
     // 文字列を大文字に変換 (置換)
void to_upper(inout string val);
};
interface SimpleFactory
{
Simple find_simple();
};

 


ステップ 2: CORBA クライアント スタブおよびスケルトンの生成

OMG IDL で定義されたインタフェース仕様は、CORBA クライアント アプリケーションの CORBA クライアント スタブおよび CORBA サーバ アプリケーションのスケルトンを生成するために IDL コンパイラで使用されます。CORBA クライアント スタブは、CORBA クライアント アプリケーションによってすべてのオペレーション呼び出しで使用されます。記述したコードと一緒にスケルトンを使用すると、CORBA オブジェクトを実装する CORBA サーバ アプリケーションを作成できます。

開発の過程では、次のコマンドのいずれかを使用して、OMG IDL ファイルをコンパイルし、BEA Tuxedo CORBA クライアント アプリケーションおよびサーバ アプリケーションの CORBA クライアント スタブおよびスケルトンを生成します。

表 3-3 に、idl コマンドによって作成されるファイルの一覧を示します。

表 3-3 idl コマンドで作成されるファイル
ファイル
デフォルト名
説明
CORBA クライアント スタブ ファイル
application_c.cpp
要求を送信するために生成されたコードを格納します。
CORBA クライアント スタブ ヘッダ ファイル
application_c.h
OMG IDL ファイルで指定された各インタフェースと型のクラス定義を格納します。
スケルトン ファイル
application_s.cpp
OMG IDL ファイルで指定した各インタフェース用のスケルトンが含まれます。実行時に、スケルトンでは CORBA クライアントの要求を CORBA サーバ アプリケーションの適切なオペレーションにマッピングします。
スケルトン ヘッダ ファイル
application_s.h
スケルトンのクラス定義を格納します。
実装ファイル
application_i.cpp
OMG IDL ファイルで指定されたインタフェースのオペレーションを実装するメソッドのシグニチャを格納します。
実装ヘッダ ファイル
application_i.h
OMG IDL ファイルで指定された各インタフェースの初期クラス定義を格納します。

 


ステップ 3: CORBA サーバ アプリケーションの記述

BEA Tuxedo ソフトウェアでは、CORBA C++ サーバ アプリケーションがサポートされています。CORBA サーバ アプリケーションを作成する手順は次のとおりです。

  1. 各インタフェースのオペレーションを実装するメソッドを記述します。
  2. CORBA Server オブジェクトを作成します。
  3. オブジェクトのアクティブ化ポリシーを定義します。
  4. ファクトリを作成して登録します。
  5. CORBA サーバ アプリケーションを解放します。

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

OMG IDL ファイルをコンパイルした後は、ファイルの各インタフェースのオペレーションを実装するメソッドを記述する必要があります。実装ファイルには、以下のものが含まれます。

実装ファイルは手作業で記述できます。idl コマンドには、実装ファイルのテンプレートを生成するオプションがあります。

コード リスト 3-2 は、Simpapp サンプル アプリケーションの Simple インタフェースと SimpleFactory インタフェースの C++ 実装を示しています。

コード リスト 3-2 Simple インタフェースと SimpleFactory インタフェースの C++ 実装
// 文字列を小文字に変換する Simple_i::to_lower メソッド
// の実装

char* Simple_i::to_lower(const char* value)
{
CORBA::String_var var_lower = CORBA::string_dup(value);
for (char* ptr = var_lower; ptr && *ptr; ptr++) {
*ptr = tolower(*ptr);
}
return var_lower._retn();
}
// 文字列を大文字に変換する Simple_i::to_upper メソッド
// の実装

void Simple_i::to_upper(char*& valuel)
{
CORBA::String_var var_upper = value1;
var_upper = CORBA::string_dup(var_upper.in());
for (char* ptr = var_upper; ptr && *ptr; ptr++) {
*ptr = toupper(*ptr);
}
value = var_upper._retn();
}
// Simple オブジェクトのオブジェクト参照を作成する
// SimpleFactory_i::find_simple メソッドの実装

Simple_ptr SimpleFactory_i::find_simple()
{
CORBA::Object_var var_simple_oref =
TP::create_object_reference(
_tc_Simple->id(),
"simple",
CORBA::NVList::_nil()
);
}

CORBA Server オブジェクトの作成

Server オブジェクトでは、次のタスクが実行されます。

CORBA サーバ アプリケーションでは、Server オブジェクトは既にインスタンス化されており、Server オブジェクトのヘッダ ファイルを利用することができます。サーバ アプリケーションを初期化および解放するメソッド、およびサーバント オブジェクトを作成するメソッド (必要な場合) は、独自に実装してください。

コード リスト 3-3 は、Simpapp サンプル アプリケーションの Server オブジェクトの C++ コードを示しています。

コード リスト 3-3 CORBA C++ Server オブジェクト
static CORBA::Object_var static_var_factory_reference;
// サーバを起動するメソッド

CORBA::Boolean Server::initialize(int argc, char* argv[])
{
// ファクトリのオブジェクト参照を作成

static_var_factory_reference =
TP::create_object_reference(
_tc_SimpleFactory->id(),
"simple_factory",
CORBA::NVList::_nil()
);
// ファクトリ リファレンスを FactoryFinder に登録

TP::register_factory(
static_var_factory_reference.in(),
_tc_SimpleFactory->id()
);
return CORBA_TRUE;
}
// サーバを停止するメソッド

void Server::release()
{
// ファクトリの登録を削除

try {
TP::unregister_factory(
static_var_factory_reference.in(),
_tc_SimpleFactory->id()
);
}
catch (...) {
TP::userlog("Couldn't unregister the SimpleFactory");
}
}
// サーバントを作成するメソッド

Tobj_Servant Server::create_servant(const char*
interface_repository_id)
{
if (!strcmp(interface_repository_id,
_tc_SimpleFactory->id())) {
return new SimpleFactory_i();
}
if (!strcmp(interface_repository_id,
_tc_Simple->id())) {
return new Simple_i();
}
return 0;
}

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

CORBA サーバを開発する過程では、オブジェクトのアクティブ化ポリシーを設定して、どのイベントでオブジェクトがアクティブ化および非アクティブ化されるのかを指定します。

CORBA サーバ アプリケーションでは、実装コンフィグレーション ファイル (ICF) でオブジェクトのアクティブ化ポリシーを指定します。genicf コマンドを使用すると、テンプレートの ICF ファイルが作成されます。

注意 : トランザクション ポリシーも ICF ファイルで定義します。BEA Tuxedo CORBA アプリケーションでのトランザクションの使用については、BEA Tuxedo オンライン マニュアルの『Tuxedo CORBA トランザクション』を参照してください。

BEA Tuxedo ソフトウェアでは、表 3-4 のリストにあるアクティブ化ポリシーがサポートされています。

表 3-4 アクティブ化ポリシー
アクティブ化ポリシー
説明
method
オブジェクトのオペレーションの呼び出しの間だけオブジェクトをアクティブ化する。これはデフォルトのアクティブ化ポリシーです。
transaction
オペレーションが呼び出されたときにオブジェクトをアクティブ化します。オブジェクトがトランザクション範囲内でアクティブ化された場合、そのオブジェクトはトランザクションがコミットまたはロールバックされるまでは、アクティブ化されたままです。
process
オペレーションが呼び出されたときにオブジェクトをアクティブ化し、次のいずれかが起こったときのみオブジェクトを非アクティブ化します。
  • サーバ アプリケーションの存在するプロセスが停止された。
  • TP::deactivateEnable() メソッド (C++) がオブジェクトで呼び出された。

Simpapp サンプル アプリケーションの Simple インタフェースには、メソッドのデフォルトのアクティブ化ポリシーが割り当てられます。オブジェクトの状態の管理およびアクティブ化ポリシーの定義の詳細については、BEA Tuxedo オンライン マニュアルの『Tuxedo CORBA サーバ アプリケーションの開発方法』を参照してください。

ファクトリの作成と登録

CORBA クライアント アプリケーションから容易に見つかるように、CORBA サーバ アプリケーションでファクトリを管理するには、そのファクトリを FactoryFinder オブジェクトに登録するコードを記述する必要があります。

CORBA サーバ アプリケーションで管理されるファクトリを登録するコードを記述するには、次の手順に従います。

  1. ファクトリのオブジェクト参照を作成します。
  2. create_object_reference() メソッドの呼び出しをコードに含めます。その際には、ファクトリの OMG IDL インタフェースのインタフェース リポジトリ ID またはオブジェクト ID (OID) を文字列形式で指定します。ルーティング基準を指定することも可能です。

  3. ファクトリを BEA Tuxedo ドメインに登録します。
  4. register_factory() メソッドを使用すると、BEA Tuxedo ドメインの FactoryFinder オブジェクトにファクトリを登録できます。register_factory() メソッドでは、ファクトリのオブジェクト参照と文字列識別子を指定する必要があります。

コード リスト 3-4 は、ファクトリを作成および登録する、Simpapp サンプル アプリケーションのコードを示しています。

コード リスト 3-4 ファクトリの作成と登録の例
...
CORBA::Object_var v_reg_oref =
TP:create_object_reference(
_tc.SimpleFactory->id(), // ファクトリのインタフェース ID
“simplefactory”, // オブジェクト ID
CORBA::NVList::_nil() // ルーティング基準
);
	TP::register_factory(
CORBA::Object_var v_reg_oref.in(),
_tc_SimpleFactory->id(),
);
...

コード リスト 3-4 については、次の点に注意してください。

CORBA サーバ アプリケーションの解放

CORBA サーバ アプリケーションには、CORBA サーバ アプリケーションを適切に停止するコードが必要です。release() メソッドは、その目的のために用意されています。release() メソッドの中では、次のような CORBA サーバ アプリケーションに固有のクリーンアップ タスクを実行できます。

停止の要求を受信した CORBA サーバ アプリケーションは、ほかのリモート オブジェクトからの要求を受信することができなくなります。このことは、管理タスクである CORBA サーバ アプリケーションの停止の順序に影響します。たとえば、あるサーバ プロセスがあるとして、2 番目のサーバ プロセスの release() メソッドにその最初のサーバ プロセスの呼び出しが含まれている場合はそのサーバ プロセスを停止しないでください。

サーバを停止するときには、サーバ アプリケーションの各ファクトリの登録を削除する必要があります。unregister_factory() メソッドの呼び出しは、release() 実装の最初のアクションとして行わなければなりません。unregister_factory() メソッドでは、サーバ アプリケーションのファクトリの登録が削除されます。このオペレーションでは、次の入力引数が必要です。

コード リスト 3-5 は、サーバ アプリケーションを解放し、CORBA サーバ アプリケーションのファクトリを登録解除する C++ コードを示しています。

コード リスト 3-5 BEA Tuxedo CORBA サーバ アプリケーションの解放の例
...
public void release()
{
TP::unregister_factory(
factory_reference.in(),
SimpleFactoryHelper->id
);
}
...

 


ステップ 4: CORBA クライアント アプリケーションの記述

BEA Tuxedo ソフトウェアでは、次のタイプの CORBA クライアント アプリケーションがサポートされています。

CORBA クライアント アプリケーションを作成する手順は次のとおりです。

  1. ORB を初期化します。
  2. Bootstrap オブジェクトまたは CORBA INS ブートストラップ処理メカニズムを使用して、BEA Tuxedo ドメインとの通信を確立します。
  3. FactoryFinder 環境オブジェクトの初期リファレンスを解決します。
  4. ファクトリを使用して目的の CORBA オブジェクトのオブジェクト参照を取得します。
  5. CORBA オブジェクトのメソッドを呼び出します。

CORBA クライアントの開発手順は、コード リスト 3-6 で説明されています。それらのリストの内容は、Simpapp サンプル アプリケーションのコードです。Simpapp サンプル アプリケーションの CORBA クライアント アプリケーションは、ファクトリを使用して Simple オブジェクトのオブジェクト参照を取得し、Simple オブジェクトの to_upper() メソッドと to_lower() メソッドを呼び出します。

コード リスト 3-6 Simpapp サンプル アプリケーションの CORBA クライアント アプリケーション
int main(int argc, char* argv[])
{
try {
// ORB を初期化
CORBA::ORB_var var_orb = CORBA::ORB_init(argc, argv, "");

// Bootstrap オブジェクトを作成
Tobj_Bootstrap bootstrap(var_orb.in(), "");

// Bootstrap オブジェクトを使用して FactoryFinder を検索
CORBA::Object_var var_factory_finder_oref =
bootstrap.resolve_initial_references("FactoryFinder");

// FactoryFinder をナロー変換
Tobj::FactoryFinder_var var_factory_finder_reference =
Tobj::FactoryFinder::_narrow
(var_factory_finder_oref.in());

// ファクトリ ファインダを使用して Simple ファクトリを検索
CORBA::Object_var var_simple_factory_oref =
var_factory_finder_reference->find_one_factory_by_id(
_tc_SimpleFactory->id()
);

// Simple ファクトリをナロー変換
SimpleFactory_var var_simple_factory_reference =
SimpleFactory::_narrow(
var_simple_factory_oref.in());

// Simple オブジェクトを検索
Simple_var var_simple =
var_simple_factory_reference->find_simple();

// ユーザから文字列を取得
cout << "String?";
char mixed[256];
cin >> mixed;

// 文字列を大文字に変換
CORBA::String_var var_upper = CORBA::string_dup(mixed);
var_simple->to_upper(var_upper.inout());
cout << var_upper.in() << endl;

// 文字列を小文字に変換
CORBA::String_var var_lower = var_simple->to_lower(mixed);
cout << var_lower.in() << endl;

return 0;
}
}

 


ステップ 5: XA リソース マネージャの作成

BEA Tuxedo CORBA アプリケーションでトランザクションを使用する場合は、BEA Tuxedo CORBA アプリケーションの代わりにデータベースとやり取りするリソース マネージャの CORBA サーバ プロセスを作成する必要があります。使用するリソース マネージャは、X/OPEN XA 仕様に準拠していなければなりません。リソース マネージャについての次の情報が必要です。

新しい XA リソース マネージャを BEA Tuxedo システムに統合するときには、XA リソース マネージャについての情報が格納されるようにファイル $TUXDIR/udataobj/RM を更新する必要があります。その情報は、XA リソース マネージャの適切なライブラリを使用するため、そしてトランザクション マネージャと XA リソース マネージャのインタフェースを自動的かつ適切に設定するために使用します。このファイルの形式は次のとおりです。

rm_name:rm_structure_name:library_names

rm_name は XA リソース マネージャの名前、rm_structure_name は XA リソース マネージャの名前を定義する xa_switch_t 構造体の名前、library_names は XA リソース マネージャのオブジェクト ファイルのリストです。これらの値の前後には空白類 (タブやスペース) を入れることができ、library_names の中に埋め込んでもかまいません。コロン (:) は、どの値にも挿入できません。「#」マークで始まる行は、コメントと判断されて無視されます。

buildtms コマンドを使用すると、XA リソース マネージャのサーバ プロセスをビルドできます。buildtms コマンドの結果として生じるファイルは、$TUXDIR/bin ディレクトリにインストールする必要があります。

buildtms コマンドの詳細については、BEA Tuxedo オンライン マニュアルの『Tuxedo コマンド リファレンス』を参照してください。

 


ステップ 6: コンフィグレーション ファイルの作成

BEA Tuxedo ソフトウェアは優れた柔軟性と多くのオプションをアプリケーション設計者やプログラマに提供するので、同じ CORBA アプリケーションが 2 つできることはありません。たとえば、アプリケーションは小さく、単純であることもあれば (マシン上で動作する単一のクライアントやサーバ)、数千単位のクライアント アプリケーションとサーバ アプリケーションをまたがるトランザクションを処理できるぐらいに複雑になる場合もあります。このため、管理の対象となるすべての BEA Tuxedo CORBA アプリケーションについて、システム管理者はそのアプリケーションの構成要素 (ドメイン、サーバ アプリケーション、クライアント アプリケーション、インタフェースなど) を定義および管理するコンフィグレーション ファイルを用意する必要があります。

コンフィグレーション ファイルを作成するときには、アプリケーションの実行可能バージョンを作成するために BEA Tuxedo ソフトウェアによって解釈されるパラメータのセットを使用して BEA Tuxedo CORBA アプリケーションを記述することになります。管理の設定段階において、システム管理者のする仕事はコンフィグレーション ファイルを作成することです。コンフィグレーション ファイルには、表 3-5 のリストにあるセクションが格納されます。

コード リスト 3-7 は、Simpapp サンプル アプリケーションのコンフィグレーション ファイルを示しています。

コード リスト 3-7 Simpapp サンプル アプリケーションのコンフィグレーション ファイル
*RESOURCES                               
IPCKEY 55432
DOMAINID simpapp
MASTER SITE1
MODEL SHM
LDBAL N
*MACHINES                               
"PCWIZ"
LMID = SITE1
APPDIR = "C:\TUXDIR\MY_SIM~1"
TUXCONFIG = "C:\TUXDIR\MY_SIM~1\results\tuxconfig"
TUXDIR = "C:\TUXDIR"
MAXWSCLIENTS = 10
*GROUPS                                 
SYS_GRP
LMID = SITE1
GRPNO = 1
APP_GRP
LMID = SITE1
GRPNO = 2
*SERVERS                                
DEFAULT:
RESTART = Y
MAXGEN = 5
TMSYSEVT
SRVGRP = SYS_GRP
SRVID = 1
TMFFNAME
SRVGRP = SYS_GRP
SRVID = 2
CLOPT = "-A -- -N -M"
TMFFNAME
SRVGRP = SYS_GRP
SRVID = 3
CLOPT = "-A -- -N"
TMFFNAME
SRVGRP = SYS_GRP
SRVID = 4
CLOPT = "-A -- -F"
simple_server
SRVGRP = APP_GRP
SRVID = 1
RESTART = N
ISL
SRVGRP = SYS_GRP
SRVID = 5
CLOPT = "-A -- -n //PCWIZ:2468"
*SERVICES

 


ステップ 7: TUXCONFIG ファイルの作成

コンフィグレーション ファイルには次の 2 種類があります。

tmloadcf コマンドの詳細については、BEA Tuxedo オンライン マニュアルの『Tuxedo コマンド リファレンス』を参照してください。

 


ステップ 8: CORBA サーバ アプリケーションのコンパイル

C++ サーバ アプリケーションのコンパイルとリンクには、buildobjserver コマンドを使用します。buildobjserver コマンドの形式は次のとおりです。

buildobjserver [-o servername] [options]

buildobjserver コマンドの構文要素を次に説明します。

マルチスレッドをサポートするサーバ アプリケーションを作成する場合は、アプリケーションをビルドするときに buildobjserver コマンドで -t オプションを指定する必要があります。マルチスレッドをサポートするサーバ アプリケーションの作成については、『Tuxedo CORBA サーバ アプリケーションの開発方法』を参照してください。

 


ステップ 9: CORBA クライアント アプリケーションのコンパイル

CORBA クライアント アプリケーションの開発の最終ステップは、実行可能なクライアント アプリケーションを生成することです。そのためには、コードをコンパイルしてクライアント スタブに対してリンクする必要があります。

CORBA C++ クライアント アプリケーションを作成する場合、buildobjclient コマンドを使用して BEA Tuxedo CORBA クライアント アプリケーションの実行可能ファイルを生成します。このコマンドでは、静的起動を使用するインタフェースの CORBA クライアント スタブ、関連付けられるヘッダ ファイル、および標準の BEA Tuxedo ライブラリを組み合わせて CORBA クライアントの実行可能ファイルが生成されます。buildobjclient コマンドの構文については、BEA Tuxedo オンライン マニュアルの『Tuxedo コマンド リファレンス』を参照してください。

 


ステップ 10: BEA Tuxedo CORBA アプリケーションの起動

tmboot コマンドを使用すると、BEA Tuxedo CORBA アプリケーションでサーバ プロセスを起動できます。通常、CORBA アプリケーションは、UBBCONFIG ファイルの RESOURCES セクションで MASTER として指定されたマシンから起動します。

tmboot コマンドが実行可能ファイルを見つけられるようにするために、BEA Tuxedo システムのプロセスは $TUXDIR/bin ディレクトリに配置する必要があります。サーバ アプリケーションは、コンフィグレーション ファイルで指定されているとおりに APPDIR に配置されていなければなりません。

サーバ アプリケーションの起動時には、tmboot コマンドはコンフィグレーション ファイルから CLOPTSEQUENCESRVGRPSRVID、および MIN パラメータを使用します。サーバ アプリケーションは、コンフィグレーション ファイルでの順序で起動されます。

tmboot コマンドの使い方については、BEA Tuxedo オンライン マニュアルの『Oracle Tuxedo のファイル形式とデータ記述方法』を参照してください。

 


その他の BEA Tuxedo CORBA サンプル アプリケーション

サンプル アプリケーションは、BEA Tuxedo CORBA アプリケーションの開発に伴うタスクを例示し、BEA Tuxedo CORBA アプリケーションのビルドでプログラマが利用できるサンプル コードを提供します。サンプル アプリケーションのコードは、BEA Tuxedo 製品のすべての情報トピックで開発や管理の手順を説明するために使用します。

表 3-6 は、その他の BEA Tuxedo CORBA サンプル アプリケーションを説明しています。

表 3-6 BEA Tuxedo CORBA サンプル アプリケーション
BEA Tuxedo CORBA
サンプル アプリケーション
説明
Simpapp
CORBA C++ クライアント アプリケーションおよび C++ サーバ アプリケーションを提供します。C++ サーバ アプリケーションには、C++ クライアント アプリケーションから受信した文字列を処理する 2 つのオペレーションがあります。
Basic
BEA Tuxedo CORBA のクライアント アプリケーションとサーバ アプリケーションを開発し、BEA Tuxedo アプリケーションをコンフィグレーションする方法を説明します。C++ サーバ アプリケーションと CORBA C++ アプリケーション、CORBA クライアント アプリケーションのビルドを例示します。
Security
BEA Tuxedo CORBA アプリケーションへの BEA Tuxedo 認証の追加を例示します。Security サンプル アプリケーションのビルドと実行については、BEA Tuxedo オンライン マニュアルの『Tuxedo CORBA アプリケーションのセキュリティ機能』を参照してください。
Transactions
Basic サンプル アプリケーションの CORBA C++ サーバ アプリケーションと CORBA クライアント アプリケーションにトランザクションに関与するオブジェクトを追加します。Transactions サンプル アプリケーションでは、実装コンフィグレーション ファイル (ICF) を使用して、CORBA オブジェクトのトランザクション ポリシーを定義する方法を示します。Transactions サンプル アプリケーションのビルドと実行については、BEA Tuxedo オンライン マニュアルの『Tuxedo CORBA トランザクション』を参照してください。
Wrapper
既存の BEA Tuxedo ATMI アプリケーションを CORBA オブジェクトとしてラッピングする方法を例示します。
Production
サーバ アプリケーションの複製、ステートレス オブジェクトの作成、およびファクトリ ベースのルーティングの実装を例示します。
Secure Simpapp
証明書認証をサポートするための Simpapp サンプル アプリケーションに対する必要な開発および管理の変更を実装します。Secure Simpapp サンプル アプリケーションのビルドと実行については、BEA Tuxedo オンライン マニュアルの『Tuxedo CORBA アプリケーションのセキュリティ機能』を参照してください。
Introductory Events
CORBA 共同クライアント/サーバ アプリケーションとコールバック オブジェクトを使用して BEA Tuxedo CORBA アプリケーションでイベントを実装する方法を例示します。C++ バージョンでは BEA Simple Events API を使用します。Introductory Events サンプル アプリケーションのビルドと実行については、BEA Tuxedo オンライン マニュアルの『Tuxedo CORBA ノーティフィケーション サービス』を参照してください。
Advanced Events
一時的なサブスクリプションと永続的なサブスクリプションおよびデータのフィルタ処理を利用したイベントのより複雑な実装を BEA Tuxedo CORBA アプリケーションで提供します。C++ バージョンでは Advanced CosNotification API を使用します。Advanced Events サンプル アプリケーションのビルドと実行については、BEA Tuxedo オンライン マニュアルの『Tuxedo CORBA ノーティフィケーション サービス』を参照してください。


  ページの先頭       前  次