2011-07-13 18 views
0

私は、バックエンドのいくつかのシステムと話す必要のある種類のメディエータ/ルーティングシステムを持っていなければなりません。それは次のようになります。問題にMule、Apache Camel、ServiceMix、または別のESBを使用できますか?

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

のSys AのSys B SYSC .....

は今、クライアントは、HTTP(http://foo/bar?id=1)を介して伝達物質のいくつかのメソッドを呼び出して、これらが構成されたシステムにルーティングする必要がありますおそらくxml-fileかsthのようなものでしょう

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

バックエンドのシステムが常に同じ言語(JMS、FTPなど)を話すわけではないので、柔軟性があり、容易で、拡張可能なソリューションが必要です。今、私は上記の製品について読んで、そのうちのいくつかが私のユースケースに合っているかどうかを知りたいと思っています。私は彼らが他のシステムにメッセージを話す/ルートすることができることを知っていますが、認証問題の例は見つけられませんでした。これに対応していないシステムはありますか?または、どのドキュメントに私の要件をより深く見なければならないのですか?

答えて

1

キャメルはこれで間違いなくあなたを助けることができます。 Servicemixもそうですが、これらのサービスをホストするコンテナのほうが一般的です(一般的にCamelで書かれています)。キャメルは間違いなく簡単で、参照など

はキャメル

HTTP /突堤エンドポイントでの認証の設定の詳細についてはcamel-jettyページを参照して、アプリケーションサーバーやOSGIコンテナに埋め込まれ、スタンドアロンで実行することができます複雑なルーティング要件などの実装に役立つエンタープライズ統合パターンの完全なリストについてはCamel EIPsページを参照してください。

Camelが実装したさまざまなテクノロジ(jms、ファイル、http、jdbc、ftpなど)

また、一般的に異なる製品を比較するの詳細については、この説明を参照してください...

Apache Camel and other ESB products

0

キャメルキャメル-httpとラクダ桟橋の両方を提供していますが、あなたが設定することができますように制限されていますそれら。 あなたの認証を処理するためにはある種のセッションが必要なようですが、あなた自身のサーブレットを作成し、サーブレットの中から要求をラクダに転送する方がより慎重になります。 しかし、あなたもラクダ桟橋セッションサポートを使用し、プロセッサ内部の認証を処理するためのセッションにアクセスすることができます:ここに より:cammel-jetty

0

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

関連する問題