質問

おい、
Apache Camelがある場合、なぜApache ServiceMixやラバなどの他のソリューションを使用するのですか?
Apache Camelがこれらの製品と比較できないことはありますか?
Mule/Servicemixを使用するのはいつですか?

役に立ちましたか?

解決

Apache Camelは、エンタープライズ統合パターン(EIP)を実装するライブラリです。 SpringをIOCフレームワークとして使用できますが、スプリングに依存することすらできないため、完全にプラットフォームに依存しています。それは「ただ」図書館です。したがって、JVM環境など、Simple JVM、Servlet、EJB、OSGIなどを実行できます。それは、そのような容器の容器の利点(またはオーバーヘッド)のいずれももたらさない。私の意見では、この分野での懸念のよりクリーンな分離があります。

ラバはさまざまな環境に埋め込むこともできますが、ミュールにはEIPライブラリをコンテナに結合することの利点と短所の両方があると思います。サーブレットまたはEJB環境内にミュールを展開するとき、あなたは本当にラバ容器のすべての荷物を運びたいですか?私はラバの専門家ではありません。おそらく、比較的控えめな努力を費やし、冗長能力の一部をきれいにすることができると思います。 (これはすべての場合に悪い能力ではありません。別の容器内に埋め込まれている場合は冗長です。)

Apache ServiceMixは、Camelを使用してEIPをESBの基礎として実装するOSGIコンテナです。 Servicemixは歴史的にJBIのルーツから始まりましたが、JBIから離れて移動し、OSGI容器で最高の品種Apache CXF、CaMel、およびActiveMQを組み合わせた素敵な層状アーキテクチャに進化しました。ここでの主な値は、実際にはServiceMixとそのJBIサポートではなく、基礎となるOSGIコンテナです 標準 Webサービス用のCXFのような実証済みのApacheトランスポート、JMSのActiveMQと相まって。 OSGIは、.NETの出現前にMicrosoftを悩ませた同じタイプの「DLL」地獄に対処するコンテナを提供する成熟した標準です。 .NETもOSGIも、根本的な問題の本質的な複雑さを解決しませんが、少なくとも対処する手段を提供します。 OSGIにも他の利点がありますが、製品の選択の観点から 基準 ベースのコンテナが主要なものであり、Mule(およびJava全般)が対処しない重要な機能は依存関係管理です。

ラバとアパッチのコミュニティを比較する際に注意すべきいくつかの重要なこと。ラバは、オープンソースライセンスであるが、私の意見ではオープンコミュニティではないという意味で、レッドハットのようなものです。誰でもApacheに参加できますが、MulesoftはMuleコミュニティと最終的なロードマップを所有しています。第二に、ラバのコミュニティは間違いなくかなり活発ですが、アパッチのコミュニティははるかに大きいと思います(当然のことながら、ゲートコミュニティではないので)。両方のアプローチには、プラスとマイナスの両方があります。 Apacheアプローチの肯定的な1つは、Camel、CXF、ActiveMQ、およびOSGIに基づいたESBの複数のベンダーがあることです。たとえば、Talendは、ServiceMix JBIの履歴なしで同じコアテクノロジーでESBを提供します。これには、Apacheコミュニティ内にプラスとマイナスの両方がありますが、実際のポイントは、ApacheとMuleの違いを強調することです。ラバコミュニティには複数のベンダーが見つかりません。したがって、TalendやServicemixのようなApache ESBは、Muleのような閉鎖コミュニティよりも、より広く包括的で最終的に競争力のあるコミュニティです。

Ed Ost

他のヒント

現在は2016年であり、質問が最初に尋ねられてから多くのことが変わっているので、新しい視聴者のためにそれを再訪したいと思います。

