2009-12-06 7 views
8

Was sind die Unterschiede zwischen der Spring-Integration und JBoss jBPM?Was sind die Unterschiede zwischen der Spring-Integration und JBoss jBPM?

Vielen Dank.

+1

Haben Sie selbst geforscht? Wenn ja, bitte stellen Sie eine spezifischere Frage. Wenn nicht, gehen Sie und tun Sie etwas. – skaffman

+1

Ich denke, wenn ich Antwort gefunden habe, werde ich nicht die Frage stellen! – bassem

+1

Fair genug, aber geben Sie etwas von dem, was Sie bereits gelernt haben, lassen Sie nicht einfach eine einzeilige Frage fallen und erwarten Sie eine gute Antwort. – skaffman

Antwort

4

Die Spring Integration ist eine Erweiterung des Spring-Frameworks zur Unterstützung der Unternehmensintegration basierend auf dem bekannten Enterprise Integration Patterns. Frühlingsintegration ist ein Apfel.

JBoss jBPM ist eine in Java geschriebene Workflow-Engine, die in BPEL beschriebene Prozesse (oder ihre eigene Prozessdefinitionssprache jPDL) ausführen kann. JBoss jBPM ist eine Orange.

Beide sind Früchte.

5

Es ist eine gültige Frage, da es zu viele Produkte und Schlagworte gibt.

In einfachen Worten, denken Sie an jBPM als Workflow framewrok/Motor - Sie eine "Abfolge von Ereignissen" zu definieren, die auch einen Geschäftsprozess genannt (daher BPM - B usiness P rocess M anagement) und jBPM lassen Sie Ihre Daten dieser Sequenz/diesem Prozess folgen.

Während Spring Integration ist ein Event Driven Framework basierend auf mehreren Bausteinen: Nachricht, Quelle, Ziel, Kanal, Filter, etc. Um es besser zu verstehen, werfen Sie einen Blick auf: "Spring Integration in 10 minutes". Es folgt ein einfaches Muster, mit dem Sie Wunder schaffen können. Quellen oder/und Ziele wären zugewiesene zugewiesene Kanäle, und Filter können von einem einfachen Transformator/Übersetzer zum Router reichen, der den Nachrichtenkopf liest und entscheidet, zu welchem ​​Kanal die Nachricht weitergeleitet werden soll. Natürlich gibt es alle Möglichkeiten von Spring Remoting (JMS, Webservice, RMI, etc ..), die in Spring Integration über Vorlagen (JmsTemplate, WebserviceTemplate, etc ..) und Adapter, die die Integration mit externen Systemen mit FTP, RMI ermöglichen , HttpInvoker, JMS, Web Services usw.

Sie können natürlich eine Workflow-Lösung mit Frühling Integration bauen, aber es gibt Drools Flow dafür - keine Notwendigkeit, eine Workflow-Engine :)

7

btw neu zu erfinden, das Antwort ist seitdem interessanter geworden. Jetzt gibt es Activiti - eine Apache-lizenzierte Open-Source-BPMN-Engine (Workflow, genau wie jBPM), die von den Leuten erstellt wird, die jBPM erstellt haben, aber seither.

So können Sie mit Activiti Workflow-Szenarios unterstützen, in denen Sie den Status verwalten müssen und sich ein Workflow-System zur Verwaltung dieses Status leisten können. Activiti bietet also eine starke Orchestrierung.

Spring Integration ist ein Integrations-Framework - es kann Zustand von Ereignissen, die nicht unbedingt miteinander verwandt sind, abgeleitet werden. Dies geschieht normalerweise durch Übergabe von Metadaten - wie Kopfzeilen -, um die "Illusion" zu vermitteln, dass die Schritte alle Teil desselben Prozesses sind. Becauee Spring Integration kann mit vielen verschiedenen Systemen verbunden werden und arbeitet in Bezug auf ihre APIs, ideal für die Integration verschiedener Systeme. Mit der Spring-Integration können Sie reagieren und Nachrichtenflüsse erzwingen, obwohl ich diese Orchestrierung nicht so nennen würde wie Activiti.

Spring Integration und Activiti können sowohl Sequenzen, Übereinstimmungen, Splitter/Gabeln, Aggregatoren/Joins usw. verarbeiten.Activiti kann Menschen verwalten, Spring Integration kann jedes System anpassen. So haben sie ihre Rollen und - ehrlich gesagt - sie arbeiten sehr gut zusammen. In der Sandbox befindet sich ein Spring Integration Activiti-Adapter, mit dem Sie einen Activiti-Prozess ausführen können, der wiederum an Spring Integration delegieren kann, um die Geschäftslogik in verschiedenen Schritten zu verwalten. Sobald Sie in der Spring-Integration sind, können Sie alles tun, was Sie mit der Spring- und Spring-Integration tun möchten, und dann eine Antwortnachricht an das Activiti-Gateway senden, in der Sie darüber informiert werden, dass der Activiti-Prozess fortgesetzt werden kann.

http://git.springsource.org/spring-integration/sandbox

Full Disclosure: Ich bin ein commiter sowohl auf der Activiti und Spring Integration Projekte, und ich bin der Hauptautor im Moment der Feder Integration Activiti Unterstützung.