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

Tuxedo システム入門

 Previous Next Contents View as PDF  

BEA Tuxedo システムの基本概念

以下の節では、BEA Tuxedo プログラミング環境の概要を説明します。


 

 


BEA Tuxedo システムとは

BEA Tuxedo システムは、メッセージ・ベースの通信、および必要に応じて分散トランザクション処理を行って、複数のプラットフォーム、データベース、およびオペレーティング・システムにわたってアプリケーションを分散するミドルウェア製品です。

クライアント/サーバ・アプリケーションでは、ミドルウェアを使用して、複数のサーバ間で処理を分散したり、分散トランザクションを管理したり、複数のデータベース・プラットフォームを統合することができます。ミドルウェア・システムは、オンライン・トランザクション処理 (OLTP) システムと呼ばれることもあります。

BEA Tuxedo システムは、AT&T、UNIX System Laboratories (USL)、Novell、および BEA 社などのテクノロジ企業のグループが 20 年以上の年月をかけて開発した完成度の高い製品です。このシステムは、開発プラットフォームであると同時に、実行プラットフォームでもあります。BEA Tuxedo システムは、オペレーティング・システムの拡張として機能します。

BEA Tuxedo システムでは、以下が実現されています。

アーキテクチャに関する機能

BEA Tuxedo システムは、ATMI アプリケーションのアーキテクチャ的側面を実現する多くの機能を提供します。

管理に関する機能

BEA Tuxedo システムは、ATMI アプリケーションの管理的側面を実現する多くの機能を提供します。

プログラミングに関する機能

BEA Tuxedo システムは、ATMI アプリケーションのプログラミングの側面を実現する多くの機能を提供します。

 


クライアント/サーバ・モデルの分析

クライアント/サーバ・アーキテクチャでは、クライアント (サービスを必要とするユーザを表すプログラム) とサーバ (サービスを提供するプログラム) は、それぞれ別個の論理オブジェクトであり、ネットワーク上で通信して共同で処理を行います。クライアントは、サービスを要求し、その要求に対する応答を受け取ります。サーバは、要求を受け取って処理し、要求された応答を送り返します。

クライアント/サーバ・アーキテクチャの特徴

クライアント/サーバ アーキテクチャには以下の特徴があります。

2 層および 3 層のクライアント/サーバ・アーキテクチャの違い

すべてのクライアント/サーバ・アプリケーションには、次の 3 つの機能単位が含まれています。

これらの機能単位は、クライアント プログラムの構成要素またはアプリケーション内の 1 つまたは複数のサーバ プログラムの構成要素になります。数多くの種類のアーキテクチャからどれを選択するかは、次の図に示されているように、アプリケーションをどのように分割するか、そして階層間の通信にどのようなミドルウェアを使用するかによって決まります。

図 1-1 2 層および 3 層のクライアント/サーバ・モデル


 

2 層クライアント/サーバ・アプリケーションでは、ビジネス・ロジックがクライアント上のユーザ・インターフェイス内に埋め込まれているか、またはサーバ上のデータベース内にストアド・プロシージャとして格納されています。または、ビジネス・ロジックがクライアントとサーバ間で分割されている場合もあります。ストアド・プロシージャを含むファイル・サーバやデータベース・サーバは、2 層アーキテクチャの一例です。

3 層クライアント/サーバ・アプリケーションでは、ビジネス・ロジックがデータやユーザ・インターフェイスから切り離された中間層に存在します。このような方法で、プロセスをユーザ・インターフェイスやデータベースと切り離して管理し、実行することができます。また、3 層システムでは、複数のソースからのデータを統合することもできます。

ニーズに応じたクライアント/サーバの各種のアーキテクチャ

クライアント/サーバ・アーキテクチャは、以下の各状況におけるニーズに対応できます。

 


クライアント/サーバ・モデルにおける BEA Tuxedo システム

BEA Tuxedo システムは、クライアント/サーバ・モデルの中央に配置されます。BEA Tuxedo アプリケーションでは、クライアントがログインし、アプリケーションによって提供されるサービスを要求します。BEA Tuxedo システムでは、透過的な掲示板を通してこれらのサービスが提供されます。掲示板には、サービスを宣言するグローバル・ディレクトリが定義されています。

たとえば、次の銀行業務サンプル・アプリケーションの場合、掲示板には預け入れ、引き出し、残高照会などのサービスが宣言されます。この後、BEA Tuxedo システムが、要求されたサービスを提供できるサーバを該当する支店で見つけます。