戦略的に言えば

  • アパッチラクダ そのルーツに忠実であり続けています また、ヘビー級または本格的なランタイムプラットフォームに進化していません。それは汎用性があり、モジュール式であり、実行できます。

    1. 埋め込み あらゆる種類のJavaコンテナ(サーブレットコンテナ、アプリケーションサーバー、スプリングブート)。
    2. スタンドアロン Javaプロセスとして。
    3. OSGI環境内 (Apache Karaf).
  • Apache Camelは、私が抽出したこの点に基づいてグラフによって描かれているように、毎月進化し、牽引力と活動を獲得し続けています。 OpenHub. 。ユーザーベースも増加し続けています。

Apache Camel Contributors per Month

  • 2012年、 Red HatはFusesourceを取得しました, 、Apache Camel、ActiveMQ、ServiceMix、CXFの背後にある主要なプロモーターと開発者の1人。現在、いくつかのコミットターとPMCメンバーは、Apache Camelに取り組むためにRed Hatに雇用されています。

  • Mule ESBオファー 製品の2つのバージョン: コミュニティ (CPALライセンスの下で無料)および 企業 (有料)。彼らは彼らを定義します コミュニティ バージョンとして:

評価やプリプロダクションの使用に最適です。

=> aを取得する必要があることを意味します 有料エンタープライズサブスクリプション 生産用の使用。

  • 実際、Mule ESB Community Editionは CPALライセンス. 。これは、あなたがまだこのバージョンを使用することに決めた場合、ラバ それが必要です:

    • 実行可能ファイルおよびソースコードまたは大規模な作業が起動または最初に実行されるたびに、Mulesoftの属性情報の顕著な表示が、エンドユーザーが採用しているグラフィックユーザーインターフェイスで、そのような対象コードにアクセスする必要があります(スプラッシュ画面に表示される場合があります)、ある場合。 =>基本的にする必要があります 宣伝します ラバで構築したものは何でもラバで走っています。

    • Mule ESBの展開がネットワークを介してアクセスされる場合(統合プラットフォームであるため、常にそうなります!)、展開のソースを利用できる人にアクセスできるようにする必要があります。

  • 上記の他の誰かのように、アパッチキャメルは完全にオープンなプロジェクトであり、駆動されています コミュニティ、コミュニティのために. 。すべてのソースコードは公開されており、誰もがプルリクエストを送信し、コンポーネントに貢献し、フォーラムでヘルプまたは問い合わせをすることをお勧めします。逆に、ラバのコミュニティはaです ゲートコミュニティ.

  • 少なくとも最後のではなく;おそらく最も重要な部分。 これがGoogleのトレンドがMule ESB対Apachecamelについて述べていることです. 。新しいセマンティックを使用していることに注意してください トピック 標準ではなく、より高い精度の測定 クエリキーワード. 。そうすれば、私たちは動物の人気を測定しているのではなく、ソフトウェアの人気を測定しています!解釈:ラバは2007年から2011年まで大幅に流れ落ち、アパッチキャメルがトレンドアップしました。 2011年以来、Muleはプラトーになっていますが、Apache Camelは健康的に流れ続けています!

Mule vs Camel in Google Trends

Apacheラクダの技術的進化

2010年9月25日以来、Apache Camelの進化についていくつかの機能的なメトリックを提供したかっただけです。 これはその時点でのソースツリーでした.

  • 当時、Camelには88のコンポーネントがありましたが、Facebook、Twitter、Salesforce、との統合を含む220のコンポーネントがあります。 Apache Ignite, Apache Cassandra, 、AWS、 アパッチ・カフカ, 、mongodb、 アパッチスパーク
  • 多くの多くの技術的改善:非同期ルーティングエンジン、メッセージ履歴、サーキットブレーカーEIP、集約、分割、ダイナミックルーティングなどのEIPの多くの改善と強化。
  • 生態系も成長しています。現在も含まれています ホーティオ 監視と管理のために、 ファブリック8 展開など。
  • それ以来、それ以上 5500チケット 新機能、改善、バグなどを含む。
  • そして、もっと、もっと!

最終メモ

両方の製品は、過去5、25年にわたって多くの進化してきました!しかし、ライセンスの違いとMule ESBとApache Camelのコミュニティの性質のため、それらはもう互いに匹敵するとは思わない。

