この章では、WebSphere MQキューにアクセスする際のメッセージ・キューイングの概要、WebSphere MQおよびゲートウェイの役割について説明します。この章の内容は次のとおりです。
メッセージ・キューイングにより、分散アプリケーションは、アプリケーション間でメッセージを送信して非同期の通信が可能になります。送信側アプリケーションからのメッセージは、キューに格納され、受信側アプリケーションにより取得されます。アプリケーションは、メッセージ・キューイング・システムにリクエストを送信し、キューを通じてメッセージを送信および受信します。送信側と受信側アプリケーションは、同一または異なるメッセージ・キューイング・システムを使用することが可能で、これにより、メッセージ・キューイング・システムは、送信者キューから受信者キューへのメッセージ転送を処理できます。
キューされたメッセージは、システムがそれらを次のノードに転送する準備ができるまで、中間ノードに格納されます。宛先ノードでは、メッセージは、受信側アプリケーションがキューから取得するまでキューに格納されます。ネットワークまたはアプリケーションでエラーが発生した場合でも、メッセージは確実に配信されます。これにより、アプリケーション間に信頼できる通信チャネルが提供されます。
基礎モデルの複雑性および詳細(異なる環境間でのメッセージを格納および転送)は、メッセージ・キューイング・システムにより処理されます。この抽象化レベルを維持することで、情報を転送する方法の詳細を意識せずに、分散アプリケーションを開発できます。
送信側と受信側アプリケーションは、互いに独立して機能するため、リモート・アプリケーション、アプリケーション間のネットワークおよび受信側アプリケーションを実行しているシステムの可用性に対して、送信側アプリケーションはほとんど依存しません。これにより、関連アプリケーションの可用性のレベルが高くなります。
メッセージおよびメッセージ・キュー操作をアプリケーションによって構成すると、特定のモードで操作できます。たとえば、送信側アプリケーションは、キューされたメッセージがシステム・クラッシュで存続するように指定できます。別の例では、受信側アプリケーションは、キューからの受信操作(受信キューでメッセージがまだ取得可能ではない場合)の最大待機時間を指定できます。
WebSphere MQは、メッセージ・キュー・クライアントおよびメッセージ・キュー・サーバーのモデルに基づくメッセージ・キューイング・システムです。アプリケーションは、キュー・マネージャおよびキューが存在するサーバー・ノードまたはリモート・クライアント・ノードのいずれかで実行されます。アプリケーションは、それらが接続されたキュー・マネージャが所有するキューからのみメッセージを送信または取得できます。
次の表では、このマニュアルで使用されるWebSphere MQの用語について説明します。
Oracle Database Gateway for WebSphere MQにより、Oracleアプリケーションを他のWebSphere MQアプリケーションと統合できます。Oracleアプリケーションは、他のWebSphere MQアプリケーションとメッセージを送受信できます。ゲートウェイを使用すると、Oracleアプリケーションは、リモート・プロシージャ・コール(RPC)処理を通じてWebSphere MQメッセージ・キューにアクセスできます。
ゲートウェイは、Oracleデータベースで使用可能なRPC機能を拡張し、任意のクライアント・アプリケーションからPL/SQLを使用してWebSphere MQキュー内のメッセージにアクセスできます。ゲートウェイは、ゲートウェイによりMQIコールに翻訳されるPL/SQLプロシージャを提供します。これらのプロシージャは、MQIのコールおよびタイプに類似していますが、Oracleデータベースとのトランザクション統合を最大限に活用するように構成されています。これらのプロシージャの詳細は、付録Aを参照してください。
WebSphere MQにより、ゲートウェイは、メインフレーム、UNIXベース・システム、Microsoft Windowsおよびその他のデスクトップ環境などの多様なプラットフォーム上にあるいずれかの別のWebSphere MQシステムと通信します。ゲートウェイでは、リモート・システム上のOracleソフトウェアが不要です。ゲートウェイは、既存のWebSphere MQアプリケーションと、アプリケーションに変更を加えずに統合され、メッセージ指向システムの利点を最大化する能力をユーザーに提供することで、これらのアプリケーションに対する投資の有効利用を可能にします。
また、ゲートウェイは、ネットワーク・コンピューティングなどの新しいテクノロジ領域と既存のWebSphere MQアプリケーションを統合する方法を提供します。Oracle Application Server 11gを使用するアプリケーションを含むすべてのOracleアプリケーションは、PL/SQLプロシージャを起動できます。
ゲートウェイを介してWebSphere MQにアクセスするアプリケーションを開発する場合、Oracle Visual Workbench for Oracle Database Gateway for WebSphere MQを使用してください。Oracle Visual Workbenchを使用すると、WebSphere MQにアクセスするインタフェースを定義し、WebSphere MQキューから送信または取得するメッセージ・データの変換方法を定義できます。
Visual Workbenchは、インタフェースおよびデータ変換のためのPL/SQLコードを生成します。生成されるこのコードは、メッセージ・インタフェース・パッケージ(MIP)と呼ばれます。MIPは、ゲートウェイと相互作用する基礎コードを提供してメッセージ・データ変換を実行し、リモートのWebSphere MQアプリケーションとメッセージを交換できる使用が簡単なインタフェースをOracleアプリケーションに提供します。
関連項目: Oracle Visual Workbenchの詳細は、『Oracle Procedural Gateway Visual Workbench for WebSphere MQ Installation and User's Guide for Microsoft Windows (32-Bit)』を参照してください。 |
必要に応じ、生成済MIPコードを変更すると、Visual WorkbenchでサポートされていないWebSphere MQ関数を使用またはメッセージ・データ変換を拡張できます。生成済MIPコードの変更の詳細は、付録Aおよび付録Bを参照してください。
次の表では、このマニュアルで使用されるゲートウェイの用語について説明します。
WebSphere MQへのアクセスにゲートウェイを使用すると、次の利点があります。
トランザクション・サポート
ゲートウェイおよびOracleデータベースにより、状況に応じて、WebSphere MQ操作およびOracleデータベースの更新の実行が可能です。Oracleの拡張された2フェーズ・コミットがWebSphere MQ環境を保護し、特別なプログラムが不要です。
高速リモート・プロシージャ
ゲートウェイにより実装されるリモート・プロシージャが最適化され、WebSphere MQリクエストを効率的に処理します。
ゲートウェイおよびWebSphere MQへのリモート・プロシージャは、ゲートウェイにプリコンパイル済の最適化されたPL/SQLパッケージです。ターゲット・システム上にソフトウェア層が追加されていないため、オーバーヘッドが最小化されます。
位置の透過性
クライアント・アプリケーションは、特定のオペレーティング・システム上にある必要はありません。たとえば、使用するOracleアプリケーションは、IBM MVS上のアプリケーションにWebSphere MQメッセージを送信できます。受信側アプリケーションが別のプラットフォームに移動された場合、使用するOracleアプリケーションのプラットフォームを変更する必要はありません。
フレキシブル・インタフェース
Visual Workbenchで生成されたMIPを使用すると、ゲートウェイを使用して、既存の手続き型ロジックとのインタフェースまたは新規手続き型ロジックのOracleデータベース環境への統合が可能です。
Oracleデータベース統合
Oracleデータベースをゲートウェイと統合すると、Oracleの既存および将来の機能を効果的に利用できます。
幅広いツールの選択
ゲートウェイは、PL/SQLをサポートするすべてのツールまたはアプリケーションをサポートします。これには、Oracle Developerなど従来のOracleツールで作成されたアプリケーションまたはOracle Application Server 11gでサポートされているイントラネットやインターネット環境のために作成されたアプリケーションが含まれます。ゲートウェイは、Oracle Financialsなどのパッケージ済OracleアプリケーションおよびVisual Basic、PowerBuilderおよびLotus Notesなどの多様なサード・パーティ・ツールとも連携しています。
セキュリティ
ゲートウェイは、WebSphere MQセキュリティ認可メカニズムと互換性があります。
この項では、ゲートウェイ・アーキテクチャのコンポーネントについて説明します。
Oracleアプリケーションは、Oracleデータベースに接続します。これらは、ゲートウェイRPCを起動して、WebSphere MQキューにデータを送受信します。
Oracleアプリケーションは、ゲートウェイに直接接続せず、Oracleデータベースを介して間接的に接続します。Oracleデータベースは、Oracle Netを使用して、Oracleサーバーからサーバーへの通常の方法でゲートウェイと通信します。ゲートウェイは、シングル・プロセスで、バックグラウンド・プロセスを開始しません。UNIXプラットフォーム上で、ゲートウェイ・プロセスは、それぞれのユーザー・セッションに対して開始されます。
Oracle Netは、サーバーおよびサーバーからゲートウェイへの通信にクライアントを提供します。これにより、OracleアプリケーションとOracleデータベースとの通信が可能になり、Oracleデータベースがゲートウェイと通信できるようになります。
Oracleデータベースが、ゲートウェイと同一システム上にない場合、Oracleデータベースがインストールされているプラットフォーム上に正しいOracleネットワーク・ソフトウェアをインストールする必要があります。
Oracleアプリケーションは、PL/SQLとともにゲートウェイにより実装されるRPCを起動します。ゲートウェイ・プロシージャは、これらのRPCをWebSphere MQ MQIコールにマップして、対応するWebSphere MQ操作を実行します。
ゲートウェイには、Oracle CREATE DATABASE LINK
文により作成されるデータベース・リンク名を使用し、Oracleデータベースを介してアクセスします。データベース・リンクは、Oracleデータベースを識別するために使用する構成です。
ゲートウェイには、Oracleデータベースと同一のコンポーネントがいくつかあります。次のコンポーネントが含まれます。
ゲートウェイには、コントロール、再実行またはデータベース・ファイルがなく、Oracleデータベースに関連付けられたサブディレクトリの完全なセットおよびその他のファイルもありません。
ゲートウェイの開始方法は、Oracleデータベースと同じではありません。バックグラウンド・プロセスがなく、OracleEnterprise Managerなどの管理ユーティリティが必要ありません。ゲートウェイにアクセスするOracleデータベース・ユーザーのそれぞれのセッションが、ゲートウェイを実行するホスト・システム上に独立したプロセスを作成します。
Oracleデータベース、ゲートウェイおよびWebSphere MQキュー間のすべての通信は、ゲートウェイへのRPCコールにより処理されます。これらをコールするPL/SQLコードは、Visual Workbenchにより自動的に生成されます。ゲートウェイ、OracleデータベースおよびWebSphere MQ間の通信の詳細は、付録Aまたは『Oracle Procedural Gateway Visual Workbench for WebSphere MQ Installation and User's Guide for Microsoft Windows (32-Bit)』を参照してください。