工作流引擎技术调研总结报告

上传人:hs****ma 文档编号:488261105 上传时间:2022-09-16 格式:DOCX 页数:14 大小:65.35KB
返回 下载 相关 举报
工作流引擎技术调研总结报告_第1页
第1页 / 共14页
工作流引擎技术调研总结报告_第2页
第2页 / 共14页
工作流引擎技术调研总结报告_第3页
第3页 / 共14页
工作流引擎技术调研总结报告_第4页
第4页 / 共14页
工作流引擎技术调研总结报告_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《工作流引擎技术调研总结报告》由会员分享,可在线阅读,更多相关《工作流引擎技术调研总结报告(14页珍藏版)》请在金锄头文库上搜索。

1、沈阳新一代信息技术有限公司工作流引擎技术调研报告技术文档董威2016/3/14目录一、背景 2二、目的 2三、需求及简介 21 . 需求 22. 简介 3四、详细介绍 31. Snaker 32. Activiti 53. JBPM 74. UFLO 8五技术实现总结 9六附件 10背景将业务流程的定义,审批从业务系统中分离出来,统一进行规划与管理.二、目的对工作流引擎的各种实现技术进行统一的甄别,确定适合项目需求,和现应用技术进行 良好集成,学习成本相对较低的工作流引擎。三、需求及简介工作流是一项分离业务操作和系统流程的技术。工作流由实体 (Entity)、参与者 (Participant)

2、、流程定义(Flow Definition)、工作流引擎(Engine)四部分组成。 实体是工作流的主体,是需要随着工作流一起流动的物件(Object)。例如,在一个采购 申请批准流程中,实体就是采购申请单;在公文审批流程中,实体就是公文。 参与者是各个处理步骤中的责任人,可能是人,也可能是某个职能部门,还可能是某个自 动化的设备; 流程定义是预定义的工作步骤,它规定了实体流动的路线。它可能是完全定义的,即对 每种可能的情况都能完全确定下一个参与者,也可能是不完全定义的,需要参与者根据 情况决定下一个参与者; 工作流引擎是驱动实体按流程定义从一个参与者流向下一个参与者的机制前三个要素是静态的,

3、而第四个要素是动态的,它将前三者结合起来,是工作流的核心组成元素。1 。 需求所选工作流引擎需实现以下功能。 具有强大的流程设计器. 流程定义。可自行灵活定义流程图,并达到流程变化时代码改动量尽可能少。 流程表单设计灵活。 流程审批节点灵活定义。 流程各节点审批人定义。可支持会签。 可支持批量审批。 独立于业务系统,需融合时简单灵活。 网络资料丰富,运行效率高,学习成本相对较低。 需保存每个步骤的数据,方便实现流程的回退撤消等操作。 能对项目现应用技术如spring等进行大力度支持。 支持流程代办。 流程版本管控。优秀工作流引擎特点:http:/.en/s/blog_71a9fed701010

4、h3f。html2。 简介目前java开源的工作流引擎有70余种详细介绍见下面链接.http: /www.oschina。net/project/tag/129/workflow?lang=19& os=0&sort=view& p=1现根据对其他技术的支持程度,网络资料,设计器和学习成本几方面考虑,对应用相对较多 的Snaker,activiti, JBPM, UFLO几项开源引擎进行详细分析与调研.四、详细介绍1. SnakerSnaker是一个基于Java的开源工作流引擎,适用于企业应用中常见的业务流程。本着轻量、 简单、灵巧理念设计,定位于简单集成,多环境支持。目前最新版本为支持 Sp

5、ring、Jdbc、SpringJdbc、Hibernate3or4、Mybatis 等 orm 框架。http:/ 设计。Snaker架构表设计简单(10张核心表,涵盖了实现原理的核心),流程组件简单(包含了开 始。结束,分裂,组合,自定义,任务)。Snaker对外提供可扩展的接口,支持流程设计器,节点自定义,属性自定义,表单自定义。学习成本较低,适合在小型项目中使用。a。优点1). Sn aker 有 详细的 api 文 档说明,路径:http : www。snake flow。com/book/function/engine。html2)。能够与 spring 进行整合。并良好的支持 s

6、pringjdbc,hibernate 3/4,mybatis。3).能够基于spring进行流程引擎的配置。4)。事务方面可将流程引擎的事务托管给spring进行统一管理可与具体业务事务进行 统一集成管理。5).数据库支持角度,可良好的支持oracle,postgres, mysql,mssql.6)。支持子流程,时限控制,会签,流程分支。7)。支持转派(主办,协办),撤回,提取,驳回,唤醒,更新。8).支持基于eclipse的设计器.9).可扩展性良好。可扩展组件,表单,节点.10)。学习成本相对较低,且灵活。b。实例1)。资源下载http: lipan.baidu.eom/s/1hqza

