bea ホーム | 製品 | dev2dev | support | askBEA
BEA Logo Tuxedo
 ドキュメントのダウンロード   サイトマップ   用語集 
検索
0

製品の概要

 Previous Next Contents Index View as PDF  

BEA Tuxedo ATMI のコア・コンポーネント

以下の節では、BEA Tuxedo ATMI の構成要素と BEA Tuxedo インフラストラクチャについて説明します。

 


BEA Tuxedo の重要な用語と概念

以下の用語と概念は、BEA Tuxedo システムと BEA Tuxedo システム上にビルドするアプリケーションについて理解する上で重要です。

 


BEA Tuxedo ATMI の概要

BEA Tuxedo ATMI は、アプリケーション設計者がハードウェア・プラットフォーム、データベース、およびオペレーティング・システムを組み合わせる ATMI アプリケーションを開発するための一連のコア技術です。BEA Tuxedo ATMI は、ハイエンドなオンライン・トランザクション処理 (OLTP) システムの特長とメリット (スケーラビリティ、高性能、ミッション・クリティカルな信頼性、オープン・スタンダードのサポートなど) をすべて備えています。

BEA Tuxedo ATMI の基盤となるのは、トランザクション処理 (TP) モニタと呼ばれる、定評があり、信頼性の高いトランザクション・プロセッサです。次の図に示すように、トランザクション・プロセッサは 3 層クライアント/サーバ・アーキテクチャの一例です。このアーキテクチャでは、トランザクション・プロセッサはフロント・エンドの GUI とバック・エンドのリソース・マネージャの間のアプリケーション・ロジックをサポートします。リソース・マネージャとは、SQL データベース、メッセージ・キュー、レガシー・アプリケーションなどのバック・エンド・サービスです。

図2-1 トランザクション・プロセッサを使用する 3 層クライアント/サーバ・アーキテクチャ


 

フロント・エンド GUI とリソース・マネージャ間の直接的な接続に割り込むことによって、トランザクション・プロセッサは、数百、数千、あるいは数万のクライアントとアプリケーション・プログラムおよびバック・エンド・リソースをリンクするすべてのトラフィックを制御します。トランザクション・プロセッサを使用することで、グローバル (分散) トランザクションの正確な完了、ロード・バランシングの実現、およびシステム全体の性能の向上が保証されます。さらに重要なのは、トランザクション・プロセッサにより、アプリケーションのサーバ・プロセスがフロント・エンド GUI とリソース・マネージャから独立するということです。

BEA Tuxedo ATMI は、サーバ側のアプリケーションとコンポーネントを実行するトランザクション・アプリケーション・サーバです。アプリケーションのサーバ・プロセスの管理とトランザクションの管理のほかにも、BEA Tuxedo ATMI はクライアント/サーバ通信を管理して、クライアント (およびサーバ) が次のようなさまざまな方法でアプリケーション・サービスを呼び出せるようにします。

トランザクション通信では、高度に拡張されたリモート・プロシージャ・コール、会話型ピア・ツー・ピア、キュー、およびパブリッシュ・アンド・サブスクライブが使用されます。しかし、こうした付加価値要素のほとんどはプログラマからは見えません。トランザクションに関与するクライアント/サーバの通信は、開始および終了トランザクション呼び出しで区切られた通常の通信のように見えます。明白な違いは、これらの呼び出しによって呼び出されたすべてのリソース・マネージャとプロセスがトランザクションの一部になることです。BEA Tuxedo ATMI などのトランザクション・プロセッサは、すべてのパーティシパントのアクションを調整し、それらがトランザクションの一部として実行されるようにします。

 


BEA Tuxedo ATMI のアーキテクチャ

BEA Tuxedo ATMI は、次の主要な要素で構成されます。

 


BEA Tuxedo トランザクション・プロセッサおよびインフラストラクチャ

BEA Tuxedo インフラストラクチャは、BEA Tuxedo ATMI と BEA Tuxedo CORBA の両方の基礎となるクライアント/サーバ・アーキテクチャを提供します。ここで説明し、次の図に示すトランザクション・プロセッサとインフラストラクチャは、BEA Tuxedo ATMI 環境を構成します。BEA Tuxedo ATMI 環境は、分散 ATMI アプリケーション用の要求/応答および会話型通信インターフェイス、トランザクション・サポート、アプリケーション処理および管理サービスを提供します。

