论坛首页 Java企业应用论坛

工作流系统的设计与实现 1.0

浏览 23954 次
该帖已经被评为精华帖
作者 正文
   发表时间:2010-10-05   最后修改:2010-10-11
I系统设计 5
1、概述 5
2、介绍 15
2.1、工作流历史与发展 15
2.2、术语定义(WFMC) 16
2.3、工作流模式说明 25
3、引擎设计 74
3.1、工作流对象状态 74
3.2、三层状态关系 75
3.3、过程推进 76
II系统实现 84
4、系统定位 84
4.1、Web应用特点 84
4.2、开发的演化 86
4.3、企业平台 88
5、建模 94
5.1、流程建模 94
5.2、数据建模 99
5.3、系统建模 109
6、引擎实现 111
6.1、模块说明 111
6.2、总体架构 112
6.3、状态模式实现状态机 114
6.4、事物触发与观察者模式 116
6.5、状态变迁处理逻辑 116
7、与业务系统结合 121
7.1、基于工作流应用的开发模式 121
7.2、业务系统和流程引擎的交互 124
7.3、通过规则引擎扩展功能 125
7.4、数据一致性 128
8、工作流外围系统 130
8.1、流程建模器 130
8.2、表单设计器 135
III其他 138
9、性能测试 138
9.1、持久压力测试 138
9.2、并发压力测试 140
10、结论 145


=========================================
另外:
08年写的文档《工作流系统的设计与实现_0.82.pdf》
在如下地址可以找到
http://www.iteye.com/topic/258525
   发表时间:2010-10-05  
多谢。
可惜其中没有提到流程与human task实现的分离,发起流程的权限设置,甚至表单中的权限过滤。
0 请登录后投票
   发表时间:2010-10-05  
xyz20003 写道
多谢。
可惜其中没有提到流程与human task实现的分离,发起流程的权限设置,甚至表单中的权限过滤。

考虑的太多,这些不应该被工作流引擎考虑、
0 请登录后投票
   发表时间:2010-10-05  
楼主应该接触过普元的工作流。。。
0 请登录后投票
   发表时间:2010-10-05  
很是佩服,虽然对一些观点并不赞同,精华
0 请登录后投票
   发表时间:2010-10-05  
melin 写道
楼主应该接触过普元的工作流。。。


接触过开源的和商业的

开源的有:
obe,shark,jbpm

商业的有:
eos bps, 麒麟远创,cordys
0 请登录后投票
   发表时间:2010-10-05  
ronghao 写道
很是佩服,虽然对一些观点并不赞同,精华


呵呵,我知道你对工作流也有很深刻的了解

不同的人对流程引擎的理解是不一样的,求同存异

我们可以多多交流,好的思想和想法,我向来是拿来主意,呵呵
0 请登录后投票
   发表时间:2010-10-05  
xyz20003 写道
多谢。
可惜其中没有提到流程与human task实现的分离,发起流程的权限设置,甚至表单中的权限过滤。



对于工作流引擎来说,这几点不在考虑之中

但对于提升到企业平台来说,这些是必要的

1、human task实现的分离
我们采取的是3层状态机的方式,task和人工活动的状态有交互

2、流程的权限设置
这个有独立的表来控制,并且在xml中有设定,我在文档里可能没有体现出来
但在实际的engine是有这部分的
流程包括public和私有的,
私有的区分不同的人,参与者来启动,
而且权限也有区分,有的人可以启动,有的人只能执行等


3、表单中的权限过滤
这个更多的是交给了web框架去实现,当然,能在xml的扩展字段中传递一些数据过来
业务系统可以根据这些数据来控制表单的权限控制和数据过滤
0 请登录后投票
   发表时间:2010-10-05  
^_^多谢回复。
个人感觉,wfmc中把task/workitem带入process engine是画蛇添足,task要么用作待办任务列表,发消息提醒,实际业务系统又要和业务表单做关联。大多数用户都有扩展task的需求,你再怎么考虑也做不成通用的,反而不如从一开始就把task process作为一类普通的外部服务,相互之间使用事件或者消息触发。

像jbpm4中,为了实现execution与task之间的交互关系,代码中直接嵌入了task.skip()这类api,耦合性态高了。

这部分,WS-HumanTask似乎定义了不少规范,包括数据模型和生命周期,下一步打算去研究一下。

流程权限倒也没多少新玩意,不过要扯上组织机构,要是再考虑数据行级权限就更麻烦了。实际操作时,反倒不如写死id,画个静态页面方便。

表单设计部分,一直是听到xform的大名,但是xform规范中竟然没有layout方面的东东。ibm它们的xform似乎也是进行了扩展才能支持布局的。

如果只论引擎,恐怕只剩下p net或是fsm了,现在的模型都很精练,几千行代码就实现基础调度算法。在国内还是要跟着玩各种各样的人工任务才行哟。:)
0 请登录后投票
   发表时间:2010-10-06  
先看看。
不知道楼主如何实现工作流和数据流的分离。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics