web-dev-qa-db-ja.com

ApacheCamelとJBossFuseの違いは何ですか?

JBoss FuseとApacheキャメルの違いは何ですか?マイクロサービスベースのアプリケーションの構築にどのように使用できますか?

9
sathyendran a

Apache Camelは、既知のエンタープライズ統合パターンに基づく多用途のオープンソース統合フレームワークです。 Camelを使用すると、JavaベースのFluent API、SpringまたはBlueprint XML構成ファイル、Scala DSL)など、さまざまなドメイン固有言語でルーティングおよびメディエーションルールを定義できます。定義では、Apache Camelは統合フレームワークであると結論付けることができます。つまり、アプリケーションを構築するための一連のライブラリがあります。各アプリケーションは環境で実行する必要があります。ApacheCamelアプリケーションは次の方法で実行できます。

1-スタンドアロン。スタンドアロン実行の詳細については Camelスタンドアロン実行

2-OSGIコンテナー上。 Apache Camelは、Apache KarafOSGiコンテナーでうまく機能するように設計されています。 Redhat Fuseは、Apache CamelがActiveMQやCXFなどで使用するテクノロジーのFuseのサポートに加えて、ApacheKarafを介したCamelAppilcationの実行のサポートを提供していると言えます。詳細については、 https://developers.redhat.com/products/Fuse/overview/ を参照してください。

Camelを使用して、Camelコンテキスト内にCamelルートを記述し、たとえばmvnを使用してバンドルとしてパッケージ化し、Redhat Fuse Karafコンテナーにデプロイすることで、mircoサービスアプリケーションを構築できます。各ルートは、さまざまなテクノロジーを表すエンドポイントで構成され、SOAPおよびREST、ファイル、および統合プロセスで役立つエンドポイントへの多くのタイプのCXFである可能性があります。

15

モハメッドの答えを拡張するには:

Apache Camelは、コンテナに依存しないメディエーションおよびルーティングエンジンであり、Javaで実行され、エンタープライズ統合パターンを実装します。さまざまなプロトコルへのアクセスを提供するCamelコンポーネントが数百あります(ファイル:、http :、 ftp:、jms:、amqp:など)およびプロバイダー(AWS、DropBox、GitHubなど)。

Red Hat JBoss Fuse(以前はFuseSource.comのFuse ESB)は、ApacheServiceMixの商用実装です。 Apache ServiceMixは、OSGi(ランタイム)上に構築された統合フレームワークであり、Apache Karaf(OSGiコンテナー、OSGi仕様の一部ではない)、Apache Camel(メディエーションおよびルーティングエンジン)、Apache ActiveMQ(信頼性の高いメッセージング)、CXF(Webサービス)が含まれます。フレームワーク)、および他のいくつかのビット。

Camelは、スタンドアロン、Java EEデプロイメント内、OSGi(Karafの有無にかかわらず)、またはJavaを使用しているほとんどすべての場所)で実行するなど、さまざまな方法で実行できます。 Red Hatは、OpenShiftでSpringBootを使用してCamelを実行するように人々を促しているようです。

14
Bob Blackard