HTTPクライアント

JMSでは、クライアントはメッセージの送受信にHTTP転送を使用できます。 これは、HTTPを介してIIOPを渡す標準サーブレットで構成されるORBトンネルを利用することにより実行されます。トンネルが設定されているクライアントは、標準のIIOP要求を送信するのではなく、IIOP要求がHTTP要求に組み込まれているHTTP POSTを使用します。サーバ側では、トンネルサーブレットは、HTTP POST要求からIIOP要求を取り出し、IIOPスタイルで該当するサーバに転送します。

次の図は、トンネルを使用するプロデューサアプリケーションおよびコンシューマアプリケーションを示しています。 このプロデューサおよびコンシューマは、Novell exteNd Messaging PlatformのORBの上に構築されたJMSをそれぞれ使用します。クライアントにはトンネルが構成されているため、これらのクライアントは、インターネットからアクセスできるサーバのHTTP POST要求を送信します。 HTTP POSTのアドレスはORB HTTPトンネルサーブレットと一致する必要があります。ORB HTTPトンネルサーブレットにより、サーブレットホストからアクセスできるJMSサーバにIIOPスタイルの要求が転送されます。

ORBでは、双方向のIIOPはサポートされていません。通常、JMSサーバからコンシューマアプリケーションにメッセージを送信することはできません。その代わり、コンシューマはプルモードになります。メッセージがクライアントで要求されると自動的にプル要求が発行されます。 JMSクライアントアプリケーションは、ORBトンネルプロパティがコマンドラインで指定されている場合、自動的にプルモードで実行します。上の図で番号が付いている6つの手順について説明します。

  1. まず、プロデューサアプリケーションがメッセージを送信します。 このプロデューサには、HTTPトンネルが設定されているので、要求はHTTP POSTとしてORB HTTPトンネルサーブレットに送信されます。
  2. サーブレットコンテナのHTTPリスナは、HTTP POST要求を受信して、該当するサーブレットに転送します。この場合、HTTPトンネルサーブレットです。
  3. トンネルは、HTTP POST要求からIIOP要求を取り出して、このサーブレットが実行されているホストからアクセスできるJMSサーバに転送します。 サーブレットエンジンおよびJMSサーバは、同じホストにある必要はありません。
  4. HTTPに対して設定されているコンシューマアプリケーションは、プル要求を発行して新しいメッセージを受信します。
  5. 再び、サーブレットコンテナのHTTPリスナは、HTTP POST要求を受信して、トンネルに転送します。
  6. トンネルは、HTTP POST要求からIIOP要求を取り出して、JMSサーバに転送します。メッセージの応答は、同じルートでコンシューマに戻されます。

Copyright © 1998-2003, Novell, Inc.All rights reserved.