Unterschiede zwischen Camel und BPEL

8

Das SOA-Konzept ist leicht zu verstehen, aber ich kenne mich mit Enterprise-Service-Integrations- Architekturen und -Technologien wie BPEL und Apache Camel nicht aus.

Ich weiß, dass BPEL bei der Orchestrierung von Diensten hilft und dass Camel eine Implementierung von Enterprise Integration Patterns ist. Ich lese gerade das bekannte Enterprise Integration Patterns Buch.

Aber die Grenze zwischen EIP und Orchestrierung scheint sehr dünn für mich. In meinen Augen orchestriert Camel auch Dienstleistungen auf seine eigene Weise. Außerdem bietet Camel viele Konnektoren, so dass verschiedene Protokolle leicht verwendet werden können.

Ist Kamel besser als BPEL?
Oder ist es möglich, Dinge mit BPEL zu tun, die man mit Camel nicht machen kann?
Welche? Über das, was ich gelesen habe, scheint Camel besser als BPEL zu sein, REST-Dienste zu orchestrieren: Stimmt das?

    
Vincent Hiribarren 26.04.2012, 09:06
quelle

2 Antworten

6

Bpel ist eher eine Sprache / ein Standard für Implementierungen von bpm und Service-Orchestrierung. Es ist ein bisschen wie Apfel und Birnen, da Camel eine Integration Engine Implementierung ist. Wahrscheinlich möchten Sie sich bpel (oder bpmn) für die Automatisierung von Geschäftsvorgängen auf höherer Ebene (z. B. die Implementierung eines Einkaufsflusses mit mehreren Systemen, lang laufenden Prozessen und Geschäftslogik) näher ansehen. In Camel behandeln Sie normalerweise mehr technische Aspekte wie Routing und Drahtprotokollkonvertierung. Typisch eher staatenlos.

Natürlich gibt es etwas dazwischen - zum Beispiel das Routing zwischen homogenen Protokollen, bei denen eine Lösung ausreichen würde. Wie dein Ruhebeispiel. Beachten Sie auch, dass Camel zusammen mit Orchestrierungs-Engines wie activti und apache ode ausgeführt werden kann.

    
Petter Nordlander 26.04.2012, 22:16
quelle
7

Wir haben versucht, diese Frage viele Male in meinem vorherigen Job zu beantworten. Unsere Produkte waren TIBCO BusinessWorks (so etwas wie Apache Camel) und TIBCO iProcess (so etwas wie Apache ServiceMix).

Und wir kamen zu einer einfachen Schlussfolgerung:

  • Wenn Ihr Prozess langfristig ist (Sie müssen normalerweise aussetzen und warten, bis Sie vom Manager genehmigt werden), möchten Sie BPEL.
  • Wenn Ihre Prozesse kurzfristiger sind und keine Personen involviert sind, wollen Sie Integration (Camel).

Dies ist nicht immer anwendbar und diese zwei Welten haben keine starken Grenzen, aber Sie können das vereinfachen. Und noch eine Anmerkung - Sie können BPEL-ähnliche Prozesse mit Integrationsprodukten durchführen und umgekehrt. Es ist nur eine Frage der Annäherung. Aber wenn Sie sich an diese Regeln halten, sollten Sie in der Lage sein, zwischen den beiden zu unterscheiden. Es gibt viele weitere Aspekte, aber das ist meiner Meinung nach das Wichtigste.

    
lzap 05.03.2013 15:01
quelle