工作流和工作流引擎 您所在的位置:网站首页 Java工作流详解附6大工作流框架对比 工作流和工作流引擎

工作流和工作流引擎

2024-03-03 07:48| 来源: 网络整理| 查看: 265

一、工作流:

        工作流(workflow)是指业务过程的部分或整体在计算机应用环境下的自动化,是对工作流程及其各操作步骤之间业务规则的抽象、概括描述。工作流主要解决的问题是:为了实现某个业务目标,利用计算机在多个参与者之间按照某种预定的规则自动传递文档、信息或者是任务。wfmc(工作流管理联盟)给出的定义是:工作流是指一类能够完全自动执行的经营过程,根据一系列的过程规则,将文档、信息或任务在不同的执行者之间进行传递与执行。

二、工作流引擎

        所谓的工作流引擎是指workflow作为应用系统的一部分,并为之提供对各应用有决定作用的根据角色、分工和条件的不同决定信息传递路由、内容等级等核心解决方案。工作流引擎包括了流程的节点管理、流向管理、流程样例管理等重要功能。服务架构:良好的接口和契约联系起来。

三、Java工作流引擎

   JBPM和Activiti之间的对比:

        jbpm是目前市场上主流开源工作流引擎之一,在创建者Tom  Baeyens离开了Jboss后,jbpm的下一个版本jbpm5完全放弃了jbpm4的基础代码,基于Drools Flow重新来过。目前官网已经推出了jbpm6的beta版,Tom Baeyens在加入了Alfresco之后,快速推出了新的基于jbpm4的开源工作流系统Acticiti

   二者主要相似之处:

        都是BPMN2过程建模和执行环境。都是BPM系统(符合BPM规范)。都是开源项目(遵循Apache的软件许可ASL协议)。都源自Jboss。

        技术组成对比:

序号技术组成ActivitiJBPM51数据库持久层(ORM)Mybatis3  Hibernate32持久化标准  无JPA规范3事务管理Mybatis机制/Spring事务控制Bitronix,基于JTA事务管理4数据库连接方式JDBC/DataSourceJDBC/DataSource5支持的数据库 oralce MySQL SqlServer等     oralce MySQL SqlServer等6 设计模式 命令模式和观察者模式  命令模式和观察者模式  7内部通讯服务  Service之间通过API调用 基于Apache Mina异步通讯8集成接口SOAP Mule RESTful  消息通讯9支持的流程格式BPMN2 xPDL   jpDL BPMN2 xml10引擎核心PVM(流程虚拟机)Drools11技术前身 JBPM3、JBPM4 Drools Flow12所属公司AlfrescoJboss

        Activiti5使用Spring进行引擎配置以及各个bean的管理,综合使用ioc和aop的思想,使用CXF作为WebService实现的基础,使用mybatis进行底层数据库ORM的管理。jBPM5采用jboss社区的大多数组件,以Drools Flow为核心组件作为流程引擎的核心构成,以hibernate作数据持久化,采用基于JPA/JTA的可插拔的持久化和事务控制规范,使用Guvnor作为流程管理仓库,能够与Seam、Spring、OSGi等集成。

优势对比:

       从技术上来看,Activiti5最大的优势是采用PVM(流程虚拟机),支持除了BPMN2.0规范之外的流程格式,与外部服务有着良好的集成能力,延续了JBPM3、JBPM4良好的社区支持,服务接口清晰,链式API更加优雅;劣势是持久化层没有遵循JPA规范。

      JBPM5最大的优势是采用的Apache Mina异步通信技术,采用JPA/JTA持久化方面的标准,以功能齐全的Guvnor作为流程仓库,有RedHat的专业化支持;劣势是:对自身技术依赖过紧且目前仅支持JBPM2.

四、BPMN2.0规范

        BPMN(Business Process Model and Notation):业务流程模型与符号

        BPMN是一套流程建模的标准,主要目标是被所有业务用户容易理解的符号,支持从创建流程轮廓的业务分析到这些流程的最终实现,知道最终用户的管理监控。通俗一点其实就是一套规范,画流程模型的规范,流程模型包括:流程图,协作图,编排图,会话图。

五、为什么选择Activiti而不是JBPM?

        1、Activiti拥有更简洁健壮的接口

        2、Activiti拥有更友好的用户体验

        3、Activiti支持引擎启动后随时热部署

        4、Activiti拥有更友好易用的Eclipse编辑插件和在线插件

        5、Activiti所依赖的jar包更少



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有