2009-12-06 88 views
8

Spring集成和JBoss jBPM之間有什麼區別?Spring集成與JBoss jBPM之間有什麼區別?

謝謝。

+1

你自己做過什麼研究嗎?如果是這樣,請問一個更具體的問題。如果沒有,去做一些。 – skaffman 2009-12-06 12:42:56

+1

我想如果我找到答案我不會問這個問題! – bassem 2009-12-06 12:57:22

+1

夠公平的,但給一些你已經學到的東西的指示,不要放棄單行問題,並期待一個好的答案。 – skaffman 2009-12-06 12:58:37

回答

4

Spring Integration是Spring框架的擴展,支持基於着名的Enterprise Integration Patterns的企業集成。 Spring Integation是一款蘋果。

JBoss jBPM是一個用Java編寫的工作流引擎,可以執行BPEL(或其自己的流程定義語言jPDL)中描述的流程。 JBoss jBPM是橙色的。

兩者都是水果。

5

這是一個有效的問題,因爲有太多的產品和流行語。

簡單來說,想的jBPM作爲工作流framewrok /引擎 - 您定義「事件序列」,也被稱爲業務流程(因此BPM - usiness P rocess 中號 anagement) ,並且jBPM使您的數據遵循該序列/過程。

鑑於Spring Integration是一個基於幾個構建塊的事件驅動框架:消息,源,目標,通道,過濾器等。爲了更好地理解它,請看「Spring Integration in 10 minutes」。它遵循一個簡單的

Source [send message] ---> CHANNEL --> FILTER --> CHANNEL --> Target [receive message] 

模式,它可以讓你創造奇蹟。來源或/和目標將爲分配到指定通道,並且過濾器可能從簡單的變換器/轉換器到路由器,它讀取消息標頭並決定將消息路由到哪個通道。當然,Spring Remoting(JMS,Webservice,RMI等)的所有功能都可以在Spring Integration中通過模板(JmsTemplate,WebserviceTemplate等)以及允許與FTP,RMI與外部系統集成的適配器,HttpInvoker,JMS,Web服務等

當然你也可以使用建春一個集成工作流程解決方案,但Drools Flow爲 - 無需重塑工作流引擎:)

7

順便說一句,這答案從此變得更加有趣。現在,Activiti是一個開源的Apache開源BPMN引擎(工作流程,就像jBPM),由創建jBPM的人員創建,但是離開後。

因此,您可以使用Activiti來支持yuo需要管理狀態的工作流場景,並且可以承擔在工作流系統中的線程管理狀態。所以,Activiti提供了強大的協調。

Spring Integration是一個集成框架 - 它可以用來從推斷狀態的事件,這些事件不一定相互關聯。這通常是通過傳遞元數據(比如頭文件)來完成的,以告訴他們「幻覺」這些步驟都是同一過程的一部分。 Becauee Spring Integration可以連接到許多不同的系統,並根據他們的API工作,這也是集成不同系統的理想選擇。 Spring Integration允許您對消息流進行反應並強加,但我不會像Activiti一樣調用此編排。 Spring集成和Activiti可以同時執行序列,併發,分割器/分支,聚合器/連接等。Activiti可以管理人類,Spring Integration可以適應任何系統。所以,他們每個人都有自己的角色,坦率地說,他們在一起工作得很好。沙箱中有一個Spring Integration Activiti適配器,可以讓你運行一個Activiti進程,這個進程又可以委派給Spring Integration來處理不同步驟的業務邏輯。一旦進入Spring Integration,您可以使用Spring和Spring集成完成所有您想要的任務,然後將回復消息發送回Activiti網關,告訴Activiti進程可能會恢復。

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

全面披露:我在Activiti的和Spring集成項目既是commiter,我在Spring集成Activiti的支持,目前主要的作者。

相關問題