次の項では、Oracle Tuxedo製品のアーキテクチャの主要な特長について説明します。
Oracle Tuxedoは、Webからエンタープライズにわたる異機種間分散環境にスケーラブルな多層クライアント/サーバー・アプリケーションをビルドするためのフレームワーク(ミドルウェア)です。Oracle Tuxedoを使用すると、基礎となるハードウェア、オペレーティング・システム、ネットワークおよびデータベース環境に依存することなく、分散アプリケーションを開発、管理およびデプロイできます。
次の図に示すように、ミドルウェアは、ネットワーク内のシステム・ノード上で、クライアント/サーバー・アプリケーション
ととオペレーティング・システムおよびネットワーク サービスの
間に存在するソフトウェア・サービスで構成されます。
ミドルウェア・サービスは、オペレーティング・システムおよびネットワーク・サービスに比べてより多くのアプリケーション・プログラミング・インタフェース(API)の機能セットが提供されます。ミドルウェア・サービスの主な目的は、アプリケーションの接続性と相互運用性の問題の解決を支援することです。
Oracle Tuxedoには、次のミドルウェア・サービスが用意されています。
ATMI(アプリケーション・トランザクション・モニター・インタフェース)は、Tuxedoシステムの主要なAPIです。これには、トランザクション管理機能(ルーチン、関数)、リクエスト/レスポンス、会話、キューイング、パブリッシュ/サブスクライブのメッセージ処理機能、サービス・インタフェース機能、および分散アプリケーション通信用のバッファ管理機能が含まれます。
CORBA (Common Object Request Broker Architecture)は、OMG (Object Management Group)によって規定された言語に依存しない分散オブジェクト・モデルです。CORBAプログラミング・インタフェースは、C++ ORBとJava ORBで構成されます。ORB(オブジェクト・リクエスト・ブローカ)は、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に関する技術的なサポートまたはドキュメントは提供していません。
•
|
高パフォーマンスのトランザクション処理アプリケーション・サーバー
|
トランザクション処理アプリケーション・サーバーは、使用しているシステムやリソース・マネージャに関係なく、分散ATMIトランザクションのあらゆる側面をモニターします。これは、通常のコンピュータ・ハードウェアとオペレーティング・システム上でATMIトランザクションを実行するためのランタイム・エンジンを備えています。
•
|
高パフォーマンスのオブジェクト・アプリケーション・サーバー
|
CORBAオブジェクト・トランザクション・サービス(OTS)をベースとしたオブジェクト・アプリケーション・サーバーは、Tuxedo ATMIトランザクション処理技術とOracle CORBA C++ ORBを組み合せて、トランザクションを使用する分散オブジェクト・アプリケーションのパフォーマンスを向上させます。
Oracle Tuxedoには、トランザクション管理、セキュリティ、メッセージ・トランスポート、管理と管理性、および2フェーズ・コミット処理のためのXA準拠データベース・サポートに必要な、ATMIサービスとCORBA C++オブジェクトが組み込まれています。また、多数のサーバー・マシンにまたがる分散トランザクション処理用に調整された高速で信頼性の高いサーバー側メッセージ・スイッチも用意されています。
Oracle Tuxedoは、20年以上にわたるたゆみない開発と拡張を通して高い評価と完成度を獲得したシステムです。
•
|
1983年、TuxedoシステムはAT&TのBell Laboratories部門内の応用的、先進的な作業プロジェクトとして誕生しました。Tuxedoシステムのターゲット・アプリケーションは、AT&T内部のUNIXベースのオペレーティング・システムでした。
|
•
|
1989年、Tuxedo システムはAT&TのUNIX System Laboratories (USL)部門に移され、そのクライアント/サーバー・フレームワークが商業製品として販売されました。
|
•
|
1993年、USLはNovell社に買収され、Tuxedoシステムは同社に移されました。
|
•
|
1996年、BEA社はNovell社との間で、Tuxedoシステムを様々なコンピュータ・プラットフォーム(WindowsおよびほとんどのUNIXシステムを含む)向けに販売および継続開発するための独占的な契約を結びました。
|
•
|
2008年、Tuxedoは、他のすべてのBEA Systems製品と同様にOracleの製品になりました。
|
1983年のリリース1.0から2000年のリリース7.1に至るまで、Tuxedoシステムにはいくつもの重要な拡張と改良が重ねられ、これらは常に、クライアント・プロセスとサーバー・プロセス間の通信を簡素化および柔軟化することを目的としたものでした。進化を重ねたTuxedoシステムは、オープンな(オープン・スタンダードの)オンライン・トランザクション処理(OLTP)ソリューションの業界標準となりました。
リリース4.0では、
ATMI APIと
トランザクション処理を採用しました。リリース5.0では、Tuxedoアプリケーションのフェデレーションとアプリケーション間トランザクション処理を実現する
Domainsコンポーネントを導入しました。リリース7.1では、サード・パーティ製セキュリティ・システムのインストールを可能にする
セキュリティ・プラグイン・アーキテクチャを採用しました。
またリリース7.1では、マルチスレッドまたはマルチコンテキスト(あるいは両方)のアプリケーション・クライアントおよびサーバーを開発するためのATMI機能である
マルチスレッドおよびマルチコンテキストと、XML (eXtensible Markup Language)型付きバッファを使用してATMIアプリケーションの内部またはATMIアプリケーション間でXMLデータを交換するための
XMLバッファ・サポートを採用しました。リリース7.1では、Oracle Tuxedoに初めてOracle Jolt製品が同梱されました。
リリース8.0では、Oracle
CORBA APIと
CORBA Object Transaction Monitor (OTM)機能が搭載されました。CORBA OTMは、CORBA準拠のプログラミング・モデルのメリットと、Oracle Tuxedoコア技術インフラストラクチャの実証された機能と信頼性を兼ね備えています。
リリース8.1では、次の機能と拡張が導入されました。
Tuxedoシステムを英語または日本語でインストールして操作できます。
マルチバイト文字のエンコーディングを処理するための新しいATMIアプリケーション型付きバッファが用意されています。
Apache Xerces C++バージョン1.7パーサーがTuxedoに組み込まれ、顧客アプリケーションでXMLデータの読み書きができるようになりました。
Oracle WebLogic Server管理コンソールを使用して、Oracle TuxedoとOracle WebLogic Serverの両方のセキュリティを管理できます。
ユーザー・インタフェースを変更することなくTuxedoドメイン・ゲートウェイ・プロセスのパフォーマンスを向上します。
Tuxedoドメイン・ゲートウェイ・プロセスの
ON_STARTUP型の接続ポリシーの動作が変更され、リモート・ドメインごとに選択して接続を確立できるようになりました。
アプリケーション・アクティビティが長期にわたって存在しない場合でも、ファイアウォールを介したドメイン間接続を保持し、Tuxedoドメイン・ゲートウェイ・プロセスでドメイン間接続の障害を迅速に検出できます。
Tuxedoブリッジ・プロセスを(シングル・スレッド実行とは反対に)マルチスレッド実行向けに構成して、ブリッジのパフォーマンスを向上させることができます。
特定のTuxedo構成パラメータの最大許容長が64または78文字から256文字に増加しました。
グローバル最大トランザクション・タイムアウト・パラメータを追加して、非常に長いATMIトランザクション・タイムアウト値を防ぐことができます。
CORBA C++クライアントは、WebLogic Server T3クライアントと同じ方法でWebLogic Serverアプリケーション・サーバーとのグローバル・トランザクションに参加できます。
さらに、Oracle Tuxedo 8.1には、Oracle Jolt製品とOracle SNMP Agent製品が同梱されています。
リリース9.0では、次の機能と拡張が導入されました。
XMLスキーマと変換(XMLとFML/FML32間)をサポートします。また、Tuxedoサービス定義へのアクセスを可能にするTuxedoサービス・メタデータ・リポジトリも利用できます。これは、アプリケーションの開発または変更時に開発者と管理者による対話型問合せを処理できるように設計されていますが、アプリケーションの本番フェーズで、自動化された大量の問合せを処理するためのものではありません。
•
|
CORBA IIOPクライアント・フェイルオーバー
|
•
|
データ保護と否認防止のためのCert-C PKIプラグイン・セキュリティ
|
•
|
Tuxedo .NETワークステーション・クライアントのサポート
|
Tuxedo.NETワークステーション・クライアントを使用すると、.NET Framework環境でTuxedoシステムにアクセスできます。これは、開発者用に一連のAPIおよび開発ユーティリティとして実装されています。
さらに、Oracle Tuxedo 9.0には、Oracle Jolt製品とOracle SNMP Agent製品が同梱されています。
リリース9.1では、次の機能と拡張が導入されました。
•
|
Tuxedo .NETワークステーション・クライアント
|
Microsoftの.NET Framework機能を使用するTuxedo .NETワークステーション・クライアント・アプリケーションを効率的に開発するための便利なツールです。詳細は、
『.NETワークステーション・クライアントの使用』の
「Tuxedo .NETワークステーション・クライアント・アプリケーションの作成」を参照してください。
MS Windowsのリモート・デスクトップを使用したTuxedoの起動、アクセスおよび停止を可能にします。
•
|
TDomainトランザクションのパフォーマンスの向上
|
リリース10.0では、次の新機能と拡張が導入されました。
•
|
Oracle Tuxedo System and Application Monitor (TSAM)エージェント
|
Oracle TSAMは、Oracle Tuxedoのシステムおよびアプリケーションに、包括的なモニタリングおよびレポート機能が用意されています。これには、Oracle TSAMエージェントとOracle TSAMマネージャという2つのコンポーネントが含まれています。
Oracle TSAMエージェントを使用すると、アプリケーションの様々なパフォーマンス・メトリック(XAトランザクション、非XAトランザクション、サービス、システム・サーバーなど)を収集できます。Oracle TSAMエージェントは、パフォーマンス・メトリック収集のカスタマイズに使用できるオープンなプラグイン・フレームワークが用意されており、この情報を、Oracle TSAMマネージャ以外の管理ツールに送信できます。
Oracle TSAMエージェントは、Oracle TSAMマネージャと組み合せて使用できます。Oracle TSAMマネージャには、1つ以上のTuxedoドメインから収集されたパフォーマンス・メトリックを関連付けたり集計したりするためのグラフィカル・ユーザー・インタフェースが搭載されています。これらの情報は
リアルタイムで表示されます。
この機能では、Tuxedo内のすべてのネットワーク・リンク(LLE暗号化が可能な場所)に対して、SSL暗号化をサポートします。詳細は、
『ATMIアプリケーションにおけるセキュリティの使用』の
「ATMIのセキュリティの紹介」を参照してください。
汎用 AUTHSVRは、カスタム・コードを記述しなくても、TuxedoユーザーをLDAPベースのディレクトリ・サーバーで認証できる新しいTuxedoシステム・サーバー(GAUTHSVR)です。詳細は、
『ATMIアプリケーションにおけるセキュリティの使用』の
「シングル・ポイント・セキュリティ管理の実装」を参照してください。
DoS攻撃を防ぐために使用されるTuxedo TDomainドメイン・ゲートウェイ機能を提供します。また、Tuxedoドメインでは、パスワード・ペアの構成の柔軟性が向上しました。詳細は、
『ATMIアプリケーションにおけるセキュリティの使用』の
「ATMIのセキュリティの紹介」を参照してください。
•
|
buildclient/buildserverでのACUCOBOLの統合
|
Tuxedo 10.0では、buildclient/buildserverがCOBOLソース・ファイルを受け付け、ACUCOBOLコンパイラ・バージョン6.2.0以上を使用して、Cスタブ・コードを自動的に生成できます。
•
|
X.509証明書ルックアップに対応するOpenLDAP
|
Tuxedo 10.0 PKIプラグインには、X.509証明書ルックアップに対応するOpenLDAPのサポートが追加されました。詳細は、
『ATMIアプリケーションにおけるセキュリティの使用』の「セキュリティの管理」、「Cert-C PKI暗号化プラグインの構成」および「証明書ルックアップの構成」を参照してください。
リリース10
gR3では、次の新機能と拡張が導入されました。
IPv6は、IETFによって設計された次世代のプロトコルであり、現在のインターネット・プロトコル(IP)バージョン4 (IPv4)の後継に当たります。IPv4と異なるIPv6の最大の改良点は、IPアドレスが32ビットから128ビットに拡張されていることです。また、ルーティングやネットワーク自動構成などにおいてIPv4に多くの改良が加えられています。
Oracle Tuxedo 10
gR3でのIPv6の使用方法の詳細は、
Oracle Tuxedoプログラミング・ガイドの
「IPv6の有効化」を参照してください。
•
|
ATMIサーバーのアプリケーション生成のコンテキスト
|
ATMIサーバーのアプリケーション生成のスレッドで個別のTuxedoコンテキストを作成および終了できるように、2つの新しいAPI (
tpappthrinit(3c)および
tpappthrterm(3c))が提供されています。
tpappthrinit(3c)を使用して作成されたコンテキストでは、アプリケーション生成のサーバー・スレッドがサービス・リクエストを開始し、トランザクションを定義します。
Tuxedoクライアントの管理者が、実行時にアプリケーションの有効性をモニターできるようにします。アプリケーションの最大クライアント数、現在のクライアント数、特定のユーザーを記録できます。
tlisten.pwファイルはシステムによって暗号化されています。パスワードを変更するには、
tlistpwd(1)を使用する必要があります。
ローカル・ドメインを停止することなく、リモート・ドメイン・ゲートウェイのリスニング・アドレスを再構成できます。
PERSISTENT_DISCONNECT接続ポリシーを持つローカル・ドメインは、リモート・ドメインに接続することもリモート・ドメインからの接続リクエストを受け付けることもしません。
リリース11
gリリース1 (11.1.1.1.0)
リリース11
gR1では、次の新機能と拡張が導入されました。
Oracle Tuxedoのクライアント/サーバーのアフィニティ機能では、シンプルなセッション対応したアプリケーション・モデルを柔軟に設定できます。Oracle Tuxedo ATMI RPCインフラストラクチャを使用して、仮想リスクエストのルーティング・スコープが作成されます。セッションが確立されると、以降のすべての呼出しは、(明示的または暗黙的に)セッションが終了するまでルーティング・スコープの影響を受けます。クライアント/サーバーのアフィニティを使用すると、クライアント/サーバーのアフィニティ・スコープ内にセッション・コンテキスト・リソースを保持できます。
Oracle Tuxedo ATMIサービス名の最大長は127文字まで拡張されました。
•
|
間違ったパスワードでログインできなかった場合に、ドメインで接続の確立が再試行されます。
|
ON_STARTUPドメイン・ゲートウェイを構成すると、ドメインのパスワード・ペアによる検証が失敗した場合に、接続の確立の再試行が継続されます。
•
|
Microsoft Windowsの管理者以外のユーザーとしてOracle Tuxedoを柔軟に実行できるようになりました。
|
Microsoft Windowsで構成されている場合、Oracle Tuxedoドメインで起動されたプロセスは、
TUXIPCシステム・サービスを開始したユーザーではなく、
tmbootコマンドを実行したユーザーによって所有されます。
リリース11
gリリース1 (11.1.1.2.0)
リリース11
gR1 (11.1.1.2.0)では、次の新機能と拡張が導入されました。
•
|
Oracle Tuxedoグループの複数のリソース・マネージャ
|
リリース11
gリリース1 (11.1.1.3.0)
リリース11
gR1 (11.1.1.3.0)では、次の新機能と拡張が導入されました。
•
|
Oracle Tuxedo Exalogicの改善点
|
実行時環境を考慮しながらSPINCOUNTを動的にチューニングできるようになります。したがって、XAを使用するシステムで負荷が高い場合に特にパフォーマンスが向上します。管理者が静的な値でSPINCOUNTを構成しなくてもすみます。
•
|
Direct Cross Node Communication Leveraging RDMA
|
Oracle Tuxedoアプリケーションでは、別のマシン上のプロセスはソケットを使用するブリッジ・プロセスを介して互いに通信します。ブリッジ間の通信は速度がかなり低下することがあります。
この機能ではRMDAを利用することで、別のExalogicマシン上のプロセス同士が直接通信できます。Oracle Tuxedoアプリケーション・プロセスがブリッジ・プロセスのかわりにRDMAを使用すると、全体のパフォーマンスが向上します。
この機能により、Oracle Tuxedoユーザーは、Oracle Tuxedoコンポーネント間(ドメイン・ゲートウェア、ブリッジ、ワーク・ステーション・クライアントとWSH、JoltクライアントとJSH)で使用するプロトコルをSDPまたは通常のTCPのいずれかに構成し、Exalogicの利点(高帯域幅、低遅延、CPUの低使用率)を活用できます。
TLOGを格納するために、ファイル・システムのかわりにOracleデータベースを使用できるようになります。ディザスタ・リカバリでは必要に応じて、Oracleデータベースの様々な高可用性機能も活用できます。
詳細は、『Oracle Tuxedoユーザーズ・ガイド』のOracle Tuxedoアプリケーションの設定の
「トランザクションについて」、および『Oracle Tuxedoリファレンス・ガイド』の
ファイル形式、データ記述、MIBおよびシステム・プロセス・リファレンスと
コマンド・リファレンスを参照してください。
リリース12cリリース1 (12.1.1)では、次の主要な新機能と拡張が導入されました。
Oracle Tuxedo 12cでは、同一Tuxedoノード上でのプロセス間通信にIPCメッセージ・キューのかわりに共有メモリー・キューを使用して、ExalogicでのTuxedoアプリケーションのパフォーマンスが大幅に向上します。共有メモリー・キューを使用すると、送信側と受信側のプロセスが割当て前のメッセージを共有メモリー内で交換することができ、本来の宛先にメッセージが届くまでに何回もコピーする必要がなくなるため、スループットが大幅に向上し、待機時間が短縮されます。
Oracle Tuxedo 12cでは、Exalogicシステム上のストレージ・アプライアンスの多数の計算ノード間でアプリケーション・ディレクトリ(APPDIR)を共有できるため、アプリケーション・デプロイメントの管理が容易になります。
Tuxedoドメイン内およびTuxedoドメイン間での、読取り専用トランザクションの分散トランザクション処理が最適化されています。これには、TuxedoドメインとWTC間のグローバル・トランザクションも含まれます(WLS 12.1.1の場合。WLSのパッチまたは最新リリースについては、Oracleサポート・サービスに問い合せてください)。典型的なシナリオの1つは、グローバル・トランザクションのすべてのブランチが同一のOracle Databaseインスタンスにアクセスするケースです。
この機能をWebLogic Serverで使用するには、WebLogic Serverの最小パッチ要件を満たす必要があります。この機能はCORBAアプリケーションではサポートされません。
グローバル・トランザクション内のブランチを共通のグローバル・トランザクション識別子(GTRID)を使用してクロス・ドメインにするために、共通GTRIDが導入されました。ブランチは同一データベースで実行されている場合には密結合されます(データベースが許可している場合)。
Oracle Tuxedo 12cでは、アプリケーション・パッケージの新しい概念が導入されています。アプリケーション・パッケージは、自己完結型のデプロイ可能ユニットです。アプリケーション・パッケージは、アプリケーション・バイナリと必要な構成アーティファクトを含み、すでに実行しているTuxedoアプリケーション・ドメインに対して自動的にデプロイまたはアンデプロイすることができます。このリリースに含まれるアプリケーションのパッケージ化とデプロイメントの機能によって、プライベート・クラウド・アプリケーションのためのインフラストラクチャが提供されます。
この機能により、既存のC/C++/COBOLアプリケーションを拡張するために、Javaプログラミング言語を使用して新しいTuxedoサービスを開発できます。Javaサービスは、C/C++/COBOLサービスと同じコンテナにデプロイされて共存するため、同じツール・セットを使用して、異なるプログラミング言語で作成されたアプリケーションを管理およびモニターできます。同じコンテナでの共存により、様々な言語で作成されたサービス間でのトランザクション調整も最適化されます。Javaサービス開発に含まれる12cリリースの主要機能は次のとおりです。
•
|
モニタリングと管理 - C/C++/COBOLサービスと同じ
|
•
|
IBM WebSphere MQSeriesアダプタの機能
|
IBM WebSphere MQSeriesアダプタには次の新機能が追加されています。
•
|
TM_MQIサーバーのマルチスレッド・イベント・ドリブン・アーキテクチャによる、CPU使用率の低下、スループットの向上、スケーラビリティの強化
|
•
|
TM_MQIおよびTM_MQOサーバーでの接続失敗の自動リカバリ
|
•
|
リモートMQSeries Managerへの接続機能
|
この機能では、構成を利用することで、既存のコードを変更せずに、様々なバージョンのTuxedoサービスを1つのアプリケーション・ドメイン内または複数ドメイン間にデプロイすることができます。バージョンを使用すると、既存のTuxedoアプリケーションを、いくつかの特別なビジネス・アクセス・ロジックに対応できるように、現在のTuxedo管理階層に基づく様々な仮想アプリケーション・ドメイン、マシンおよびサーバー・グループにパーティション化することができます。また、これによって、非停止モードでアップグレード要件を満たすこともできます。
この機能を使用すると、同じデータ範囲に複数のサーバー・グループを構成できるため、プライマリ・グループが使用できない場合に受信リクエストを代替グループにフェイルオーバーすることができ、アプリケーションの可用性が向上します。この機能は、ドメイン内またはドメイン間で使用できます。
•
|
XMLベースのデータ依存型ルーティングでのパスの使用
|
XMLバッファ・タイプがデータ依存型ルーティングに使用される場合、この機能により、ルーティング基準を指定する際のXPathの使用方法の柔軟性が大幅に向上します。
Oracle Tuxedo 12cでは、柔軟性が高い認証と認可のフレームワークが提供されます。これにより、資格証明とアクセス制御リスト(ACL)をLDAPまたは他のサード・パーティ・フレームワークに格納できます。
汎用のLDAP認証および認可フレームワークの主要な機能は次のとおりです。
この機能では、ECID (実行コンテキストID)が、Tuxedo内、およびOracleスタックの様々な製品間で、各リクエストと一緒に伝播されます。ECIDの伝播によって、TuxedoドメインおよびOracle製品(WebLogic ServerやDatabaseなど)の間でのリクエストの相関が容易になり、アプリケーションの問題を迅速かつ容易に診断できるようになります。
この機能により、手動操作を行わずに、マスター・ノードを指定のバックアップに自動的に移行できます。したがって、アプリケーションの停止時間が最小限に抑えられ、可用性が向上します。同様に、この機能により、サーバー・グループの自動移行も可能になります。
詳細は、『Oracle Tuxedo Oracle Tuxedoアプリケーション実行時の管理』の
「アプリケーションの移行」を参照してください。
この機能では、Tuxedoの様々なタイムアウトおよび他の構成パラメータ(SCANUNITなど)に粒度としてミリ秒が導入されます。ミリ秒の粒度により、障害が発生したサーバーとノードのクリーンアップ、再起動および移行にかかる時間が短縮され、トランザクション・タイムアウトも短縮されます。このため、アルゴリズム取引アプリケーションなどにおける厳しいサービス・レベル合意の実施が可能になります。
この機能により、ローカルTuxedoドメイン内と同じく、Tuxedoドメイン間でブローカで処理されたイベントのサブスクライブ、サブスクライブ解除、およびポストを行うことができます。
詳細は、『Oracle Tuxedo Oracle Tuxedoアプリケーション実行時の管理』の
「イベントのサブスクライブ」を参照してください。
サービス定義がTuxedoメタデータ・リポジトリにある場合、
tmunloadreposコマンドを使用すると、その定義を使用してCプログラミング言語でサーバー疑似コードを生成できます。以前のリリースで生成されていたクライアント疑似コードに加え、サーバー側疑似コードも生成されるようになりました。
12cリリースでは、Joltのネストされたビューがサポートされるようになりました。
Oracle Tuxedo 12cに含まれる新しいプログラミング・モデルにより、C++での新しいTuxedoアプリケーションの開発が非常に容易になりました。SCAに基づくこのプログラミング・モデルは、最初はSALT 10gR3で発表され、現在はTuxedoインストールに含まれます。Tuxedo 12cにアップグレードすることで、この新しいプログラミング・モデルを使用でき、他の製品は必要ありません。
•
|
動的言語(PHP、PythonおよびRuby)のサポート
|
現在、Oracle Tuxedo 12cには、TuxedoサービスをPHP、PythonおよびRuby動的言語で開発するためのフレームワークが含まれます。このフレームワークは最初はSALT 10gR3で発表されましたが、現在、Tuxedo 12cインストーラに含まれています。Tuxedo 12cリリースにアップグレードすると、このフレームワークを使用してこれらの動的言語でTuxedoサービスを開発できます。このフレームワークには、これらの言語のクライアントAPIとApache Webサーバー・プラグインも含まれ、バックエンドのTuxedoサービスにアクセスするWebアプリケーションを開発できます。
リリース12cリリース2 (12.1.3)では、次の主要な新機能と拡張が導入されました。
•
|
Oracle Exalogic/SPARC SuperClusterのための最適化
|
XAアフィニティは、1つのグローバル・トランザクション内のすべてのデータベース要求を同一のOracle RACインスタンスにルーティングする機能を提供します。その要求がOracle Tuxedoアプリケーション・サーバーからのものか、Oracle WebLogic Serverからのものかは関係ありません。この機能により、データベース要求を新しいOracle RACインスタンスにリダイレクトするコストを削減できるため、アプリケーション・パフォーマンス全体が向上します。
このリリースの共通XID (トランザクション・ブランチ識別子)機能を使用して、Tuxedoは同一グローバル・トランザクション内の他のすべてのグループとコーディネータ・グループのXIDを共有します。以前のリリースでは、複数グループが参加している場合は、各グループが自身のXIDを持つために2フェーズ・コミットを必要としましたが、これとは対照的です。
共通XIDは、コーディネータ・ブランチを直接使用するため、同一のサービスを介して同一のOracle RACインスタンスに接続するグループに対するXAコミット操作が不要です。
また、グローバル・トランザクションのすべてのグループがコーディネータ・ブランチを直接使用する場合、2フェーズ・コミット・プロトコルではなく1フェーズ・コミット・プロトコルが使用されるため、
TLOGへのワイヤリングが必要ありません。
この機能により、サーバー・グループ内の複数サーバーが同一のグローバル・トランザクションに参加している場合の、シングルトンRACサービスの使用が不要になります。同一サーバー・グループおよび同一グローバル・トランザクションのサーバーが異なるRACインスタンスに接続している場合は、別のトランザクション・ブランチが使用されます。これにより、このようなアプリケーションは、使用可能なRACインスタンス間でロード・バランシングを実行できるようになります。
FAN (Fast Application Notifications)は、構成が変更されたことを示すためにOracle RACによって発行されるイベントです。システム・サーバーの
TMFANは、FANイベントをモニターし、計画されたDOWNイベント、UPイベント、ロード・バランシング・アドバイザ(LBA)通知などのための適切なOracle RACインスタンスにTuxedoサーバー接続を自動的に再構成するために導入されています。
•
|
Direct Cross Domain Communication Leveraging RDMA
|
この機能により、Tuxedoドメインのアプリケーションは、ExalogicのRDMAテクノロジを使用して他のドメインのアプリケーションと直接通信できます。アプリケーションは、リモート・アプリケーションのIPCクエリに直接アクセスできます。これにより、潜在的なボトルネックである
GWTDOMAINを削除し、待機時間を削減してスループットとスケーラビリティを向上させます。
次の最適化は、Oracle ExalogicのLinuxプラットフォームおよびSPARC SuperClusterのSolarisプラットフォームの両方でサポートされています。
この機能により、OracleデータベースでTLOGを作成できます。Oracle Tuxedo 12cリリース2 (12.1.3)でサポートされるすべてのプラットフォームでこの機能を使用できるようになりました。
診断ツールは、システム管理者がOracle Tuxedoシステム・ランタイム情報を収集し、それをローカルに保存するための便利な手段を提供します。Oracleサポートにこの問題を提供するかどうかを選択できます。この情報は、Oracleサポート・エンジニアがOracle Tuxedoシステムの問題、特に本番環境でのみ再現される問題を分析するのに有益です。
Oracle Tuxedoでは、未処理の
tpacall()の最大数が2048まで拡大されました。これにより、
tpgetrply()の前により多くの
tpacall()を呼び出すことができるようになりました。
•
|
Oracle Entitlements Server (OES)の統合
|
Oracle TuxedoはOracle Entitlements Server (OES)と統合され、リソースに対するアクセスや使用を制御するポリシーを定義、管理することで、組織がリソースを保護できるようになりました。
•
|
Oracle Tuxedo Plug-In for Oracle Virtual Assembly Builder
|
このリリースでは、Oracle Tuxedo Plug-In for Oracle Virtual Assembly Builderは、Oracle Tuxedo Application Runtime for IMSおよび次のOracle VM Serverをサポートしています。
•
|
Oracle VM Server for Exalogic
|
•
|
eGenアプリケーション・ジェネレータによるJavaアプリケーションの生成
|
eGenユーティリティはCOBOLコピーブックをJavaクラスにマッピングします。指定したCOBOLコピーブックが解析され、Javaソース・ファイルが生成されます。このユーティリティは、XMLサポートが必要な場合は対応するDTDおよびXMLスキーマも作成します。生成されたアーティファクトは、Javaアプリケーションから使用できます。このJavaアプリケーションは、Tuxedo内で実行されているものだけにかぎらず、別のアプリケーション・サーバーにあるもの、TuxedoホでホストされているCOBOLサービスにアクセスするスタンドアロン・アプリケーションとして、またはCICS/IMSアプリケーション環境内のメインフレーム上のものも使用が可能です。
•
|
Oracle Tuxedoメインフレーム・トランザクション・パブリッシャ
|
Oracle Tuxedoメインフレーム・トランザクション・パブリッシャは、Oracle JDeveloperベースのグラフィカル・ユーザー・インタフェースによってOracle Service Bus (OSB)からメインフレーム・トランザクションへのアクセスが大幅に簡易化されました。このGUIツールは、メインフレーム・トランザクションのCOBOLコピーブックをインポートしてJava BeanおよびOSB構成などの必要なすべてのアーティファクトを生成し、Oracle Tuxedo Mainframe Adaptersを介してメインフレーム・トランザクションにアクセスします。
Oracle Tuxedoでは、Javaを使用して新しいアプリケーションを開発する方法が向上しました。
•
|
Oracle Tuxedoのこのリリースでは、次の新しいJava APIがサポートされています。
|
•
|
Oracle Tuxedoでは、新しいバージョンのJavaサーバー構成ファイルが導入されました。この新しいバージョンを使用することを強くお薦めします。
|
•
|
Oracle Tuxedoでは、標準Javaサーバーの初期化と終了メソッドが向上しました。
|
•
|
Oracle Tuxedoでは、より柔軟性の高い追加の実行モードが提供されました(Javaサーバーはシングル・スレッド・モードで実行できるようになりました)。
|
•
|
Javaサーバー・トランザクション管理とSpring Frameworkの統合
|
このリリースでは、SpringアプリケーションのJTA準拠のトランザクション・マネージャ・インタフェースが提供されます。トランザクション・マネージャ・インタフェースは、Spring Frameworkアプリケーション・コンテキストの構成ファイルに指定することができ、Spring Frameworkによってインスタンス化されます。トランザクション・マネージャを使用して、SpringはJavaサーバーAPIを呼び出して既存のOracle Tuxedoアプリケーション・サービスにアクセスしたり、Tuxedo永続キュー・デバイスからのメッセージのエンキューやTuxedo永続キュー・デバイスからのメッセージのデキューを行ったり、Javaサーバーが作成した接続を介してデータベース操作を実行したり、分散トランザクション環境のイベント関連の操作を行うことができます。
RECORD機能は、データがCOBOL言語とC言語間で転送される場合に特に役立ちます。このような場合、RECORDバッファ・タイプはC言語で使用し、コピーブックはCOBOL言語で使用できます。
•
|
cpy2recordツールを使用すると、実行時にアプリケーション・プログラムによって解釈されるRECORD記述(バイナリ形式で格納)を生成できます。
|
•
|
RECORD記述は、実行時に要求に応じてRECORDファイル・キャッシュに読み込まれ、キャッシュがいっぱいになるまでキャッシュ内に保存されます。キャッシュがいっぱいになり、キャッシュ内にないRECORD記述が必要になると、アクセスされた時期が最も古いRECORD記述がキャッシュから削除され、新しいRECORD記述のための領域となります。
|
•
|
RECORDバッファとCOBOLレコードの間でデータ転送を行うと、ソース・データは自動的に宛先データの型に変換されます。たとえば、文字列フィールドは、EBCDIC形式とASCII形式の間で変換できます。
|
リリース12cリリース2 (12.2.2)では、次の主要な新機能と拡張が導入されました。
Tuxedoの分散キャッシュ機能は、Tuxedoアプリケーションに分散キャッシュへのアクセスを提供します。この機能では、Oracle Coherenceを分散キャッシュとして活用し、キャッシュ・アクセスのための新しいAPIを提供しています。この機能を使用すると、Oracle Coherenceが分散キャッシュにもたらすすべての利点を活用できます。この機能の使用例は次のとおりです。
•
|
Tuxedoアプリケーション用のデータ・キャッシュ
|
データ・キャッシュが有効な場合、Tuxedo型付きバッファを分散キャッシュに格納できます。Tuxedoドメイン内のどこかで実行されているアプリケーションは、キャッシュからデータを取得できるようになりました。これにより、クライアントとサーバーの間でデータを共有する新しい方法や、頻繁にアクセスするデータをキャッシュして、データベースに毎回アクセスする必要をなくす方法が提供されます。ほとんどのTuxedoバッファ・タイプがサポートされます。
結果キャッシュが有効な場合、Tuxedoはまずキャッシュをチェックして、リクエスト・バッファのレスポンスがキャッシュに存在するかどうかを確認します。このことは、リクエスト・バッファ内の構成可能なフィールドで構成される基準に基づいて行われます。キャッシュ・ヒットが成功した場合、キャッシュからレスポンスが返され、サービスは起動されません。現在のキャッシュ・エントリが存在しない場合は、サービスが起動されます。サービスが起動されると、結果はキャッシュに格納されます。
この機能を使用すると、大規模アプリケーションの起動時間を大幅に改善できます。1つのアプリケーションで構成した複数のサーバーを並行して起動できます。この機能では、グループ・レベルとサーバー・レベルで、起動シーケンスの起動依存関係を指定できます。詳細は、
「tmboot(1)」を参照してください。
•
|
Oracle Platform Security Services (OPSS)との監査の統合
|
•
|
Oracle Access Manager (OAM)との統合
|
このリリースでは、TuxedoアプリケーションでOracle Access Managerの充実したセキュリティ機能を活用できます。Tuxedoアプリケーションでは、OAMに格納されている資格証明およびリソース認可ポリシーを使用した認証や認可が可能です。この機能により、モバイルおよびその他のアプリケーションは、シングル・サインオンでSALT Webサービスを使用してTuxedoサービスにアクセスできます。詳細は、
「OAUTHSVRの認証サーバーとしての設定」および
「OAUTHSVR (5)」を参照してください。
•
|
Javaサーバー・モジュールおよび動的構成リロード
|
Oracle Tuxedo Javaサーバーは、Tuxedo Javaサーバー内で実行される様々なアプリケーションをより適切に分離するために、モジュール・エンティティを導入しています。Tuxedo Javaサーバーには動的構成リロード機能も備えられ、これにより、ユーザーがTuxedo Javaサーバーを再起動することなくアプリケーションを追加、削除および更新できます。詳細は、
Oracle Tuxedo Javaサーバーを参照してください。
このリリースには、次のXA関連の拡張機能が含まれています。
•
|
リソース・マネージャが失敗したときに、影響を受けるサービスを中断し、RMへの再接続の試行を継続してRMへの再接続に成功したら関連サービスを再開するようにTuxedoサーバーを構成できます。詳細は、 RM_ERR_THRESHOLD UBBCONFIG(5)SERVERSセクションおよび TA_RM_ERR_INTERVAL TM_MIB(5)T_SERVERクラス定義を参照してください。
|
•
|
TMSプロセスがダウンした場合、XAトランザクションはトランザクションのタイムアウトを待機するのではなく、すぐに中断します。レスポンス時間が短縮されます。
|
このリリースでは、SNMPエージェントがSNMPv3をサポートするようにアップグレードされました。このアップグレードの結果、2つの重要なセキュリティ機能が導入されました。
認証およびプライバシ(暗号化)機能を提供し、メッセージ・レベルで動作します。
所定のプリンシパルに、特定の機能を実行するために特定のMIBオブジェクトにアクセスすることを許可するかどうかを決定し、PDUレベルで動作します。
このリリースのTuxedoでは、Tuxedoサービスを管理するための新しいコンソールを導入しています。このリリースでは、使いやすく洗練された外観のUIにより、次の機能を提供しています。
•
|
Tuxedoメタデータ・リポジトリ・エディタ: Jolt、SALTまたはその他のTuxedoコンポーネントで使用されるTuxedoサービス定義を追加、編集、削除できます。
|
•
|
Webサービス(SOAPとREST)構成: TuxedoサービスにSOAPまたはRESTサービスとしてアクセスしたり、Tuxedoアプリケーションから外部のSOAP/REST Webサービスにアクセスできます。
|
•
|
メインフレーム・トランザクション・インテグレータ: メインフレーム・トランザクションにWebサービス(SOAPまたはREST)としてアクセスしたり、メインフレーム・トランザクションから外部Webサービスにアクセスできます。
|
このコンソールを使用するには、新しいTuxedoシステム・サーバー
TMADMSVRを
UBBCONFIGで構成します。詳細は、
「TMADMSVR」および
「MTP」を参照してください。
このリリースでは、RECORDバッファ・タイプに次の機能強化が加えられました。
•
|
RECORDからVIEW/32とFML/32への変換、またはその逆の変換のサポート
|
•
|
RECORDバッファでの REDEFINESのサポート
|
•
|
JoltおよびSALTでのRECORDバッファ・タイプのサポート
|
この機能を有効にすると、Tuxedoリクエストを特定のMSSQサーバー・インスタンスに送信できます。これは、シングルトン・サービス、つまり1つのサーバー・インスタンスでのみ通知できるサービスを通知できる新しいAPI
tpadvertisex(3c)を使用して可能になります。この機能を有効にすると、XAアフィニティ機能はMSSQ構成で動作できます。詳細は、
「サービスの通知と通知解除」および
「tpadvertisex(3c)」を参照してください。
•
|
コンソール・モードでのインストール: Tuxedoインストーラでコンソール・インストール/アンインストール・モードがサポートされるようになりました。
|
•
|
クローン・モードでのインストール: Tuxedoインストーラでは、既存のOracle Tuxedoインストールを別の場所にコピーし、コピーしたビットを新しい環境で動作するように更新するクローン・モードもサポートされています。
|
この機能は、リモートのOracle Tuxedoドメイン・サービス呼出しの統計を収集し、統計トレースを特定の間隔で監査ログ・ファイルにフラッシュします。この機能によって、ドメイン間アクティビティの追跡が容易になりました。詳細は、
「tmtrace(5)」 および
「tmadmin(1)」を参照してください。
このリリースのTuxedoでは、
tmtraceをサービス・レベルで有効にできます。サーバーのサービスが複数ある可能性がある場合に、1つの特定のサービスをトレースできるようになりました。詳細は、
「tmtrace(5)」および
「tmadmin(1)」を参照してください。
このリリースのTuxedo Joltには、ワークステーション・クライアントと同等のトレース機能を提供するJoltクライアント用の
tmtraceがあります。このリリースには、JoltクライアントによるECIDの伝播も含まれています(WebLogic Serverでの実行時)。詳細は、
「tmtrace(5)」および
「tmadmin(1)」を参照してください。
リリース12cリリース2 (12.2.2)では、次の機能が非推奨になりました。
Joltリポジトリは、このリリースで非推奨になり、削除されました。Joltリポジトリに格納されているすべてのサービス定義は、バルク・ローダー・ツールを使用してTuxedoメタデータ・リポジトリにロードできます。
元のJoltリポジトリ・サーバー
JREPSVRも非推奨になり、
JREPSVRが提供していたすべてのサービスは
TMMETADATAによって提供されるようになりました。
tmloadcfによって
UBBCONFIGに
JREPSRが検出された場合、
JREPSVRは自動的に削除され、まだ構成されていない場合は
TMETADATAが追加されます。
1つのリポジトリ(Tuxedoメタデータ・リポジトリ)と1つのサーバー(
TMMETADATA)を使用すると、動作の有効性が向上し、サービス定義が同期されないリスクが低減されます。
詳細は、
Oracle Joltの使用および
Oracle Tuxedoサービス・メタデータ・リポジトリの管理に関する項を参照してください。
Oracle Tuxedo管理コンソールは、このリリースで非推奨になり、削除されました。
Oracle Tuxedoシステムは、Open GroupのX/Open標準に準拠しており、これには、2フェーズ・コミット処理のためのXA標準、X/Open ATMI API、および言語国際化のためのX/Open Portability Guide (XPG)標準が含まれます。また、Oracle Tuxedoは分散アプリケーション開発向けのCORBA仕様と、あらゆるリレーショナル・データベース管理システム、オブジェクト指向データベース管理システム、ファイル・マネージャ、キュー・マネージャをサポートしています。
Oracle TuxedoシステムとATMIは、オンライン・トランザクション処理(OLTP)のX/Open分散トランザクション処理(DTP)モデルを実装しています。DTPモデルにより、クライアント/サーバー・アプリケーションで実行される作業の
アトミックな完了が保証されます(つまり、作業が正常に実行された場合に、関連するすべてのデータベースが適切に更新され、作業が正常に実行されかった場合は、関連するすべてのデータベースが元の状態にロールバックされます)。
Oracle Tuxedoシステムがサポートしているその他の標準は次のとおりです。
•
|
Lightweight Directory Access Protocol (LDAP): 情報ディレクトリにアクセスするためのプロトコルのセット。これらのディレクトリは、企業内の様々なアプリケーションがアクセスできるように、複数のシステムに物理的に分散できます。LDAPはX.500規格に含まれる標準に基づいていますが、大幅に簡略化されています。LDAPはX.500とは異なり、あらゆる種類のインターネット・アクセスに必要なTCP/IPをサポートします。LDAPは、証明書に関するX.509規格と対になっているため、証明書を発行する方法として理想的です。
|
•
|
X.509デジタル証明書: 特定の公開鍵に名前などの属性を関連付けるデジタル文。文には、認証局によってデジタル署名が付けられます。認証局は正当な文にのみ署名するという信頼に基づいて、公開鍵がその証明書に記載された本人のものであるとみなすことができます。Oracle Tuxedoの公開鍵によるセキュリティ機能では、X.509バージョン3.0準拠の証明書が認識されます。
|
•
|
Public-Key Cryptography Standard 7 (PKCS-7): 非公式のコンソーシアム(元の参加者はApple、Microsoft、DEC、Lotus、SunおよびMIT)の協力のもと、RSA Laboratoriesが開発した公開鍵による暗号化標準の1つ。PKCS-7は、デジタル署名や暗号化など、拡張された暗号化メッセージの一般的な構文を定義します。Oracle Tuxedoの公開鍵のセキュリティは、PKCS-7標準に準拠しています。
|
•
|
Secure Sockets Layer (SSL): インターネット(TCP/IP)上での保護された通信を確立するための標準プロトコル。
|
•
|
インターネット・プロトコル・バージョン6 (IPv6): IETFによって設計された次世代のプロトコル。現在のインターネット・プロトコル(IP)バージョン4 (IPv4)の後継に当たります。
|
クライアント/サーバー・アプリケーションは、呼出し側(クライアント)のソフトウェアと呼び出される側(サーバー)のソフトウェアを独立したプログラムに分離します。クライアント/サーバー・アプリケーションのメリットは、複数のクライアント・プロセスが1つのサーバー・プロセスと対話できることであり、それらのプロセスを同じホスト・マシンで実行する必要が
ないことです。このため、クライアントとサーバーは、それぞれの機能に適したハードウェアおよびソフトウェア・プラットフォーム上で実行できます。たとえば、クライアントはワークステーションやパーソナル・コンピュータなどの安価なプラットフォームで実行し、データベース管理サーバーは問合せの実行用に設計および構成されたプラットフォームで実行できます。
Oracle Tuxedoシステムは、Microsoft Windows ServerやXPなどの一般的な
クライアント・プラットフォームや様々なUNIXワークステーションに移植されています。Oracle Tuxedoシステムは、Microsoft Windows Server、HP-UX、IBM AIX、Sun Solarisなどの一般的な
サーバー・プラットフォームに移植されています。
Oracle Tuxedo 12
cリリース2 (12.2.2)でサポートされているプラットフォームのリストの詳細は、
『Oracle Tuxedoシステムのインストール』の
「Oracle Tuxedo 12
cリリース2 (12.2.2)
プラットフォーム・データ・シート」を参照してください。
複数のプログラミング・モデルおよびプログラミング言語のサポート
Oracle Tuxedoでは、2つのプログラミング・モデルと5つのプログラミング言語がサポートされています。サポートされているプログラミング・モデルはATMIとCORBAです。次のプログラミング言語がサポートされています。
•
|
CおよびCOBOL: ATMIアプリケーション・クライアントとサーバーでサポートされています。
|
•
|
C++: ATMIアプリケーション・クライアントおよびCORBA C++アプリケーション・クライアントとサーバーでサポートされています。
|
•
|
Java: CORBA Javaアプリケーション・クライアントおよびJoltアプリケーション・クライアントでサポートされています。
|
注意:
|
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 Tuxedoで開発したATMIおよびCORBAアプリケーションは
ミッション・クリティカル、つまり、高い信頼性、スケーラビリティ、セキュリティ、および管理性能を備えています。アプリケーションは企業の成長とともに発展させることができ、ネットワークの様々な箇所で障害が発生しても正常に実行できます。アプリケーションは、必要に応じて拡張および縮小できます。
Oracle Tuxedoは、ATMIおよびCORBAアプリケーションにかわって、トランザクションをその起点(通常はクライアント)から1つ以上のサーバー・マシン、そして元のクライアントにわたって管理できます。トランザクションが完了したとき、Tuxedoはそのトランザクションに関与したすべてのシステムの状態の一貫性を保証します。Tuxedoは、トランザクションを実行して、それらをシステム間でルーティングし、それらの実行のロード・バランシングを行い、障害後にそれらを再開する方法を認識しています。
Oracle Tuxedoは、複数のサイトの間でアクセスされ、様々なデータベース製品によって管理されるデータの整合性を保証します。また、トランザクションの参加リソースを追跡し、2フェーズ・コミット・プロトコルを監視して、トランザクションのコミットとロールバックが各サイトで正常に処理されたことを確認します。
Oracle Tuxedoシステムは、サイト障害、ネットワーク障害またはグローバル・リソース・デッドロック時のトランザクションのリカバリを調整します。Oracle Tuxedoシステムは、X/Open XAインタフェースを使用して様々なリソース・マネージャと通信します。このインタフェースは、Tuxedoの開発者によって提唱され、X/Openによって認定されており、トランザクション・マネージャとリソース・マネージャ間の分散トランザクションを制御するための標準インタフェースです。
Oracle Tuxedoシステムは、独自のATMIトランザクション管理機能(ルーチン、関数)に加え、トランザクション境界を判定するためのX/Open TXインタフェースを搭載しています。このインタフェースを使用すると、アプリケーション開発者はアプリケーション内の操作を1つにまとめ(トランザクション境界を定義し)、それらの操作がすべて実行されるか、またはすべて実行されないようにできます。つまり、トランザクションは1つの基本作業単位としてコミットまたはロールバックされるため、マシンに障害が発生した場合でも、関連するすべてのデータベースの同期が取られます。
エンタープライズ環境では、アプリケーションは数百の実行コンテキスト(この場合のコンテキストはスレッドまたはプロセス)、数万のクライアント・アプリケーション、および数百万のオブジェクトを十分なパフォーマンス・レベルでサポートしなければならない場合があります。急激に増加する要求に晒されると、アプリケーションではリソースの不足やパフォーマンスのボトルネックがすぐに明らかになります。したがって、スケーラビリティはOracle Tuxedoアプリケーションの極めて重要な特性です。
Oracle Tuxedoでは、ワークロードの要求を満たすためにサーバーを動的に生成および終了させるか(ATMI)、またはオブジェクトを動的にアクティブ化または非アクティブ化させる(CORBA)ことによって、トランザクション負荷の変更に応じて分散アプリケーションを拡張できます。Oracle Tuxedoは、利用可能なすべてのサービスまたはオブジェクトの間でワークロードを分散します。
Oracle Tuxedoをベースにビルドされたアプリケーションは、単一のサーバーに存在する単一のクライアントでも、または数千のクライアントとサーバーでも、アプリケーション・コードを変更せずにサポートできます。Oracle Tuxedoシステムは、アプリケーションの拡張に応じてエンドユーザーに高いパフォーマンスと応答性を提供し続けます。
分散クライアント/サーバー環境では、数千個もの独立したプロセッサとプロセスが連係してアプリケーションを実行する必要があります。多くの障害が発生する可能性があります。Oracle Tuxedoは、障害が発生した場合でも、次の方法でアプリケーションの実行を継続します。
•
|
何かが停止しても処理を続行できるレプリケート・サーバー・グループを提供して、シングル・ポイント障害が発生しないことを保証します。
|
•
|
障害の発生後、実行中のアプリケーションを正常な状態にリストアします。
|
e-ビジネス・アプリケーションへの常時アクセスの保証は、Oracle Tuxedoの大きな特長です。システム・コンポーネントに対しては、アプリケーション、トランザクション、ネットワークおよびハードウェアの障害がモニターされます。障害が発生すると、Oracle Tuxedoはそのコンポーネントをシステムから論理的に削除し、必要なリカバリ手順を管理して、メッセージとトランザクションを正常なシステムに再ルーティングします(これらはすべてエンドユーザーに対して透過的であり、サービスの中断もありません)。
Oracle Tuxedoのセキュリティには、認証、認可、およびOracle Tuxedoアプリケーションをネットワークにデプロイするときのデータのプライバシを保証するための暗号化が含まれています。サポートされている暗号化には、(1) Oracle Tuxedo独自のリンクレベルの暗号化(LLE)またはSecure Sockets Layer (SSL)を使用したネットワークレベルの暗号化、(2) SSLプロトコルと公開鍵暗号化を使用したアプリケーションレベルの暗号化の2つのレベルがあります。
Oracle Tuxedoセキュリティを他のセキュリティ・システムと統合するために、Oracle Tuxedoは次のセキュリティ・プラグイン・インタフェースを備えています。このプラグイン・インタフェースを使用すると、独自のセキュリティ・プラグインを自由に定義して動的に追加できます。
ATMIおよびCORBAアプリケーションのセキュリティの詳細は、
『ATMIアプリケーションにおけるセキュリティの使用』 および
『CORBAアプリケーションにおけるセキュリティの使用』を参照してください。
Oracle Tuxedoソフトウェアの旧リリースまたはOracle WebLogic Enterpriseと相互運用する場合のセキュリティ、またはOracle WebLogic Serverと相互運用する場合のセキュリティの詳細は、
『Oracle Tuxedoの相互運用性』を参照してください。
Oracle Tuxedoシステムには、Oracle Tuxedo ATMIまたはCORBA環境のいずれかで同じ種類の管理タスクを実行する方法がいくつか用意されています。次の図に、アプリケーションの構成ファイルへの書込みや、実行時のOracle Tuxedoアプリケーションの動的な管理に使用できるツールを示します。
これらのツールを使用すると、Oracle Tuxedoアプリケーションの管理に加え、アプリケーション障害が発生した場合にフォルトの分離とリカバリを実行できます。Oracle Tuxedoは、様々なタイプの障害から自動的にリカバリできます。ただし、一部の障害(ほとんどは最も重大な障害)では、実際にどのような障害が発生したかをユーザーが判断する必要があります。
Oracle Tuxedoアプリケーションを動的に変更するために必要な機能のほとんどは、
tmadminコマンドおよび
tmconfigコマンドによって提供されます。Oracle Tuxedo Domainsの構成を動的に変更するために必要な機能のほとんどは、
dmadminコマンドによって提供されます。各コマンドは、様々な管理タスク(システム実行時の構成エントリの変更など)を実行するためのサブコマンドを持つ対話型のメタコマンドです。
MIBインタフェースは、Oracle Tuxedo管理情報ベース内のシステム設定を直接アクセスおよび操作するためのアプリケーション・プログラミング・インタフェースです。このインタフェースを使用すると、Tuxedoアプリケーションを一括管理できます。MIBインタフェースは、Tuxedo開発者がビジネス・クリティカルなクライアント/サーバー・アプリケーションを開発するために使用するのと同じAPIが実装されているため、非常に強力です。
アクセス制御リスト、ディスクベースのキュー、Domains、イベント、コアTuxedoおよびワークステーション拡張を管理するためのMIBインタフェースが用意されています。対応するMIBコンポーネント名は、
ACL_MIB、
APPQ_MIB、
DM_MIB、
EVENT_MIB、
TM_MIBおよび
WS_MIBです。MIBインタフェースを通して、管理者はTuxedo掲示板にMIBオブジェクトの現在の状態をプログラマティックに問い合せ、次に特定のMIB値を設定およびリセットするか、新しいMIBオブジェクトを作成して管理上の変更を加えることによってアプリケーションを管理します。
MIBインタフェースを通して実行できる管理のレベルは、フェイルオーバーおよびフォールバック状態のときに非常に役立ちます。MIBプログラミング・インタフェースは、フェイルオーバー状態で発生するあらゆる問題を処理するための唯一の手段です。フェイルオーバー時には、スクリプトを使用してクライアントMIBプログラムを実行し、停止、サーバー・グループの移行、アプリケーションの状態の検証などの各タスクを実行できます。
次の図に、Oracle Tuxedoのクライアントおよびサーバー・コンポーネントと、クライアントとサーバー間の接続を示します。この図には、リモートTuxedoクライアントのみが示されています。
リモートTuxedoクライアント(ATMI(/WS)、JoltまたはCORBA C++)は、ネットワーク接続と1組のTuxedoゲートウェイ・プロセス(ワークステーション・リスナー/ハンドラ(WSL/WSH)、Joltサーバー・ リスナー/ハンドラ(JSL/JSH)、またはIIOP リスナー/ハンドラ(ISL/ISH))を介してTuxedoサーバーに接続します。リモートTuxedoクライアントは、Tuxedoサーバー・アプリケーションの一部では
ないマシン(通常はワークステーションまたはパーソナル・コンピュータ)で動作したり、Tuxedoサーバー・アプリケーションの一部で
あるマシン上で動作します。後者のケースでは、ローカル・オペレーティング・システムはネットワークに送信されるメッセージをインターセプトし、ローカルに実行されている目的のプロセス(Tuxedoリモート・クライアントまたはハンドラ・プロセス)にリダイレクトします。
ネイティブTuxedoクライアント(ネイティブATMIクライアントまたはネイティブCORBA C++クライアント)は、Tuxedoサーバー・アプリケーションの一部であるマシンに存在し、プロセス間通信を使用してTuxedoインフラストラクチャを介してTuxedoサーバーに接続します。ネイティブJoltクライアントはサポートされて
いません。これらのクライアントは、1組のJSL/JSHゲートウェイ・プロセスを通してのみTuxedoサーバーにアクセスできます。
次に、Oracle Tuxedoのクライアントとサーバー間の接続をより詳しく理解できるよう、前の図に示したその他の用語について簡単に説明します。
インターネットORB間プロトコル。インターネット(TCP/IP)を介したCORBA ORB間の通信に使用するプロトコルです。
リンク・レベルの暗号化。Oracle Tuxedoサーバー・マシン間のネットワーク・リンクでデータの機密性を確立するためのOracle Tuxedoプロトコルです。
Secure Sockets Layer。インターネット(TCP/IP)上での保護された通信を確立するための標準プロトコル。
Oracle Tuxedoクライアント・コンポーネント
Oracle Tuxedo 12
cリリース2 (12.2.2)には、次のクライアント・コンポーネント・ソフトウェア配布キットが組み込まれています。
•
|
Oracle ATMI Workstation (/WS)クライアント・ソフトウェア
|
•
|
Oracle CORBA C++クライアント・ソフトウェア - C++Object Request Broker (ORB)と環境オブジェクトを含む
|
•
|
Oracle Jolt 12 cリリース2 (12.2.2)クライアント・ソフトウェア
|
•
|
Tuxedo .NETワークステーション・クライアント・ソフトウェア
|
Oracle Tuxedoサーバー・コンポーネント
Oracle Tuxedo 12
cリリース2 (12.2.2)には、次のサーバー・コンポーネント・ソフトウェア配布キットが組み込まれています。
•
|
Oracleアプリケーション・トランザクション・モニター・インタフェース(ATMI)サーバー・ソフトウェア
|
•
|
Oracle Common Object Request Broker Architecture (CORBA) C++サーバー・ソフトウェア
|
•
|
Oracle Jolt 12 cリリース2 (12.2.2)サーバー・ソフトウェア
|
•
|
Oracle SNMP Agent 12 cリリース2 (12.2.2)ソフトウェア
|
•
|
リンク・レベルの暗号化(LLE)およびSecure Sockets Layer (SSL)暗号化ソフトウェア
|
次の表に、Oracleシステム上にビルドされるアプリケーションの呼出し機能を示します。Oracle Tuxedoアプリケーションは、複数のOracle Tuxedoサーバー・マシンにまたがることができ、ATMIサービス、CORBAオブジェクト、またはその両方を提供できます。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
*ネイティブTuxedo ATMIまたはCORBA C++クライアントは、リスナーまたはハンドラ・ゲートウェイ・プロセスを使用しません。
|
Oracle Tuxedo 12
cリリース2 (12.2.2)と、Oracle Tuxedoソフトウェアの旧リリース、Oracle WebLogic Enterpriseおよびサード・パーティの製品を相互運用する方法、またはOracle Tuxedo 12
cリリース2 (12.2.2)とOracle WebLogic Serverを相互運用する方法の詳細は、
Oracle Tuxedoの相互運用性を参照してください。
注意:
|
Oracle Tuxedoクライアントは、別のOracle Tuxedoクライアントを呼び出すことができません。
|
Oracle Tuxedoアプリケーションでは、次のクライアント-サーバー間呼出しがサポートされています。
•
|
Oracle ATMIクライアントによるOracle Tuxedoサービスの呼出し
|
•
|
Oracle JoltクライアントによるOracle Tuxedoサービスの呼出し
|
•
|
Oracle CORBA C++クライアントによるOracle Tuxedo CORBA C++オブジェクトの呼出し
|
次の表に、Oracle Tuxedo ATMIおよびCORBA C++ プリケーション・サーバー間の呼出し機能を示します。
図に示すように、CORBA C++オブジェクトにはOracle TuxedoサービスのATMI呼出しを含めることができます。例については、
CORBA Universityサンプル・アプリケーション・ガイドのWrapper Universityサンプル・アプリケーションに関する項を参照してください。
Oracle Tuxedoドメイン(アプリケーション)は、1つの構成ファイルによって定義および制御されます。Tuxedoドメインは、ネットワークで接続された多くのTuxedoシステム・プロセス、1つ以上のアプリケーション・クライアント・プロセス、1つ以上のアプリケーション・サーバー・プロセス、および1台以上のコンピュータ・マシンで構成されます。これは1つの単位として管理されます。
Oracle Tuxedoドメインは、ATMIサービス、CORBAオブジェクト、またはその両方を提供できます。次の例のTuxedoドメインでは、ATMIサービスとCORBAオブジェクトが混在しています。
Oracle Tuxedoの用語において
ドメインは
アプリケーション(ビジネス・アプリケーション)と同義であり、Oracle Tuxedoのユーザー・ドキュメント全体にわたってこの2つの語は同義語として使用されています。現在Tuxedoで稼働しているビジネス・アプリケーションの例としては、航空会社やホテルの予約システム、クレジット認可システム、証券委託売買、ATMなどがあります。
Oracle Tuxedoファミリは、Oracle Tuxedo、Oracle ART、Oracle JCA、Oracle Jolt、Oracle SALT、Oracle SNMPエージェントおよびOracle TSAMで構成されます。
この項では、Oracle Tuxedoを除いた他のOracle Tuxedoファミリ製品の概要について説明します。
z/OS環境では、CICSは、エンドユーザーとコンパイル済プログラム間のトランザクション通信を画面から確立するのに使用されます。
CICSは、共有リソースの制御および整合性を実現するミドルウェアで、COBOL、PL1およびアセンブラ言語のz/OSで主に開発されたプログラム内のCICSと対話するための、開発者用のAPI (EXEC CICS … END-EXEC文)です。
z/OS CICSアプリケーションのすべてのコンポーネント(COBOLプログラムおよびデータ)が、Oracle Tuxedo Application Runtime Workbenchを使用してUNIX/Linuxプラットフォームに移行されると、CICSランタイムでは、ネイティブのOracle Tuxedo機能の上部にあるAPIエミュレーションを使用して、それらを変更せずに実行できます。
Oracle Tuxedo Application Rehosting Workbenchは、ユーザーによる次の操作を可能にする包括的なパッケージ・ソリューションの一部です。
再プラットフォーム化するプロジェクトの最小限のリスクとコストでの実行
標準化されたUNIX/Linux、Tuxedo、Oracle環境で再プラットフォーム化されたアプリケーションの実行
OracleランタイムおよびWorkbench情報の詳細は、次のドキュメントを参照してください。
Oracle Tuxedo JCAアダプタは、JCA 1.5準拠のアプリケーション・サーバーとOracle Tuxedoシステム間で双方向サービスを呼び出すJCAベースのリソース・アダプタです。Oracle Tuxedo JCAアダプタでは、JCAトランザクション標準に準拠したグローバルおよびローカルのトランザクションをサポートしています。また、接続管理、トランザクション侵入、アイデンティティ伝播およびリンク・レベルのセキュリティもサポートします。リンク・レベルのセキュリティでは業界標準のSSL/TLSまたは専用の高パフォーマンスのアルゴリズムを使用します。
Oracle JCA情報の詳細は、次のドキュメントを参照してください。
Oracle Joltは、リモートJavaクライアントが既存のOracle Tuxedo ATMIサービスにアクセスできるようにするJavaクラス・ライブラリとAPIです。Tuxedo ATMIサービス(アプリケーション・メッセージング、コンポーネント管理、分散トランザクション処理など)を通常のWebブラウザからリモートに呼び出すことができるクライアント・アプレットおよびアプリケーションをビルドできます。
Oracle Joltは既存のTuxedo ATMIアプリケーションの機能を拡張し、イントラネットやインターネットにも対応できます。Oracle Joltでは、Oracle WebLogic ServerからTuxedo ATMIサービスを呼び出すこともできます。詳細は、
5-7ページの「?$paratext>?」を参照してください。
Oracle Joltの詳細は、次のドキュメントを参照してください。
•
|
Oracle WebLogic ServerでのOracle Joltの使用
|
Oracle Service Architecture Leveraging Tuxedo (SALT)は、TuxedoアプリケーションをSOA環境対応にするためのTuxedoアドオン・オプションです。Oracle SALTは、2つの主要コンポーネント(ネイティブWebサービスとSCAコンテナ)から構成されています。
Oracle SALTを使用すると、外部のWebサービス・アプリケーションからTuxedoサービスをWebサービスとして呼び出したり、Tuxedoアプリケーションから外部のWebサービスを呼び出したりできます。これを実現するために、Oracle SALTでコーディングを行う必要はありません。また、Oracle SALTはSCAコンテナを備えているため、これまでどおりTuxedoインフラストラクチャを活用しながら、ビジネス・ロジックに重点を置いて新しいSOAアプリケーションを開発できます。SCAコンテナを使用することで、既存のアプリケーション資産を効率的に再利用することも可能になります。
Oracle SALT情報の詳細は、次のドキュメントを参照してください。
Oracle TuxedoのOracle SNMPエージェントを使用すると、SNMP準拠のネットワーク管理フレームワークでOracle TuxedoシステムとOracle Tuxedoアプリケーションを管理できます。Oracle SNMPエージェントは、Simple Network Management Protocolバージョン1 (SNMPv1)仕様に準拠しています。
Oracle SNMPエージェントは、TuxedoアプリケーションからSNMPベースのシステム管理コンソールへのSNMPリンクを提供します。また、任意のベンダーから複数のSNMPエージェントとサブエージェントを同じマシンで実行することもできます。
Oracle SNMPエージェントの詳細は、次のドキュメントを参照してください。
•
|
『Oracle Tuxedo SNMPエージェント管理ガイド』
|
•
|
『Oracle Tuxedo SNMPエージェントMIBリファレンス』
|
Oracle Tuxedo System and Application Monitor (TSAM)は、Oracle Tuxedoのシステムおよびアプリケーションに、包括的なモニタリングおよびレポート機能を提供します。これには、Oracle TSAMエージェントとOracle TSAMマネージャという2つのコンポーネントが含まれています。Oracle TSAMエージェントを使用すると、アプリケーションの様々なパフォーマンス・メトリック(XAトランザクション、非XAトランザクション、サービス、システム・サーバーなど)を収集できます。
Oracle TSAMマネージャは、1つ以上のTuxedoドメインから収集されたパフォーマンス・メトリックの関連付けおよび集計を実行し、それらをリアルタイムで表示するためのグラフィカル・ユーザー・インタフェースを提供します。
Oracle TSAMの主な機能は次のとおりです。