図 1-2 銀行業務のサンプル・アプリケーションにおけるクライアントとサーバ


 

この銀行業務サンプル・アプリケーションでは、BEA Tuxedo アプリケーションを構成する以下の基本単位が示されています。

BEA Tuxedo 銀行業務サンプル・アプリケーションでは、クライアント (現金自動預け払い機および銀行窓口) が要求を行い、(支店の) サーバがサービスと応答を提供します。たとえば、ある顧客が、現金自動預け払い機を使って自分の当座預金の残高を調べるとします。現金自動預け払い機 (クライアント) は、残高を取得するためにサーバを呼び出します。サーバは要求を受信し、残高を取得し、その情報を現金自動預け払い機に送信します。

 


BEA Tuxedo のクライアントとは

クライアントとは、ユーザからの要求を収集し、その要求を処理できるサーバに渡すプログラムです。アプリケーションのフロント・エンドの一部として、PC またはワークステーション上に置くことができます。また、ATM マシンなどの通信装置を読み取るソフトウェアの中に埋め込むこともできます。このような通信装置からデータが収集され、BEA Tuxedo サーバによって処理される前にフォーマット処理されます。

プログラムがクライアントになるには、アプリケーション・トランザクション・モニタ・インターフェイス (ATMI) と呼ばれる BEA Tuxedo の関数およびプロシージャのライブラリを呼び出せることが必要です。ATMI は、いくつかの言語バインディングでサポートされています。

クライアントは、ATMI のクライアント初期化ルーチンを呼び出すことによって、Tuxedo アプリケーションに参加します。アプリケーションに一度参加すると、クライアントはトランザクション境界を定義したり、アプリケーションのほかのプログラムと通信するための ATMI 関数を呼び出すことができるようになります。クライアントは、ATMI 終了関数を呼び出すことによってアプリケーションから分離します。必要な場合だけアプリケーションに参加し、必要なタスクが完了したら分離するようにすると、ほかのクライアントやサーバが使用できるように BEA Tuxedo システムのリソースを解放できます。

分散アプリケーションを構築する場合、ビジネスに関して、処理対象の情報がどのように集められて提供されるかを決定する必要があります。ATMI 関数を呼び出す場所やタイミングは、ビジネス・ロジックやビジネス・ルールに従って自由に決めることができます。ある BEA Tuxedo アプリケーションに参加し、いくつかのタスクを実行してこのアプリケーションから分離した後、別の BEA Tuxedo アプリケーションに参加して別のタスクを実行することができます。マルチコンテキスト・アプリケーションを使用している場合は、どのアプリケーションからも分離せずに、複数のアプリケーションでタスクを実行することができます。

 


BEA Tuxedo サーバとは

BEA Tuxedo サーバとは、一連のサービスを監視し、それらを要求したクライアントに対して自動的にディスパッチするプロセスです。それに対して、サービスとは、ビジネスに必要な特定のタスクを実行するサーバ・プログラム内の関数です。たとえば、銀行には、預け入れを受け取るサービスと、口座残高を報告するサービスが用意されています。あるサーバが、この両方のサービスをクライアントから受け取ったとします。そのサーバは、その責任として該当するサービスに各要求をディスパッチします。

サービス関数は、SQL などのデータベース・インターフェイスへの呼び出しを通じて、ビジネス・ロジックをインプリメントします。また、ATMI への呼び出しによって、ほかのサービスや問い合わせ、別のリソースにアクセスする場合もあります。これらのサービスが存在するサーバでは、クライアントに応答するか、またはクライアントの要求を別のサービスに送信します。

 


BEA Tuxedo システムによって提供されるアプリケーション処理サービス

BEA Tuxedo システムでは、アプリケーション開発者が以下の機能をアプリケーションにインプリメントするためのサービスが提供されています。

Tuxedo アプリケーション処理サービスの説明については、BEA Tuxedo ATMI のアーキテクチャを参照してください。

 


BEA Tuxedo システムによって提供される管理サービス

BEA Tuxedo システムでは、アプリケーション管理者が以下の管理タスクを行うためのサービスが提供されています。

管理サービスを提供する Tuxedo システム管理プロセスの説明については、BEA Tuxedo システムの管理とサーバ・プロセスおよびBEA Tuxedo の管理ツールを参照してください。管理サービスの詳しい使い方については、『BEA Tuxedo アプリケーションの設定』および『BEA Tuxedo アプリケーション実行時の管理』を参照してください。

 

Back to Top Previous Next
Contact e-docsContact BEAwebmasterprivacy