Apache Camelは完全にオープンソースであり、Mule ESB CommunityはユーザーがMulesoftを起因させ、Muleを使用するソフトウェアのソースコードを公開する必要があります。 Apacheソフトウェアライセンスはaです ビジネスに優しい ライセンス:属性やその他の要件なしでラクダを自由に使用できます。本当に ビールのように無料!

最後の年にこの反省が新しい視聴者に役立つことを願っています! :)


免責事項:私はApache Camel ProjectのコミッターおよびPMCメンバーです。

私のブログ投稿はまさにこの質問に答えます: http://www.kai-waehner.de/blog/2011/06/02/when-to-use-apache-camel/ => Apache Camelは、軽量の統合フレームワーク、ServiceMixなどです。

ラクダは調停エンジンであり、ラバは軽量の統合プラットフォームです。違いは、そのラバがアプリケーション、休憩、Webサービスを展開するためのコンテナを含むESBのすべての機能を提供することです。ラバは、アプリケーション開発者が統合コードを使用してアプリケーションコードを埋め込むことができるように、ラクダと同じように埋め込むことができます。どちらもスプリングとしっかりと統合します。

ラバはJBIを使用しません 正当な理由があります そして今、JBI仕様が解散したので(元々JBI仕様を渡したOracleが所有するワーキンググループはありません)、JBIを使用する良い専門的または技術的な理由はありません。

Apache Camelには、これにいくつかの光を当てたFAQエントリがいくつかありますhttp://camel.apache.org/faq

Apache Camelのリンクコレクションhttp://camel.apache.org/articles.html

コミュニティの人々が話し合い、ラクダを他のプロジェクトと比較するいくつかのリンクがあります。

クラウス、ラクダのFAQには多くの間違いがあります。

  • ラバのUMOモデルは、もはやラバにありません。私たちはラバ2でそのモデルから離れ始めましたが、それはラバ3で完全に変更されました。今、私たちはそれについてあなたの声明を冗長にする非常にシンプルなメッセージプロセッサモデルを持っています
  • ラバは数年前から明示的なタイプの変換をしてきましたが、これはラクダの差別化要因ではありません
  • ラバはその下でライセンスされています OSIはCPAL 1.0ライセンスを承認しました. 。これは、コマーシャルのライセンスではなく、オープンソースライセンスです。これをできるだけ早く更新してください

まず、サービスミックスはApache Camelコードを実行できるコンテナのようなものであり、Mule ESBは単独で別の製品であることを理解する必要があります。

ESB製品間で提供できる多くの差別化があります。

差別化を見る前に、いくつかのことを知っておく必要があります。彼らです

  1. 製品の開発方法
  2. そのライセンス
  3. そのサポート機能
  4. オープンソースかどうか
  5. オープンソースを使用すると、ソースを変更および使用できます。

上記は、選択する前に検討する必要がある最良の要因です。上記は製品の選択のほとんどにとって一般的であり、ここでも特別な注意が必要です。

二次製品の違いは、ツールとそのドメインに固有のものになります。これは、あなたが探している答えがおそらくそうです。選択する前に内省する必要があるリストを見つけてください。

  1. コミュニティサポート
  2. 製品スタック
  3. 独自のコードを変更するという点での拡張性
  4. 学習能力と使いやすさ
  5. エンタープライズとして購入した場合の製品サポート

これはおそらく、違いを選択するために自分で行う必要がある研究です。いずれにせよ、市場で最もよく言うのではなく、製品を組織に適したものにする多くの価値のある追加があります。

Apache Camelまたは他のESBに関しては。違いはあります

  1. 輸送数
  2. Apache Camelは、ラバなどのDSLの多様性を提供しています。
  3. 製品スタックには、API管理とハウスクラウドコネクタが含まれています。これは、ヒューズESBを考慮に入れると、Apache Camelがフレームワークであるため、JBoss Stackは選択を補完する可能性のある他の製品を提供します。
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top