0

バックエンドで複数のシステムと対話する必要がある一種のメディエータ/ルーティング システムが必要です。次のようになります。

    Client 
      |
      |
 --Mediator-  
 |   |     |
 |   |     |

システム A システム B システム C .....

ここで、クライアントは http ( http://foo/bar?id=1) を介してメディエーターでいくつかのメソッドを呼び出し、これらはどこかで構成されたシステムにルーティングされる必要があります (おそらく xml ファイルまたは同様の sth)。

システムといくつかのメソッドが認証を処理できる必要があるためhttp://foo/login、メディエーターは のような後続の呼び出しで使用できるトークンを返す必要がありますhttp://foo/secretbar。トークンが提供されていない場合、呼び出しは特定のエラーを返す必要があります。

バックエンドのシステムが常に同じ言語 (JMS、FTP など) を話すとは限らないため、柔軟で簡単で拡張可能なソリューションが必要です。今、私は上記の製品について読み、それらのいくつかが私のユースケースに適合するかどうかを知りたいと思っています. 彼らがメッセージを話したり他のシステムにルーティングしたりできることは知っていますが、認証の問題の例は見つかりませんでした(十分に検索しなかった可能性もあります;)。これができないシステムはありますか? または、自分の要件についてどのドキュメントを詳しく調べる必要がありますか?

4

3 に答える 3

1

キャメルは間違いなくこれであなたを助けることができます. Servicemix も同様ですが、これらのサービスをホストするためのコンテナーのようなものです (通常は Camel で記述されています)。Camel は間違いなくシンプルで、スタンドアロンで実行したり、アプリ サーバーや OSGI コンテナーに埋め込んだりできます。

Camel で HTTP/Jetty エンドポイントを使用した認証を設定する方法の詳細については、camel-jettyページを参照してください。

複雑なルーティング要件などの実装に役立つエンタープライズ統合パターンの完全なリストについては、Camel EIPページを参照してください。

さまざまなテクノロジー ((jms、file、http、jdbc、ftp など) とのインターフェースを可能にするために Camel が実装したコンポーネントの完全なリストについては、Camel Componentsページを参照してください。

また、さまざまな製品の一般的な比較に関する詳細については、このディスカッションを参照してください...

Apache Camel およびその他の ESB 製品

于 2011-07-13T18:56:23.163 に答える
0

Camel は camel-http と camel-jetty の両方を提供しますが、それらを構成できる方法は限られています。認証を処理するにはある種のセッションが必要なようです。独自のサーブレットを作成し、サーブレット内からキャメルにリクエストを転送する方が保守的です。ただし、camel-jetty セッション サポートを使用してセッションにアクセスし、プロセッサ内で認証を処理することもできます: 詳細はこちら: cammel-jetty

于 2011-07-13T20:58:24.483 に答える
0

Mule は確かに、あなたが求めているすべてのものを提供できます。まず、XML Spring を介して Mule のルーティングを簡単に変更できます。第二に、Mule はすぐに使用できる大きな番号が付いています。ActiveMQ、FTP、および HTTP/s を含むトランスポートの。第 3 に、Mule の Jersey および CXF モジュールのおかげで、操作を RESTful サービスまたは Web サービスとしてクライアントに公開できます。最後になりましたが、Mule では singleton-object XML 要素を介して、すべてのクライアント要求に対して同じオブジェクトを使用できます。この要素は、クライアントのセッション中にクライアントのセキュリティ トークンを格納するために使用できるため、認証のニーズに役立ちます。偶然にも、私たちは最近、あなたのユース ケースに非常によく似た Mule デモ アプリを開発しました。コードは公開する予定ですが、当面はhttp://androidmulecrm.muleion.com/でこのアプリの詳細情報を確認できます。

于 2011-07-17T18:40:49.200 に答える