回答
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