図2-2 BEA Tuxedo ATMI 環境


 

システム管理インターフェイス

BEA Tuxedo ATMI と BEA Tuxedo CORBA に共通の BEA Tuxedo システム管理インターフェイスでは、管理ツール (管理ツール で説明するものなど) とアプリケーション開発ツール (Simple Network Management Protocol (SNMP) エージェントなど) を使用できます。BEA Tuxedo は、多くのサード・パーティ製ツールによってサポートされるオープンなツール環境を提供します。

BEA Tuxedo Administration Console と SNMP エージェントは、標準管理コンソールと対話できます。標準管理コンソールでは、BEA Tuxedo ATMI または CORBA 環境とネットワーク・コンフィギュレーションを単一のコンソールから管理できます。また、アプリケーション設計者と開発者は、MIB インターフェイスからアクセスできる Tuxedo 管理情報ベース (TMIB) の上に独自の管理ツールや、アプリケーション固有のツールまたは市場固有のツールを作成できます。

ATMI プログラミング・インターフェイス

BEA Tuxedo ATMI は、一連の C または COBOL 手続きを使用する手続き型のライブラリ・ベース・プログラミングを提供する ATMI プログラミング・インターフェイスをサポートしています。ATMI は、BEA Tuxedo システムでサポートされるすべての ATMI 環境で機能する、通信、トランザクション、およびデータ・バッファ管理のためのインターフェイスを提供します。ATMI インターフェイスと BEA Tuxedo システムは、トランザクション処理の X/Open 分散トランザクション処理 (DTP) モデルをインプリメントしています。

BEA Tuxedo ATMI インターフェイスは、要求/応答通信と会話型通信の基盤となります。

要求/応答通信

プログラマは、ATMI 要求/応答機能を使用して、要求側プロセスからの 1 つの要求を送信し、呼び出された要求/応答サーバ・プロセスからの応答を取得します。要求/応答は、単純な種類の対話です。要求/応答中の通信のルールは固定されています。クライアントはサービスを要求し、サーバはそれに応答します。クライアントは要求の一部として複数のメッセージを送信できず、サーバはその応答として複数のメッセージを送信できません。

要求側プロセスは、要求/応答サービスを同期的または非同期的に実行できます。

会話型通信

プログラマは、ATMI 会話型通信を使用して、要求側プロセスと呼び出された会話型サーバ・プロセス間の状態保持接続 (メッセージ間でコンテキストが維持される) を確立および管理します。ATMI 会話型機能を使用すると、次のことができます。

会話型サーバは、接続中は要求元に独占されます。BEA Tuxedo システムは、会話型接続の要求時にサーバが利用できない場合、新しいコピーを作成します。

このため、ATMI 会話型プログラミング・インターフェイスを使用すると、アプリケーションの内部にトランザクション境界を定義して、実行される作業を 1 つの基本単位として処理できます。つまり、1 つの BEA Tuxedoトランザクションの内部では、実行される作業は 1 つの基本作業単位としてコミットまたはロールバックされるので、マシンに障害が発生した場合でもすべてのデータベースの同期が取られます。

ATMI インターフェイスのマニュアル

BEA Tuxedo ATMI インターフェイスの詳細については、『BEA Tuxedo システム入門』を参照してください。

FML プログラミング・インターフェイス

ATMI インターフェイスに加え、BEA Tuxedo ATMI はフィールド操作言語 (FML) プログラミング・インターフェイスをサポートしています。FML インターフェイスは、フィールド化バッファと呼ばれる記憶域構造を定義および操作するための C 言語関数のセットです。フィールド化バッファでは、フィールド内に属性と値のペアが格納されます。属性はフィールドの識別子で、関連付けられる値はフィールドのデータです。

アプリケーション設計者によって FML とそのフィールド化バッファの概念が指定されると、アプリケーション・プログラマはさまざまな関数を使用して FML フィールドおよびバッファを定義および管理できます (データ・バッファについては型付きバッファを参照)。たとえば、フィールド化バッファと VIEW と呼ばれる C 構造体または COBOL レコード (そのメンバはバッファのフィールドに対応) の間でデータを移動するための関数を選択できます。

