現在、個別に実行されるサービスを開発しています。ユーザーが複数の形式でサービスを利用できるようにしたい。つまり、ユーザーは次の方法でサービスにアクセスできます
- レストコールを発信する
- Web サービスの作成
- キューに発行する
- ファイルをアップロードする
Camelを使用してこれを提供できる方法はありますか。つまり、ラクダはこれらすべての前に立って、ルーティングを提供できますか??
現在、個別に実行されるサービスを開発しています。ユーザーが複数の形式でサービスを利用できるようにしたい。つまり、ユーザーは次の方法でサービスにアクセスできます
Camelを使用してこれを提供できる方法はありますか。つまり、ラクダはこれらすべての前に立って、ルーティングを提供できますか??
はい、キャメルでこれを達成できます。さまざまなプロトコルを使用してサービスを公開するのに役立つコンポーネントがたくさんあります。あなたの場合、http エンドポイントを開始するために jetty コンポーネントが必要であり、さらに REST 要求を処理する CXF Bean が必要です。Spring Webservices を使用して、Web サービス エンドポイントを公開します。Apache のサイトcamel-examplesで利用可能な既製の例を見てください。
各コンシューマー インターフェイス (ファイル、jms、http、cxf、rest など) には独自のルートが必要ですが、各ルートは共通のルートを呼び出して処理ロジックを再利用できます...
//first, define your interface routes to expose endpoint and convert data to common format as necessary
from("jms:...")...to("direct:processRequest");
from("cxf:...")...to("direct:processRequest");
from("jetty:...")...to("direct:processRequest");
from("file:...")...to("direct:processRequest");
//now define your common processing route
from("direct:processRequest")...