回答
Spring Integration是Spring框架的擴展,支持基於着名的Enterprise Integration Patterns的企業集成。 Spring Integation是一款蘋果。
JBoss jBPM是一個用Java編寫的工作流引擎,可以執行BPEL(或其自己的流程定義語言jPDL)中描述的流程。 JBoss jBPM是橙色的。
兩者都是水果。
這是一個有效的問題,因爲有太多的產品和流行語。
簡單來說,想的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爲 - 無需重塑工作流引擎:)
順便說一句,這答案從此變得更加有趣。現在,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的支持,目前主要的作者。
- 1. camel-jbpm和jboss jbpm之間的區別?
- 2. Spring集成Java DSL - HeaderEnricher和HeaderEnricherSpec之間的區別是什麼
- 3. DesiredCapabilities與RequiredCapabilities之間有什麼區別?
- 4. Console.WriteLine()與Debug.WriteLine()之間有什麼區別?
- 5. gets.chomp()與STDIN.gets.chomp()之間有什麼區別?
- 6. JBoss ESB和JBoss HornetQ之間的區別是什麼
- 7. @Endpoint和@WebService之間有什麼區別?
- 8. Java:Selector.keys()和Selector.selectedKeys()之間有什麼區別?
- 9. ActionPerformed與addActionListener()和Netbeans生成的ActionPerformed之間有什麼區別?
- 10. LD_PRELOAD和strace之間有什麼區別?
- 11. skos:ConceptScheme和skos:Collection之間有什麼區別?
- 12. JBPM和BPEL/ESB之間的區別
- 13. JBPM 5.2與Spring的集成拋出SAXParseException
- 14. Spring Data-JPA與JPA:有什麼區別?
- 15. CFUrl和NSUrl之間有什麼區別
- 16. System.Workflow.ComponentModel.activity和System.activities.activity之間有什麼區別
- 17. 這兩個....之間有什麼區別?
- 18. ReferenceField和GenericReferenceField之間有什麼區別?
- 19. ||之間有什麼區別?和|在R?
- 20. Request()和Request.Form()之間有什麼區別?
- 21. set_value和= pandas之間有什麼區別
- 22. Lazy.Force()和Lazy.Value之間有什麼區別
- 23. kFIREventSearch和kFIREventViewSearchResults之間有什麼區別?
- 24. @observable和@published之間有什麼區別
- 25. ARM7和ARM7之間有什麼區別
- 26. PEG和CFG之間有什麼區別?
- 27. @Entity和@embeddable之間有什麼區別
- 28. 「#{self.key}」和「vynd6tg1hh」之間有什麼區別?
- 29. WebServiceBinding.EmitConformanceClaims和WebServiceBinding.ConformanceClaims之間有什麼區別?
- 30. CoreConnectionPNames.SO_TIMEOUT和CoreConnectionPNames.CONNECTION_TIMEOUT之間有什麼區別?
你自己做過什麼研究嗎?如果是這樣,請問一個更具體的問題。如果沒有,去做一些。 – skaffman 2009-12-06 12:42:56
我想如果我找到答案我不會問這個問題! – bassem 2009-12-06 12:57:22
夠公平的,但給一些你已經學到的東西的指示,不要放棄單行問題,並期待一個好的答案。 – skaffman 2009-12-06 12:58:37