FML 関数セットは、より多くのフィールドを持つ大規模レコードと共に使用する FML32 という付属関数セットを持っています。

BEA Tuxedo FML の詳細については、『FML を使用した BEA Tuxedo アプリケーションのプログラミング』を参照してください。

型付きバッファ

BEA Tuxedo ATMI アプリケーションは、型付きバッファ内のデータを送受信します。オペレーティング・システムからメモリを直接割り当てる代わりに、アプリケーションは BEA Tuxedo システムから型付きバッファを割り当ててデータを格納します。

型付きバッファはアプリケーション・プログラマによって定義され、BEA Tuxedo システムによって認識されるデータ構造です。BEA Tuxedo システムはアプリケーション・データ・バッファについて認識しているので、通信中にそれらを最適に操作します。

型付きバッファには、それ自身に関する情報 (メタデータ) が格納されます。アプリケーション・プログラマはこの情報を使用することで、アプリケーションのクライアントとサーバが動作するマシンによって使用されるデータ表現形式を知る必要なくデータを転送できます。型付きバッファを使用すると、アプリケーションはマシンの独立性を保持できます。

BEA Tuxedo リリースによってサポートされている各バッファ型は、初期化、メッセージの送受信、およびデータの符号化と暗号化をプログラマの仲介なしに行うために、自動的に呼び出すことができる独自のルーチン・セットを持ちます。このルーチン・セットを型付きバッファ・スイッチと呼びます。

BEA Tuxedo 8.1 には FML や FML32 などの 11 種類の型付きバッファが用意されており、アプリケーション設計者が独自の型付きバッファを定義することもできます。型付きバッファの詳細については、BEA Tuxedo システム入門2-23 ページの「What Are Typed Buffers?」を参照してください。

 


BEA Tuxedo Workstation

BEA Tuxedo Workstation コンポーネントを使用すると、ATMI クライアントを完全な BEA Tuxedo サーバ側インストレーションのないリモート・マシン(BEA Tuxedo 管理サーバと掲示板をサポートしていないマシン) に配置できます。リモート ATMI クライアントと BEA Tuxedo サーバ・アプリケーション間のすべての通信はネットワークを介して実行されます。

BEA Tuxedo Workstation コンポーネントのメリットは次のとおりです。

Workstation 通信

Workstation コンポーネントには次のソフトウェア・プロセスが含まれます。

次の図に、これらのプロセスによってリモート ATMI クライアントを BEA Tuxedo サーバ・アプリケーションに接続する仕組みを示します。

図2-3 リモート ATMI クライアントの接続


 


 


 

Workstation のマニュアル

BEA Tuxedo Workstation コンポーネントの詳細については、次のマニュアルを参照してください。

 


BEA Tuxedo /Q

BEA Tuxedo /Q は、型付きバッファが組み込まれた、トランザクション対応、XA 準拠のアプリケーション・キューイング・システムです。/Q は、BEA Tuxedo ATMI アプリケーション内のクライアントとサーバ間で時間に依存しない通信を実現します。

/Q を使用すると、ATMI アプリケーションは、グローバル・トランザクションの中で、クライアントとサーバによって生成されたメッセージを安定記憶域に格納して後で使用することができます。Q 対応のクライアント・プロセスまたはサーバ・プロセスは、いつメッセージをそのキューから取り出すかを決定します。ただし、オペレーションはトランザクションのスコープの中で行われるので、BEA Tuxedo システムにより、メッセージが実際に処理されること、またはトランザクション全体ががロールバックされることが保証されます。

/Q を BEA Tuxedo Workstation と一緒に使用すると、ワークステーション・クライアントからのメッセージを格納し、取り出すことができます。この組み合わせのインターフェイスは、C および COBOL プログラミング言語のどちらでも使用できます。

メッセージの格納と取り出し

