2009-12-06 52 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的支持,目前主要的作者。

相关问题