![[MQ 9.3.0 Jun 2022]](ng930cd.gif)
![[MQ 9.3.0 Jun 2022]](ng930.gif)
![[ジャカルタ・メッセージング 3.0 ]](ngjm30.gif)
IBM MQ classes for Jakarta Messagingを使用する必要があるのはなぜですか?
あらゆる既存の Jakarta Messaging スキルを組織内でしようできるようになることや、Jakarta Messaging プロバイダーから、より独立しているアプリケーションと基礎となる IBM MQ 構成など、IBM® MQ classes for Jakarta Messaging の使用には多くの利点があります。
IBM MQ classes for Jakarta Messaging を使用する利点の要約
IBM MQ classes for Jakarta Messaging を使用すると、既存の Jakarta Messaging スキルを再利用して、アプリケーションの独立性を確保することができます。
- Jakarta Messaging スキルを再利用できます。
IBM MQ classes for Jakarta Messaging は、 IBM MQ 用の Jakarta Messaging インターフェースをメッセージング・システムとして実装する Jakarta Messaging プロバイダーです。 組織が IBM MQを初めて使用するが、 Jakarta Messaging (または JMS) アプリケーション開発スキルを既に持っている場合は、 IBM MQで提供されている他の API の 1 つではなく、使い慣れた Jakarta Messaging API を使用して IBM MQ リソースにアクセスする方が簡単です。
- Jakarta Messaging は、 Jakarta EEの整数部分です。
Jakarta Messaging は、 Jakarta EE プラットフォームでのメッセージングに使用する自然 API です。 Jakarta EE 準拠のすべてのアプリケーション・サーバーには、 Jakarta Messaging プロバイダーが含まれている必要があります。 Jakarta Messaging は、アプリケーション・クライアント、サーブレット、 Java Server Pages (JSP)、Enterprise Java Bean (EJB)、およびメッセージ駆動型 Bean (MDB) で使用することができます。 特に、 Jakarta EE アプリケーションは MDB を使用してメッセージを非同期に処理し、すべてのメッセージは Jakarta Messaging メッセージとして MDB に送信されることに注意してください。
- 接続ファクトリーおよび宛先は、アプリケーションにハードコーディングされるのではなく、 Jakarta Messaging 管理対象オブジェクトとして中央リポジトリーに保管することができます。
管理者は、中央リポジトリーで Jakarta Messaging 管理対象オブジェクトを作成および保守することができ、IBM MQ classes for Jakarta Messaging アプリケーションは、Java Naming Directory Interface (JNDI) を使用してこれらのオブジェクトを取得できます。Jakarta Messaging 接続ファクトリーおよび宛先は、キュー・マネージャー名、チャネル名、接続オプション、キュー名、およびトピック名など、IBM MQ 固有の情報をカプセル化します。 接続ファクトリーおよび宛先が管理対象オブジェクトとして保管される場合、この情報はアプリケーションにハードコーディングされません。 したがって、この配置により、基礎となる IBM MQ 構成からある程度の独立性がアプリケーションに提供されます。
- Jakarta Messaging は、アプリケーションの移植性を提供できる業界標準の API です。
Jakarta Messaging アプリケーションは、 JNDI を使用して、管理対象オブジェクトとして保管されている接続ファクトリーおよび宛先を取得し、 jakarta.jms (Jakarta Messaging 3.0) パッケージで定義されているインターフェースのみを使用してメッセージング操作を実行できます。 これにより、アプリケーションは、 IBM MQ classes for Jakarta Messagingなどの Jakarta Messaging プロバイダーから完全に独立し、アプリケーションに変更を加えることなく、ある Jakarta Messaging プロバイダーから別のプロバイダーに移植することができます。
特定のアプリケーション環境で JNDI を使用できない場合、 IBM MQ classes for Jakarta Messaging アプリケーションは Jakarta Messaging API の拡張機能を使用して、実行時に接続ファクトリーと宛先を動的に作成して構成することができます。 これにより、アプリケーションは完全に自己完結型になりますが、 Jakarta Messaging プロバイダーとして IBM MQ classes for Jakarta Messaging に結合されます。
- Jakarta Messagingを使用すると、ブリッジ・アプリケーションの作成が容易になる場合があります。
ブリッジ・アプリケーションとは、メッセージをあるメッセージング・システムから受信し、それを別のメッセージング・システムに送信するアプリケーションです。 プロダクト固有の API およびメッセージ形式を使用してブリッジ・アプリケーションを作成することは、複雑になる可能性があります。 代わりに、メッセージング・システムごとに 1 つずつ、2 つの Jakarta Messaging プロバイダーを使用してブリッジ・アプリケーションを作成することができます。 これにより、アプリケーションは 1 つの API ( Jakarta Messaging API) のみを使用し、 Jakarta Messaging メッセージのみを処理します。
実装可能な環境
Jakarta EE 環境の外部では、OSGi ファイルと JAR ファイルが提供されているため、 IBM MQ classes for Jakarta Messagingのみを入手することが容易になります。 これらの JAR ファイルは、スタンドアロンでデプロイすることも、Maven などのソフトウェア管理フレームワーク内でデプロイすることもできます。 詳細については、 JMS用の IBM MQ クラスと、Jakarta Messaging用の IBM MQ クラスを個別に取得する方法を参照してください。