基于Activiti的开源工作流引擎扩展框架——OpenWebFlow
来源:互联网 发布:乌克兰航空怎么样 知乎 编辑:程序博客网 时间:2024/05/22 17:33
通过近1个月的努力,成功包装完成OpenWebFlow并开源至GitHub,请各位有需要的同行笑纳!
OpenWebFlow是基于Activiti(官方网站http://activiti.org/,代码托管在https://github.com/Activiti/Activiti)扩展的工作流引擎,它扩展的功能包括:
- 完全接管了Activiti对活动(activity)权限的管理。Activiti允许在设计model的时候指定每个活动的执行权限,但是,业务系统可能需要根据实际情况动态设置这些任务的执行权限(如:动态的Group)。OpenWebFlow完全实现了与流程定义时期的解耦,即用户对活动的访问控制信息单独管理(而不是在流程定义中预先写死),这样有利于动态调整权限,详见自定义活动权限管理;
- 完全接管了Activiti对用户表(IDENTITY_XXX表)的管理。在标准的工作流定义中,每个节点可以指定其候选人和候选用户组,但是比较惨的是,Activiti绑架了用户信息表的设计!这个是真正致命的,因为几乎每个业务系统都会属于自己的用户信息结构(包括User/Group/Membership),但不一定它存储在Activiti喜欢的那个库中,表的结构也不一定一样,有的时候,某些信息(如:动态的Group)压根儿就不采用表来存储。OpenWebFlow剥离了用户信息表的统一管理,客户程序可以忘掉Activiti的用户表、群组表、成员关系表,详见自定义用户成员关系管理;
- 允许运行时定义activity!彻底满足“中国特色”,并提供了安全的(同时也是优雅的)催办、代办、加签(包括前加签/后加签)、自由跳转(包括前进/后)、分裂节点等功能;
开发者使用帮助:https://github.com/bluejoe2008/openwebflow/wiki
感谢咖啡兔http://www.kafeitu.me/,里面有很多的关于Activiti应用方案的讨论。
OpenWebFlow也许是你见过的最好的Activiti增强引擎,也许不是,但它保证100%开源,原因很简单,因为它powered by Activiti。你可以将OpenWebFlow应用于任何场合(包括商用的),而且你的产品不用提及OpenWebFlow的名字。但如果你能够在任何技术场合客观的评价并推广OpenWebFlow,作者将感激不尽!同为开发者,我相信你也有这种情怀^_^
1 0
- 基于Activiti的开源工作流引擎扩展框架——OpenWebFlow
- 基于Activiti的开源工作流引擎扩展框架——OpenWebFlow
- openwebflow----基于Activiti的工作流引擎扩展
- Activiti工作流引擎——组件说明
- Activiti框架的工作流
- Activiti工作流引擎的使用
- Activiti工作流框架学习(二)——使用Activiti提供的API完成流程操作
- Activiti工作流框架学习(二)——使用Activiti提供的API完成流程操作
- Activiti工作流框架学习(二)——使用Activiti提供的API完成流程操作
- Activiti工作流框架学习(二)——使用Activiti提供的API完成流程操作
- Activiti工作流框架学习(二)——使用Activiti提供的API完成流程操作
- 基于开源工作流引擎OSWorkflow的业务系统实例——请假审批系统
- 工作流引擎Activiti系列(一)——初识
- Activiti工作流引擎——用户与组、部署管理
- Activiti工作流引擎——数据库表结构说明
- Activiti 工作流引擎的初步使用
- Activiti工作流引擎使用
- Activiti工作流引擎使用
- 数据挖掘:Apriori算法
- 动作识别之STIP (Space-Time Interest Points)(三)
- java生产者消费者初探
- Android数据库高手秘籍(二)——创建表和LitePal的基本用法
- Android PopupWindow显示在控件上方或者下方(demo)
- 基于Activiti的开源工作流引擎扩展框架——OpenWebFlow
- iOS sqlite
- 线性筛选素数和线性筛选欧拉函数【bzoj2190]
- 关于javascript严格模式下七种禁止使用的写法
- 【Android 非常基础】项目切换SVN路径,本地代码会怎么样呢?
- FAILED: Error in metadata: javax.jdo.JDOFatalInternalException: Unexpected exception caught.
- 关于 android 通过 python 统计 fps
- proftpd配置ftp over TLS实录
- Gpgraph的使用与配置--第二篇