Oracle Tuxedo ATMIの紹介

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

Oracle Tuxedoシステムの基本概念

次の各項では、Oracle Tuxedoのプログラミング環境の概要を示します。

 


Oracle Tuxedoシステムとは

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

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

Oracle Tuxedoシステムは、AT&T、UNIX System Laboratories (USL)、Novell、Oracle Systemsなどのテクノロジ企業のグループが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のクライアント初期化ルーチンをコールすることによってOracle Tuxedoアプリケーションに参加します。アプリケーションに参加したクライアントは、トランザクション境界を定義したり、アプリケーション内の他のプログラムと通信するためのATMI関数をコールできるようになります。クライアントは、ATMI終了関数を発行することによってアプリケーションから分離します。クライアントは、必要なときにのみアプリケーションに参加し、適切なタスクが完了した時点でアプリケーションから分離することにより、他のクライアントおよびサーバーが使用できるようにOracle Tuxedoシステムのリソースを解放します。

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

 


Oracle Tuxedoサーバーとは

Oracle Tuxedoサーバーは、一連のサービスを監督するプロセスで、サービスをリクエストするクライアントに対して自動的にディスパッチします。また、サービスはビジネスに必要な特定のタスクを実行するサーバー・プログラム内の機能です。たとえば、とある銀行には預金を受け入れるサービスと口座残高を報告するサービスがあるとします。この銀行のサーバーは、両方のサービスに対するクライアントからのリクエストを受信します。サーバーは、各リクエストを適切なサービスにディスパッチする責任を負います。

サービス関数は、SQLなどのデータベース・インタフェースへのコールを介してビジネス・ロジックを実装し、場合によってはATMIへのコールを介して他のサービス、キューおよびその他のリソースにアクセスします。これらのサービスが配置されているサーバーは、クライアントに応答するか、クライアント・リクエストを新しいサービスに送信します。

 


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

Oracle Tuxedoシステムに用意されているサービスを使用すると、アプリケーション開発者は次の機能をアプリケーションに実装できます。

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

 


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

Oracle Tuxedoシステムには、アプリケーション管理者が次の管理タスクを実行するためのサービスが用意されています。

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


  先頭に戻る       前  次