小智 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支持时的主要作者.
这是一个有效的问题,因为有太多的产品和流行语.
简单来说,想的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就是这样 - 无需重新构建工作流引擎:)
| 归档时间: |
|
| 查看次数: |
6010 次 |
| 最近记录: |