Spring集成和JBoss jBPM有什么区别?

bas*_*sem 8 jbpm spring-integration

Spring集成和JBoss jBPM有什么区别?

谢谢.

小智 7

顺便说一句,这个答案后来变得更有趣了.现在,还有Activiti - 这是一个开源的Apache liceneded BPMN引擎(工作流,就像jBPM一样),由创建jBPM的人创建,但自从离开.

因此,您可以使用Activiti来支持工作流场景,其中yuo需要管理状态,并且能够在工作流系统中进行线程化以管理该状态.因此,Activiti提供了强大的编排.

Spring Integration是一个集成框架 - 它可以用于从不一定相互关联的事件中推断状态.这通常通过传递元数据(如标题)来告诉我们提供"错觉",即步骤都是同一过程的一部分.Becauee Spring Integration可以连接到许多不同的系统,并在API方面工作,也是集成不同系统的理想选择.Spring Integration允许您对消息流进行响应和强制执行,但我不会像Activiti一样调用此编排.

Spring Integration和Activiti都可以执行序列,并发,分裂器/分叉,聚合器/连接等.Activiti可以管理人类,Spring Integration可以适应任何系统.所以,他们每个人都有自己的角色 - 坦率地说 - 他们在一起工作得很好.沙箱中有一个Spring Integration Activiti适配器,允许您运行Activiti进程,该进程又可以委托Spring Integration在不同的步骤处理业务逻辑.一旦进入Spring Integration,您就可以使用Spring和Spring Integration完成所需的一切,然后将回复消息发送回Activiti网关,告知它可以恢复活动进程.

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

完全披露:我是Activiti和Spring Integration项目的提交者,我是SPring Integration Activiti支持时的主要作者.


tol*_*ius 5

这是一个有效的问题,因为有太多的产品和流行语.

简单来说,想的jBPM作为工作流framewrok /引擎-您定义的,这也被称为业务流程"的事件序列"(因此BPM - usiness P rocess 中号 anagement),和jBPM使您的数据遵循顺序/处理.

而Spring Integration是一个基于几个构建块的事件驱动框架:消息,源,目标,通道,过滤器等.为了更好地理解它,请查看:" 10分钟内的Spring集成 ".它遵循一个简单的

Source [send message] ---> CHANNEL --> FILTER --> CHANNEL --> Target [receive message]
Run Code Online (Sandbox Code Playgroud)

模式,它允许您创建奇迹.源或/和目标将被分配给命名通道,过滤器可以从简单的变换器/转换器到路由器,读取消息头并决定将消息路由到哪个通道.当然,Spring Remoting(JMS,Webservice,RMI等)的所有功能都可以通过模板(JmsTemplate,WebserviceTemplate等)和适配器在Spring Integration中使用,它们允许通过FTP,RMI与外部系统集成,HttpInvoker,JMS,Web Services等.

您当然可以使用 Spring Integration 构建工作流解决方案,但是Drools Flow就是这样 - 无需重新构建工作流引擎:)


Pas*_*ent 4

Spring Integration 是 Spring 框架的扩展,用于支持基于众所周知的企业集成模式的企业集成。Spring Integation 是一个苹果。

JBoss jBPM 是一个用 Java 编写的工作流引擎,可以执行用 BPEL(或其自己的流程定义语言 jPDL)描述的流程。JBoss jBPM 是橙色的。

两者都是水果。