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

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
沈阳新一代信息技术有限公司工作流引擎技术调研报告技术文档董威2016/3/14目录一、背景3二、目的3三、需求及简介31 . 需求32. 简介4四、详细介绍41.Snaker42.Activiti53.JBPM64.UFLO7五.技术实现总结8六.附件9背景 将业务流程的定义,审批从业务系统中分离出来,统一进行规划与管理。目的对工作流引擎的各种实现技术进行统一的甄别,确定适合项目需求,和现应用技术进行良好集成,学习成本相对较低的工作流引擎。需求及简介工作流是一项分离业务操作和系统流程的技术。工作流由实体(Entity)、参与者(Participant)、流程定义(Flow Definition)、工作流引擎(Engine) 四部分组成。实体是工作流的主体,是需要随着工作流一起流动的物件(Object)。例如,在一个采购申请批准流程中,实体就是采购申请单;在公文审批流程中,实体就是公文。参与者是各个处理步骤中的责任人,可能是人,也可能是某个职能部门,还可能是某个自动化的设备;流程定义是预定义的工作步骤,它规定了实体流动的路线。它可能是完全定义的,即对每种可能的情况都能完全确定下一个参与者,也可能是不完全定义的,需要参与者根据情况决定下一个参与者;工作流引擎是驱动实体按流程定义从一个参与者流向下一个参与者的机制前三个要素是静态的,而第四个要素是动态的,它将前三者结合起来,是工作流的核心组成元素。1 . 需求所选工作流引擎需实现以下功能。具有强大的流程设计器。流程定义。可自行灵活定义流程图,并达到流程变化时代码改动量尽可能少。流程表单设计灵活。流程审批节点灵活定义。流程各节点审批人定义。可支持会签。可支持批量审批。独立于业务系统,需融合时简单灵活。网络资料丰富,运行效率高,学习成本相对较低。需保存每个步骤的数据,方便实现流程的回退,撤消等操作。能对项目现应用技术如spring等进行大力度支持。支持流程代办。流程版本管控。优秀工作流引擎特点:/s/blog_71a9fed701010h3f.html/s/blog_71a9fed701010h3f.html2. 简介 目前java开源的工作流引擎有70余种。详细介绍见下面链接。/project/tag/129/workflow?lang=19os=0sort=viewp=1/project/tag/129/workflow?lang=19os=0sort=viewp=1现根据对其他技术的支持程度,网络资料,设计器和学习成本几方面考虑,对应用相对较多的Snaker,activiti,JBPM, UFLO几项开源引擎进行详细分析与调研。详细介绍SnakerSnaker是一个基于Java的开源工作流引擎,适用于企业应用中常见的业务流程。本着轻量、简单、灵巧理念设计,定位于简单集成,多环境支持。目前最新版本为支持Spring、Jdbc、SpringJdbc、Hibernate3or4、Mybatis等orm框架。/?包括了依赖包,流程引擎,eclipse插件,网盘资料,案例,文档,设计。Snaker架构表设计简单(10张核心表,涵盖了实现原理的核心),流程组件简单(包含了开始。结束,分裂,组合,自定义,任务)。Snaker对外提供可扩展的接口,支持流程设计器,节点自定义,属性自定义,表单自定义。学习成本较低,适合在小型项目中使用。a. 优点1). Snaker有详细的api文档说明,路径: /book/function/engine.html/book/function/engine.html。2). 能够与spring进行整合。并良好的支持springjdbc,hibernate 3/4,mybatis.3). 能够基于spring进行流程引擎的配置。4). 事务方面可将流程引擎的事务托管给spring进行统一管理。可与具体业务事务进行统一集成管理。5). 数据库支持角度,可良好的支持oracle,postgres,mysql,mssql。6). 支持子流程,时限控制,会签,流程分支。7). 支持转派(主办,协办),撤回,提取,驳回,唤醒,更新。8). 支持基于eclipse的设计器。9). 可扩展性良好。可扩展组件,表单,节点。10).学习成本相对较低,且灵活。b. 实例1). 资源下载/s/1hqza8BU/s/1hqza8BU(包括源码,eclipse插件,lib包,部署包)2). 创建数据库在路径\schema下,找到并执行schema-postgres.sql(根据不同数据库选择不同sql)3). 部署在\snaker-web路径下,找到snaker-springmvc-0.0.1.war,将其拷贝到tomcat,webapps下,重新启动tomcat,war包将自动解压。4)

文档评论(0)

jiqingyong1 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档