7、8BU (包括源码,eclipse 插件,lib 包,部署包)2).创建数据库在路径schema下,找到并执行schemapostgres。sql (根据不同数据库选择不同sql)3).部署在snakerweb 路径下,找到 snakerspringmvc-0.0.1war,将其拷贝到 tomcat,webapps 下,重新启动tomcat,war包将自动解压。4)修改数据库配置文件在解压后的路径下找至UsnakerWEB-INFclasses, application。propserties文件,修改数 据库信息。5).启动tomcat,访问http: /localhost: 8080/sn

8、aker/,即可进入页面,在此处可杳看 代办任务,查看流程实例,也可查询或部署流程图。6).集成设计器将Snakersnakerflowlibseclipse插件拷贝到eclipse安装目录下放入dropins目录下, 重新启动eclipse.新建项目,输入snaker即可出现下图。已 Snaker Snake-r Form Fileg Snake-r Precess FilmSnalce-r Proj e-ct7).创建Snaker项目及snaker流程图.具体说明参照文档:http:/www。snakerflow。 com/book/quickstart/flowxml.html- ?1a

9、rt罢叶itaskcdElomdeckioni:2. ActivitiActiviti是一个业务流程管理(BPM)和工作流系统,适用于开发人员和系统管理员.其核 心是超快速,前身是jbpm3/4.它易于与Spring集成使用。Activiti5基于jBPM4,与Alfresco的集成增加了其流程可视化与管理能九同时通过创新 的Activiti Cycle协作组件支持流程相关人员之间的协调,最后,它加强了集成能力。下载地址:http: /www.activiti。org/download.htmla.优点1)有 api 文档,路径 http:/activiti。org/javadocs/inde

10、x.html2)可以和spring进行集成.3)引擎本身提供form,同时也支持自定义form。4)事务方面底层基于spring事务控制5)支持 oracle,mssql, mysql 等6)支持子流程,会签,流程分支.刀网络资源及代码较丰富。8)支持基于eclipse的设计器。上手比较快,界面也比较简洁、直观。9). Activiti最大的优势是采用了 PVM (流程虚拟机,流程虚拟机是一个用来构建和执行流程 图的简单的java类库。它充当各种工作流、业务流程管理和编制流程语言的基础),支持除 了 BPMN2.0规范之外的流程格式10)服务接口清晰,API更为简单.b缺点持久化层没有遵循JP

11、A规范.c. 实例1).资源下载并解压(包括设计器文件,和war包,lib包)路径:http: /www.activiti。org/download.html 2)。创建数据库在路径activiti5。19.0activiti-5。19.0databasecreate 下,找到并执行如下 sql (根据 不同数据库选择不同sql,支持hsql, mssql,mysql, oracle, postgres),共25张表。I , a ctiviti. po-stgres. create.engi ne. sql,a ctiviti. po-stgres. cr&pte.hi story, sqI_

12、 activiti.pa stg res. crea ire. i d tity. s q I3)。部署在activiti-5.19.0activiti5.19.0wars 路径下,找到 activiti-explorer.war,将其拷贝到 tomcat,webapps下,重新启动tomcat,war包将自动解压。4)。修改数据库配置文件在解压后的路径下找到 activitiexplorerWEBINFclasses, db.propertiess 文件,修改 数据库信息,配置成自己的数据库。5)。启动 tomcat,访问 http:/localhost: 8080/activitiexpl

13、orer,输入用户名 kermit,密码 kerm it,即可进入页面.Activiti ExplorerIA管理1EM我的丫钢呈已制署流程定义流程设计工作区6)。集成设计器将activiti-designer-5.8。0site插件拷贝到eclipse安装目录下放入dropins目录下,重新 启动eclipse。新建项目,输入activiti即可出现下图。吕 ActivitiO Activiti DiagramG Activiti Project7)。部署流程。网页端部署,将xml和图片打成zip包,应用网页版的管理 部署包功能进行发布.8)。和业务端整合。具体整合方式独立章节介绍。资料:使

14、用总结:http:/ shtml http:/www。kafeitu.me/activiti/2012/03/22/workflowactivit-action。html 2.2.核心组件介绍2.2b 1.关键对象1bDeployme nt:流程部署对象,部署一个流程时创建。2. ProcessDefi nitio ns:流程定义,部署成功后自动创建。3. ProcessI nsta nces :流程实例,启动流程时创建.4. Task:任务,在Activiti中的Task仅指有角色参与的任务,即定义中的UserTask。5. Executio n:执行计划,流程实例和流程执行中的所有节点都是Executio n,如 UserTask、ServiceTask 等。2.2。2. 服务接口1。ProcessE ngine:流程引擎的抽象,通过它我们可以获得我们需要的一切服务.2。RepositoryService: Activiti 中每一个不同版本的业务流程的定义都需要使用一 些定义文件,部署文件和支持数据(例如 BPMN2。 0 XML 文件,表单定义文件,流 程定义图像文件等), 这些文件都存储在 Activiti 内建的 Repository 中。 RepositoryService 提供了对 repository 的存取服务。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号