首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

工作流引擎技术选型

Snaker

Snaker是一个基于Java的开源工作流引擎,适用于企业应用中常见的业务流程。本着轻量、简单、灵巧理念设计,定位于简单集成,多环境支持轻量:核心代码行数大约7000行,强大的扩展性,支持Spring、Jfinal、Nutz平台级框架;支持Jdbc、SpringJdbc、Hibernate3or4、Mybatis等orm框架简单:表设计简单,流程组件简单[start/end/task/custom/subprocess/decision/fork/join]灵巧:暴露大量可扩展接口,支持流程设计器、流程引擎的组件模型自定义[节点自定义、属性自定义、表单自定义]Wiki:http://snakerflow.com/演示应用:http://git.oschina.net/yuqs/snaker-webGITHUB:https://github.com/snakerflow/snakerflow

openwebflow

OpenWebFlow是基于Activiti(官方网站http://activiti.org/)扩展的工作流引擎(国人开发),它扩展的功能包括:

完全接管了Activiti对活动(activity)权限的管理。Activiti允许在设计model的时候指定每个活动的执行权限,但是,业务系统可能需要根据实际情况动态设置这些任务的执行权限(如:动态的Group)。OpenWebFlow完全实现了与流程定义时期的解耦,即用户对活动的访问控制信息单独管理(而不是在流程定义中预先写死),这样有利于动态调整权限,详见自定义活动权限管理;

完全接管了Activiti对用户表(IDENTITY_XXX表)的管理。在标准的工作流定义中,每个节点可以指定其候选人和候选用户组,但是比较惨的是,Activiti绑架了用户信息表的设计!这个是真正致命的,因为几乎每个业务系统都会属于自己的用户信息结构(包括User/Group/Membership),但不一定它存储在Activiti喜欢的那个库中,表的结构也不一定一样,有的时候,某些信息(如:动态的Group)压根儿就不采用表来存储。OpenWebFlow剥离了用户信息表的统一管理,客户程序可以忘掉Activiti的用户表、群组表、成员关系表,详见自定义用户成员关系管理;

允许运行时定义activity!彻底满足“中国特色”,并提供了安全的(同时也是优雅的)催办、代办、加签(包括前加签/后加签)、自由跳转(包括前进/后)、分裂节点等功能;

支持与致谢

开发者使用帮助:https://github.com/bluejoe2008/openwebflow/wiki

使用手册与设计说明书(PDF格式)

详细说明:https://my.oschina.net/bluejoe/blog/1552284#comment-listGITHUB地址:https://github.com/bluejoe2008/openwebflow

JBPM

jBpm是一个灵活可扩展的工作流管理系统。作为 jBpm运行时server输入的业务流程使用简单强大的语言表达并打包在流程档案中。jBpm将工作流应用开发的便利性和杰出的企业应用集成(EAI)能力结合了起来。jBpm包括一个Web应用程序和一个日程安排程序。jBpm是一组J2SE组件,可以作为J2EE应用集群部署。

JBoss容器下的产品,可能存在兼容性问题,放弃Activiti的作者即是JBPM原作者ActivitiActiviti是一个业务流程管理(BPM)和工作流系统,适用于开发人员和系统管理员。其核心是超快速,稳定的BPMN2流程引擎。它易于与 Spring集成使用。用户指南:http://www.activiti.org/userguide/index.htmlGITHUB地址:https://github.com/Activiti/ActivitiGithub上更新频率最快:

flowable

flowable工作流是Activiti团队一个分支,从JBPM到Activiti到flowableflowable是一个用Java实现的轻量级业务工作流引擎,兼容activiti支持Spring 、Spring Boot可以部署到任意Java环境,如java SE、servlet容器、如Tomcat或jetty、Java EE 服务器 如JBoss容器等GITHUB地址:https://github.com/flowable/flowable-engineGITHUB更新频率

支持的数据:flowable的数据库名称都以act_开始。第二部分是对表格用例的两个字符的识别。这个用例也大致匹配服务API。act_re_ *:代表基础仓库。带有此前缀的表包含静态信息,如流程定义和流程资源(图像、规则等)。act_ru_ *:运行库。这些是运行时表,其中包含进程实例、用户任务、变量、作业等的运行时数据。流动只存储过程实例的执行过程中的运行时数据和删除记录时,一个流程实例结束。这样可以使运行时表小而快速。act_hi_ *:历史库,代表历史。这些表包含历史数据,如过去的流程实例、变量、任务等。act_ge_ *:常规库,这是用于各种使用案例。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180612G09BTJ00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券