2012-04-26 11 views
8

SOAの概念は理解しやすいですが、私はBPELやApache Camelのようなエンタープライズ・サービス統合アーキテクチャーやテクノロジーには全く慣れていません。CamelとBPELの違い

私は、BPELがオーケストレーション・サービスを支援すること、そしてCamelがエンタープライズ統合パターンの実装であることを知っています。私は現在、よく知られているエンタープライズインテグレーションパターンの本を読んでいます。

しかし、EIPとオーケストレーションの境界は、私にとっては非常に薄いようです。私の考えでは、キャメルも独自の方法でサービスを調整しています。さらにCamelは多くのコネクタを備えているため、さまざまなプロトコルを簡単に使用できます。

キャメルはBPELより優れていますか?
または、キャメルではできないことをBPELで行うことは可能ですか?
どれですか?
私が読んだことについて、キャメルはBPELよりもRESTサービスを編成するほうがいいと思われます。本当ですか?

答えて

6

Bpelは、bpmとサービスオーケストレーションの実装の言語/標準ではあります。キャメルはインテグレーションエンジンの実装であるため、リンゴとナシのような感じです。おそらく、高レベルのビジネスオートメーション(複数のシステム、長時間実行されているプロセス、およびビジネスロジックによる購入フローの導入など)のために、bpel(またはbpmn)をもっと見たいと思うでしょう。 Camelでは、ルーティングやワイヤプロトコル変換など、より多くの技術的側面を扱います。通常、ステートレスなやり方で。

言うまでもなく、何か解決策が存在する同種のプロトコル間のルーティングなど、間には何かがあります。あなたの残りの例など。また、Camelは、activtiやapache odeなどのOrchestrationエンジニアと一緒に実行できます。

7

私は以前の仕事でこの質問に何度も答えようとしています。私たちの製品は、TIBCO BusinessWorks(Apache Camelのようなもの)とTIBCO iProcess(Apache ServiceMixのようなもの)でした。あなたのプロセスは長期的である場合は、BPELをしたい(あなたは通常、管理者から承認されるまで一時停止して待機する必要が)

  • そして、我々は、単純な結論に達しました。

  • プロセスが短期間で、関係者がいない場合は、統合(Camel)が必要です。

これは必ずしも当てはまるわけではありませんが、これらの2つの世界には強い境界はありませんが、単純化することができます。さらに、統合製品でBPELのようなプロセスを実行することができます(逆も同様です)。それは単なるアプローチの問題です。しかし、あなたがこれらのルールに固執するなら、あなたはその2つを区別することができます。より多くの側面がありますが、これは私が最も重要と考えるものです。