HTTPからJMSへのブリッジ

esb http jms soa
HTTPからJMSへのブリッジ

概要

クライアントアプリケーションが一部のバックエンドサービスと通信できるように、メッセージキューをインターネットに公開したいと思います。

セキュリティ上の理由から、jmsエンドポイントを直接公開したくありません。 また、プレーンなHTTPトランスポートを使用すると、jmsプラグインを異種のクライアントアプリケーション(.net、java、javascript)に配布する必要がなくなります。

研究結果

ActiveMQ

ActiveMQの「組み込み」RESTインターフェースを見てみました。

しかし、テストでは、このデモは信頼できない_(i.e。 「私のメッセージはどこに行きましたか?」_。 また、デモを「実際の」実装に引き出す方法については十分に文書化されていませんでした。

ESB

これはエンタープライズ統合パターンの古典的な「ブリッジ」パターンのように聞こえるので、主要なオープンソースESB / SOA統合エンジンは次のように見えました。

  • 春の統合

  • Mule

  • ServiceMix

3つのうち、最も明確なドキュメントはhttp://servicemix.apache.org/creating-a-protocol-bridge.html[ServiceMix’s]で、In-onlyメッセージパターンを提供しているようです。両方のPOST-ingが必要ですおよびGET-ingメッセージ。

残念ながら、評価の観点からは、各実装と構成を詳しく調べる必要があるようです。 すぐに使用できるセットアップでは、質問するのは多すぎるかもしれないことを理解していますが、自分のニーズに最も適した3つすべてを学習したくはありません。 そう…​

質問

  • 同様のアーキテクチャを実装しましたか? 何を使ったの?

  • あなたが今提案する最初の答えに関係なく?

  • どちらが最も簡単ですか?

  3  1


ベストアンサー

Apache Camel Projectをいつでもチェックできます。 これにより、Http、WebサービスなどからのリクエストをJMSキューに公開およびルーティングできます。

ウィルの答えには投票しましたが サーブレットは本当にここに行く方法です。

5


または、サーブレットを記述して、数十行のコードでこれを行うこともできます。

2


似たような目標があり、クライアントに軽量のhttpリソースを公開します。 実際には、単純なテキストメッセージを受け取って、後で処理するために単純に非同期のキューに入れるアダプターとして機能します。 これまでの私の研究結果(既存の回答への追加のみ):

  • HornetQ REST
    +良いですが、呼び出し先は宛先名を知っている必要がありますが、これは私のユースケースには望ましくありません。 http://docs.jboss.org/hornetq/2.2.5.Final/user-manual/en/html_single/index.html [ドキュメント]

  • HJB(HTTP JMSブリッジ)
    +また、私のニーズに適合しませんでした。これに加えて、ドキュメントを理解するのは良くありませんし、メンテナンスもされていません。 http://hjb.berlios.de/ [ウェブサイト]

おそらく、シンサーブレットなどを使用して、独自のアダプターを作成することになります。 またはApache Camel。

1


WSO2 ESBは、すぐに使用できるサンプルを数分で試すことができます。 結局のところ、100%無料のオープンソースであり、ディストリビューションをダウンロードして実行するだけです。 (コマーシャルとコミュニティの2つのバージョンを持つことに苦痛はありません)

要件として、wso2はすぐに使えるサンプル[1]を提供します。これは、アクティブなmqなどの外部メッセージブローカーでESBを構成し、他のサービスとして公開することができます[2]。 (SOAP Webサービス/ RESTサービスなど)。

試してみる。

0


タイトルとURLをコピーしました