目次 前 次 PDF


Oracle Tuxedo CORBAの構成要素

Oracle Tuxedo CORBAの構成要素
次の項では、Oracle Tuxedoインフラストラクチャ上に構築されるOracle Tuxedo CORBAコンポーネントについて説明します。
注意:
Oracle Tuxedo CORBA JavaクライアントとOracle Tuxedo CORBA JavaクライアントORBはTuxedo 8.1で非推奨になり、サポートされなくなりました。すべてのOracle Tuxedo CORBA JavaクライアントおよびOracle Tuxedo CORBA JavaクライアントORBのテキスト・リファレンスとコード・サンプルは、サード・パーティのJava ORBライブラリを実装または実行する際の参考や、プログラマの参照用としてのみ使用してください。
サード・パーティのCORBA Java ORBのテクニカル・サポートは、各ベンダーによって提供されます。Oracle Tuxedoでは、サード・パーティのCORBA Java ORBに関する技術的なサポートまたはドキュメントは提供していません。
Oracle CORBAの概要
Oracle Tuxedo CORBAは、ミッションクリティカルなアプリケーションに依存する企業や組織に、Tuxedoトランザクション処理テクノロジの機能、堅牢製、実証済の信頼性を組み合せたCORBA準拠のプログラミング・モデルの利点を提供します。Oracle Tuxedo CORBAは、既存のTuxedoインフラストラクチャを活用して、トランザクション管理、セキュリティ、メッセージ・トランスポート、管理と管理性、およびXA準拠のデータベース・サポートを実現します。
Oracle Tuxedo CORBAでは、ORBモデルとオンライン・トランザクション処理(OLTP)機能を組み合せて、最高品質のオブジェクト・トランザクション・モニター(OTM)を構築します。次の図に示すように、OTMは3層のクライアント/サーバー・アークテクチャの一例で、OTMは、フロントエンドのGUIとバックエンドのリソース・マネージャ間のアプリケーション・ロジックをサポートします。リソース・マネージャの例には、オブジェクト志向データベース、リレーショナル・データベース、メッセージ・キュー、レガシー・アプリケーション、その他のバックエンド・サービスがあります。
図3-1 OTMを使用した3層クライアント/サーバー・アークテクチャ
OTMは、フロントエンドのユーザー・インタフェースとリソース・マネージャ間の直接的な接続に割り込むことで、数百、数千、あるいは数万のクライアントとランタイム・オブジェクトおよびバックエンド・リソースをリンクするすべてのトラフィックを制御します。OTMにより、グローバル(分散)トランザクションの正確な実行、ロード・バランシングの実現、およびシステム全体のパフォーマンスの向上が保証されます。OTMでは、オブジェクトのプールを事前起動するため、フォルト・トレランスも実現します。さらに重要な点は、OTMにより、アプリケーションのサーバー・プロセスがフロントエンドのユーザー・インタフェースとすべてのリソース・マネージャから独立することです。
Oracle Tuxedo CORBAは、サーバー側の分散オブジェクトを実行するオブジェクト・アプリケーション・サーバーです。Oracle Tuxedo CORBAでは、アプリケーションのサーバー・オブジェクトやトランザクションだけでなく、クライアント/サーバーの通信も管理します。
オブジェクト指向トランザクション通信は、特に強化されたORB呼出しを使用します。ただし、最も付加価値の高い要素はプログラマに対して透過的です。つまり、トランザクション・クライアント/サーバー通信は、開始トランザクション呼出しと終了トランザクション呼出しで区切られた通常の通信のように見えます。これらの呼出しで起動されるすべてのリソース・マネージャとプロセスが、トランザクションに含まれることにより区別できます。Oracle Tuxedo CORBAのようなOTMは、すべての参加者のアクションを編成し、トランザクションの一部として作動するようにします。
Oracle Tuxedo CORBA TPフレームワーク
Oracle Tuxedo CORBA OTMには、サーバー側の分散オブジェクトを実行するための体系化された環境であるTPフレームワークが用意されています。TPフレームワークは、適切なタイミングと順序でオブジェクトとTuxedo CORBAサービスを呼び出すだけでなく、サーバー側のプログラミング・モデルも簡素化します。
Oracle Tuxedo CORBAのアーキテクチャ
Oracle Tuxedo CORBAは、次の主要コンポーネントで構成されます。
Oracle Tuxedo OTMおよびインフラストラクチャ
分散CORBAアプリケーションの実行および管理に必要なサービスを提供します。
Oracle Tuxedo ORB
Tuxedo CORBAクライアント・オブジェクトとサーバー・オブジェクト間で相互に識別して通信できるようにします。
Oracle Tuxedo IIOPリスナー/ハンドラ
Tuxedo CORBAクライアントをインテリジェント・ワークステーションに常駐させ、ネットワーク接続を介してCORBAサーバー・アプリケーションと通信できるようにします。
Oracle Tuxedo環境オブジェクト
Tuxedo CORBAクライアントおよびサーバーとTuxedo CORBA環境との連携動作を支援するオブジェクトのセットを提供します。
Oracle Tuxedo CORBAオブジェクト・サービス
Tuxedo CORBAクライアントにオブジェクト・サービスを提供します。
Oracle Tuxedo TPフレームワーク
Tuxedo CORBAサーバー・アプリケーションを迅速に構築するためのプログラミング・モデルを提供します。
Oracle Tuxedo OTMおよびインフラストラクチャ
Oracle Tuxedoインフラストラクチャは、Oracle Tuxedo CORBAおよびOracle Tuxedo ATMIの両方に対応したクライアント/サーバーの基盤アーキテクチャです。ここで説明し、次の図で説明するOTMおよびインフラストラクチャにより、Oracle Tuxedo CORBA環境が構成され、分散CORBAアプリケーション用の通信インタフェース、トランザクション・サポート、アプリケーション処理および管理サービスが提供されます。
図3-2 Oracle Tuxedo CORBA環境
システム管理インタフェース
Oracle Tuxedo CORBAとOracle Tuxedo ATMIに共通のOracle Tuxedoシステム管理インタフェースでは、両方のアプリケーションを開発および管理するためのツールを使用できます。Oracle Tuxedoシステム管理インタフェースの詳細は、2-6ページの「?$paratext>?」を参照してください。
アプリケーション・プログラミング・インタフェース
Oracle Tuxedo CORBAプログラミング・インタフェースは、C++サーバーORBおよびC++クライアントORBで構成されます。アプリケーション・プログラマは、サーバー側でCORBA APIを直接使用するかわりに、標準のCORBAアプリケーションで必要な多くの機能を自動化するAPIを使用します。
Oracle Tuxedo CORBAのサーバー側TPフレームワーク・コンポーネントとクライアント側環境オブジェクトにより、プログラマは最小限のプログラミングでデプロイメント環境を使用できます。TPフレームワーク・コンポーネントの詳細は、3-11ページの「?$paratext>?」を参照してください。クライアント側の環境オブジェクトの詳細は、3-9ページの「?$paratext>?」を参照してください。
アプリケーション・プログラミング環境
アプリケーション・プログラマは、OMGインタフェース定義言語(IDL)と、必要に応じて市販の標準プログラミング・ツールを使用して、CORBAオブジェクトのセットとしてTuxedo CORBAアプリケーションを開発します。これらのオブジェクトは、CORBAインターネットORB間プロトコル(IIOP)を使用して他のオブジェクトと通信します。次の図は、Oracle Tuxedo CORBAプログラミング環境のアーキテクチャの構成要素を示しています。
図3-3 Oracle Tuxedo CORBAアプリケーションの構成要素
Oracle Tuxedo CORBAでは、管理するサーバー・プロセス中のオブジェクトを実行します。Oracle Tuxedo CORBAでは、Tuxedo ATMIサービスを実行するサーバー・プロセスも管理できるため、プログラマはオブジェクト・ベースのコンポーネントとサーバー・ベースのコンポーネントを同じTuxedoアプリケーションの中で組み合せることができます。
注意:
Tuxedoアプリケーションは、Tuxedo ドメインと同義です。Oracle Tuxedoドメインの定義については、2-1ページの「?$paratext>?」を参照してください。
Oracle Tuxedo ORBソフトウェア
ORB(オブジェクト・リクエスト・ブローカ)は、クライアントがサーバーの位置やネットワーク接続に依存せずにサーバーを識別して通信できるようにするライブラリです。ORBは、オブジェクト・バスとも呼ばれます。
プログラマは、OMG IDLを使用してオブジェクトのインタフェースを定義し、残りの部分はORBが処理します。ORBは、CORBAクライアントからCORBAサーバー・アプリケーションに送信されるリクエストの媒介として機能するため、クライアントとサーバーでは相互に関する情報が不要になります。次の図は、CORBAアプリケーション・クライアントであるORBとCORBAサーバー・アプリケーションの関係を示しています。
図3-4 CORBAクライアント/サーバー環境のORB
Oracle Tuxedo CORBAには、C++サーバーORBおよびC++クライアントORBが含まれます。ORBでは、トランザクション・サポートが組み込まれており、CORBA OTMのベースとなるCORBAオブジェクト・トランザクション・サービス(OTS)が2フェーズのコミット処理用のXA基準に準拠しています。
C++サーバーORBは、Tuxedo CORBAサーバー・プロセスに直接リンクされます。その他のクライアントORBは、CORBAのIIOPプロトコルを通じてOracle Tuxedo CORBAと通信できます。
Oracle Tuxedo IIOPリスナー/ハンドラ
Oracle Tuxedo IIOPリスナー/ハンドラでは、Oracle Tuxedoのサーバー側の機能がフル・インストールされていないリモート・マシン(Oracle Tuxedo管理サーバーも掲示板もサポートしないマシン)にあるCORBAクライアントがOracle Tuxedo CORBAサーバー・アプリケーションと通信できます。リモートCORBAクライアントとCORBAサーバー・アプリケーション間のすべての通信は、IIOPプロトコルを使用してネットワーク経由で実行されます。
リモートCORBAクライアントのメリットは次のとおりです。
管理上のオーバーヘッドが少なくなります
クライアントとOracle Tuxedoサーバー・マシンを分離し、セキュリティが向上します
CPUサイクルの負荷を軽減し、Oracle Tuxedoサーバー・マシン上のプロセス・コンテキスト切替えが減少します
小規模になります
IIOPリスナー/ハンドラ通信
IIOPリスナー/ハンドラ通信アーキテクチャには、次のソフトウェア・プロセスが含まれます。
CORBAクライアント
Oracle Tuxedo CORBA C++クライアントORBソフトウェアがインストールされたマシンで実行されるクライアント・プロセス。
IIOP Listener (ISL)
Oracle Tuxedoサーバー・マシンで実行され、CORBAクライアントからの接続リクエストを受け付け、同じくサーバー・マシンで実行されるIIOPハンドラに接続を割り当てるOracle Tuxedoリスニング・プロセス。ハンドラ間でのクライアント接続を分散します。また、IIOPリスナーでは、IIOPハンドラ・プロセスのプールを管理し、負荷の条件に応じてそれらを起動します
IIOP Handler (ISH)
Oracle Tuxedoサーバー・マシンで実行され、CORBAクライアントとOracle Tuxedoサーバー・アプリケーション間のIIOP通信を処理するOracle Tuxedoゲートウェイ・プロセス。ISHプロセスはアプリケーションの管理ドメインに常駐し、ローカルのOracle Tuxedo掲示板にクライアントとして登録されます。
各ISHプロセスでは、複数のCORBAクライアントを管理できます。ISHでは、特定のCORBAクライアントに関するすべてのリクエストと応答を1つの接続で多重化します。
IIOP Listener/Handlerのドキュメント
IIOPリスナー/ハンドラの詳細は、次のドキュメントを参照してください。
Oracle Tuxedoアプリケーションの設定
『Oracle Tuxedoコマンド・リファレンス』「ISL(1)」
Oracle Tuxedo CORBA環境オブジェクト
Oracle Tuxedo CORBAでは、クライアントがTuxedo CORBA環境で作動するために役立つ一連のオブジェクトが提供されます。このようなオブジェクトを使用すると、クライアント・アプリケーションが、Tuxedo CORBA環境へのログオン、CORBAオブジェクトの呼出し、およびトランザクションの開始と停止を容易にできるようになります。サーバー側のTP Frameworkコンポーネントのように、これらのオブジェクトはTuxedo CORBAサービスと相互作用します。
これらのオブジェクトがアプリケーション・クライアントに対して実行する処理は次のとおりです。
Bootstrapオブジェクト
Bootstrapオブジェクトでは、Tuxedo CORBAアプリケーションのTuxedo CORBAオブジェクトの参照が提供されます。アプリケーション・クライアントでは、異なるBootstrapオブジェクトを使用することで、複数のOracle Tuxedo CORBAアプリケーションに接続できます。
起動後にアプリケーション・クライアントが最初に実行する処理の1つは、IIOPリスナーのホストとポート番号を指定して、Bootstrapオブジェクトを作成することです。アプリケーション・クライアントがIIOPリスナーにアクセスすると、リスナーはIIOPハンドラをアプリケーション・クライアントに割り当て、割り当てられたIIOPハンドラとの通信リンクをBoostrapオブジェクトが確立します。
Bootstrapオブジェクトでは、TransactionCurrent、SecurityCurrent、InterfaceRepository、FactoryFinderなど、アプリケーション・クライアントが使用する既知のオブジェクトの参照も提供されます。
CORBA OTS TransactionCurrentオブジェクト
CORBA OTS TransactionCurrentオブジェクトでは、トランザクション・コーディネータを使用してトランザクションの境界を調整します。
SecurityCurrentオブジェクト
SecurityCurrentオブジェクトでは、セキュリティ・サービスからアプリケーション・クライアントの資格証明を取得します。SecurityCurrentオブジェクトでは、その資格証明をIIOPハンドラに登録し、その資格証明を使用して起動を許可または拒否します。
Oracle Tuxedo CORBAオブジェクト・サービス
Oracle Tuxedo CORBAは、C++プログラミング環境およびJavaプログラミング環境のための環境オブジェクトです。リリース8.0の時点で、Oracle Tuxedo CORBAは、初期オブジェクト参照を取得するために、サード・パーティ・クライアントORBによるOMG CORBAインターオペラブル・ネーミング・サービス(INS)の使用もサポートしています。
各環境オブジェクトには、アプリケーション・クライアントへのオブジェクト・サービスが用意されています。アプリケーション・クライアントは、特定のOracle Tuxedoサーバー・アプリケーションのサービスにアクセスするブートストラップ・プロセスを通じて、環境オブジェクトにアクセスします。OracleクライアントのORBでは、Oracle Bootstrapオブジェクト・メカニズムを使用し、サード・パーティ・クライアントのORBでは、CORBA INSメカニズムを使用します。Oracle Tuxedoアプリケーションのブートストラップの詳細は、『Oracle Tuxedo CORBAプログラミング・リファレンス』を参照してください。
Oracle Tuxedo CORBA環境オブジェクトでは、次のサービスが提供されます。
オブジェクト・ライフ・サイクル・サービス
オブジェクト・ライフ・サイクル・サービスは、FactoryFinder環境オブジェクトを通じて提供されます。FactoryFinderオブジェクトは、ファクトリを見つけるために使用できるCORBAオブジェクトで、ファクトリでは、CORBAオブジェクトのオブジェクト参照を作成できます。ファクトリとFactoryFinderオブジェクトは、CORBAサービスのライフ・サイクル・サービスの実装です。Oracle Tuxedo CORBAアプリケーションでは、オブジェクト・ライフ・サイクル・サービスを使用してオブジェクト参照を検索します。
セキュリティ・サービス
セキュリティ・サービスには、SecurityCurrent環境オブジェクトまたはPrincipalAuthenticatorオブジェクトを通じてアクセスします。SecurityCurrentオブジェクトとPrincipalAuthenticatorオブジェクトは、Oracle Tuxedoサーバー・アプリケーションへのアクセスを試みるアプリケーション・クライアントを認証するために使用します。Oracle Tuxedoソフトウェアでは、CORBAサービスのセキュリティ・サービスの実装が提供されます。
トランザクション・サービス
トランザクション・サービスには、TransactionCurrent環境オブジェクトまたはTransactionFactoryオブジェクトを通じてアクセスします。TransactionCurrentオブジェクトおよびTransactionFactoryオブジェクトを使用すると、アプリケーション・クライアントがトランザクションに参加(トランザクションの開始、一時停止、再開およびコミット)できます。Oracle Tuxedoソフトウェアでは、CORBAサービス・オブジェクトのトランザクション・サービス(OTS)の実装が提供されます。
インタフェース・リポジトリ・サービス
インタフェース・リポジトリ・サービスには、InterfaceRepositoryオブジェクトを通じてアクセスします。InterfaceRepositoryオブジェクトは、利用可能なすべてのCORBAインタフェースのインタフェース定義とCORBAインタフェースのオブジェクト参照を作成するファクトリが格納されるCORBAオブジェクトです。InterfaceRepositoryオブジェクトは、動的起動インタフェース(DII)を使用するアプリケーション・クライアントで使用します。
Oracle Tuxedo TPフレームワーク
TPフレームワーク・コンポーネントは、次の図に示すように、複雑なCORBAインタフェースをアプリケーションのプログラマに意識させることなく、高水準のパフォーマンスを達成できるプログラミング・モデルです。
図3-5 TPフレームワーク
TPフレームワークAPIでは、標準のCORBAアプリケーションで必要な多くの機能を実行するルーチンが提供されます。アプリケーション・プログラマのすることは、CORBAアプリケーションのビジネス・ロジックを記述し、TPフレームワークのデフォルトのアクションをオーバーライドすることだけです。
TPフレームワークおよび環境オブジェクトにより、開発が簡単になります。次の図は、Oracle Tuxedo CORBA開発環境を示しています。
図3-6 Oracle Tuxedo CORBAデプロイメント環境
 

Copyright ©1994, 2017,Oracle and/or its affiliates. All rights reserved