時間に依存しないクライアントおよびサーバ・プログラムは、メッセージをアプリケーション・キューに互いに格納し合う (キューに入れる) ことによって通信を行います。メッセージは、後入れ先出し (LIFO)、先入れ先出し (FIFO)、優先順位、時間ベースの順序など、複数の順序付け方式で取り出す (デキュー) ことができます。複数のクライアントとサーバが同じキューにアクセスすることができます。次の図に、/Q を使用したメッセージ・キューイング通信の概略を示します。

図2-4 キュー・ベースのメッセージ


 

/Q のマニュアル

BEA Tuxedo /Q コンポーネントの詳細については、次のマニュアルを参照してください。

 


BEA Tuxedo EventBroker

BEA Tuxedo EventBroker は、BEA Tuxedo ATMI アプリケーション内で動作するプロセス間のアプリケーション・イベントの非同期ルーティングを可能にする、トランザクション対応、XA 準拠のアプリケーション・パブリッシュ・アンド・サブスクライブ・システムです。また、EventBroker は、システム・イベントを、その受信を望むアプリケーション・プロセスに配布します。

イベントとは、アプリケーション・プログラムまたは BEA Tuxedo システム内で、管理者、オペレータ、またはソフトウェアの興味を引く状態の変化またはその他の事象です。イベントの例としては、「株式の指定価格以上での取引」や「ネットワーク障害の発生」などがあります。

イベントのプロデューサとコンシューマ間の調停

イベントのプロデューサをパブリッシャまたはサプライヤといい、イベントのコンシューマをサブスクライバといいます。EventBroker は、イベントの配布についてプロデューサとコンシューマを調停します。次の図に、EventBroker を使用したパブリッシュ・アンド・サブスクライブ通信の概略を示します。

図2-5 イベントのサブスクリプション、ポスト、および通知


 

グローバル・トランザクションでイベントをポストすると、トランザクションが正常に実行された場合、ポストに関係ない作業を含め、すべての作業の完了が保証されます。トランザクション内である作業が失敗した場合は、そのトランザクションで行われたすべての作業がロールバックされます。

EventBroker のマニュアル

BEA Tuxedo EventBroker コンポーネントの詳細については、次のマニュアルを参照してください。

 


BEA Tuxedo Domains

BEA Tuxedo Domains コンポーネントは、BEA Tuxedo システムのクライアント/サーバ・モデルを拡張して、TP ドメイン (ビジネス・アプリケーション) 間でのトランザクションの相互運用性を実現します。この拡張機能では、リモート・ドメインのサービスへのアクセスやリモート・ドメインからのサービス要求の受信は、アプリケーション・プログラマやエンド・ユーザに対して透過的に行われるため、モデルと ATMI インターフェイスをそのまま利用できます。Domains コンポーネントは、リモート・ドメインへのサービス要求の送信またはリモート・ドメインからのサービス要求の受信を処理する高度な非同期、マルチタスク・ドメイン・ゲートウェイを介してこれを実現します。

BEA Tuxedo システムには、BEA Tuxedo アプリケーションがほかの BEA Tuxedo アプリケーションまたはほかの TP システムで動作するアプリケーションと通信するための次のタイプのドメイン・ゲートウェイが用意されています。

図2-6 ドメイン・ゲートウェイのタイプ


 

注記 また、BEA Tuxedo CORBA アプリケーションも Domains コンポーネントを使用してほかの CORBA アプリケーションと相互運用してリソースを共有します。BEA Tuxedo CORBA アプリケーションには、GWTDOMAIN プロセスでインプリメントされる TDomain ゲートウェイ・タイプだけを適用できます。

ドメイン間の透過性

BEA Tuxedo Domains コンフィギュレーションでは、管理者はそのコンフィギュレーションの中でどのサーバがほかのサーバで利用できるかをコンフィギュレーションできます。クライアントと参加アプリケーション自身は Domains コンフィギュレーションについて知る必要がありません。知る必要があるのは、利用可能なサービスとファクトリ・オブジェクト、およびそれらにアクセスする方法だけです。アプリケーションにドメイン情報を組み込んだ場合、コンフィギュレーションを変更したときにアプリケーションを作成し直す必要が生じます。

Domains のマニュアル

BEA Tuxedo Domains コンポーネントの詳細については、次のマニュアルを参照してください。

 

Back to Top Previous Next
Contact e-docsContact BEAwebmasterprivacy