Oracle Tuxedo システム入門

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

Oracle Tuxedo システムの基本概念

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

 


Oracle Tuxedo システムとは

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

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

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

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

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

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

管理に関する機能

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

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

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

 


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

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

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

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

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

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

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

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

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

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

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

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

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

 


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

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

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

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

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

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

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

 


Oracle Tuxedo のクライアントとは

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

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

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

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

 


Oracle Tuxedo サーバとは

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

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

 


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

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

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

 


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

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

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


  ページの先頭       前  次