`
timeson
  • 浏览: 144403 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

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

阅读更多
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
分享到:
评论
38 楼 qiu768 2010-12-01  
好棒的文档!!谢谢博主无私的奉献出来!
37 楼 comsci 2010-11-01  
思路也不错嘛,代码也不过是一种思路的表现。。伪代码这种表现形式对于我们理解流程引擎的设计也具有相当重要的意义,关键的是我们在这个新兴的领域,需要不断地前进。。。不能期望暴发而获得成功,而需要一步一步的走,慢慢的走。。。前途非常光明,道路却很崎岖,甚至没有什么可以走的路,需要我们自己去开拓,还是那句我们非常熟悉的话:“其实世上本来没有路,只是走的人多了便成了路”
36 楼 timeson 2010-10-31  
comsci 写道
如果这个文档能够结合一个开源代码包和几个应用实例 ,一起发出来,就太好了。。。



代码已经实现了,不是基于开源作的,也就是说不是唉一些开源的工作流引擎、规则引擎上再度封装,
是公司的商业代码,所以文档里只有思路,和伪代码
35 楼 comsci 2010-10-31  
如果这个文档能够结合一个开源代码包和几个应用实例 ,一起发出来,就太好了。。。
34 楼 newvirus 2010-10-12  
都是高手啊 刚接触 学习中
33 楼 timeson 2010-10-11  
z_joey 写道
还有一个问题请教,关于表单的,赐教你们是如何解决的。
我在表单选型时,考虑了html+js+css组合和flex。
最后放弃了flex,主要是不知道自定义的脚本如何解释执行,还有flex的文件较大。而JavaScript,浏览器就可以解释执行了。
是每个表单都编译成独立的swf,还是存储配置信息(及其他信息),由一个统一swf执行。



我们正在开发一套web框架
基于struts2+jsp+flex

跳转,控制,等在struts处理,业务页面在jsp,flex中展现
基本来说,基本的表单在jsp,图形图像在flex
这里就有个jsp如何与flex的数据交互的处理
32 楼 timeson 2010-10-11  
z_joey 写道
拜读大作,受益匪浅,还要多读几遍。有个问题请教一下:
我看许多工作流设计器使用eclipse插件开发,这种插件能给最终用户使用吗?或者这种形式好吗?
我是直接用vb写的activex,直接嵌到网页里。
我对插件没有经验,最终用户就是指客户了,因为有些时候还是要调整流程的一些设置。



会提供2种方式
1〕基于插件的
2〕基于flex的web在线建模器

1、基于插件的是给程序员用的,并能和java视图集成一起,方便程序员使用
2、基于web的,是给业务人员用的,设计完毕需要部署到服务器中
31 楼 z_joey 2010-10-11  
还有一个问题请教,关于表单的,赐教你们是如何解决的。
我在表单选型时,考虑了html+js+css组合和flex。
最后放弃了flex,主要是不知道自定义的脚本如何解释执行,还有flex的文件较大。而JavaScript,浏览器就可以解释执行了。
是每个表单都编译成独立的swf,还是存储配置信息(及其他信息),由一个统一swf执行。
30 楼 z_joey 2010-10-11  
拜读大作,受益匪浅,还要多读几遍。有个问题请教一下:
我看许多工作流设计器使用eclipse插件开发,这种插件能给最终用户使用吗?或者这种形式好吗?
我是直接用vb写的activex,直接嵌到网页里。
我对插件没有经验,最终用户就是指客户了,因为有些时候还是要调整流程的一些设置。
29 楼 小小流浪猪 2010-10-10  
学习了,呵呵
28 楼 timeson 2010-10-09  
CshBBrain 写道
xyz20003 写道

jbpm提供的性能调优方面的建议是把耗时的操作设置为“异步”,迅速返还用户界面。学学bpel在消息请求方面加上mq应该也可以增大吞吐量,不过我还没有实际用过,不敢保证实际效果。

在流程引擎与实际业务绑定之前,单纯对数据库表的调优感觉没什么意义。

jbpm4方面主要是引入了history历史库的概念,把运行库与历史库分隔开来,避免因为流程数据库的不断积累影响流程引擎的运行效率。



xyz20003兄有时间的话测试下jbpm结合mq使用的效果如何,
将历史数据分开存放对性能的提升是有帮助的。



这里有个工作流引擎结合MQ的范例
是真实用例,在实际的项目中采用了这种模式
性能和数据的一致性经受了实际业务的考验

整个体系采取的是业务后置模式,
web前端只是起到了数据展现和打包成xml的功能,并通过mq传递给引擎端
并由引擎和后端业务模块一起来处理





工作流引擎和MQ集成的方式
27 楼 timeson 2010-10-09  
form_rr 写道
先看看。
不知道楼主如何实现工作流和数据流的分离。



工作流的数据分为:
控制数据
应用数据
相关数据
组织机构数据

一般来说,只有控制数据和相关数据被引擎使用
组织机构数据一般只是引用
应用数据一般和引擎没有关系,但可以通过扩展字段在引擎内部被传递




工作流引擎中内部涉及到的几种数据类型
26 楼 池中物 2010-10-08  
ronghao 写道
CshBBrain 写道

2.人工任务节点的参与者的处理,文章讲得很详细深入;但有一种情况没有提到,现实中经常出现,就是某个任务分配给某人处理了,但是这个人已经离职或调离了以前的岗位(反正就是这个人不可能再处理这个任务),这个时候该如何处理?

这个可以归入工作流异常处理,任务超时交由系统重新分配工作项,或者直接通知给案例负责人。

另外,工作流系统需要支持工作交接和委派,这个在资源模式里都有。


其实就是后台搞个任务重新分配
25 楼 KimHo 2010-10-08  
感谢楼主的分享,学习了
24 楼 xiangzi0506 2010-10-08  
好,学习了,Thanks
23 楼 skyuck 2010-10-08  
不错,学习了!
22 楼 sharepub 2010-10-07  
好文章,下载下来好好读下。
21 楼 syf721530 2010-10-07  
参观一下,。
20 楼 CshBBrain 2010-10-07  
ronghao 写道
CshBBrain 写道

2.人工任务节点的参与者的处理,文章讲得很详细深入;但有一种情况没有提到,现实中经常出现,就是某个任务分配给某人处理了,但是这个人已经离职或调离了以前的岗位(反正就是这个人不可能再处理这个任务),这个时候该如何处理?

这个可以归入工作流异常处理,任务超时交由系统重新分配工作项,或者直接通知给案例负责人。

另外,工作流系统需要支持工作交接和委派,这个在资源模式里都有。

工作交接,好主意,呵呵
19 楼 CshBBrain 2010-10-07  
xyz20003 写道

jbpm提供的性能调优方面的建议是把耗时的操作设置为“异步”,迅速返还用户界面。学学bpel在消息请求方面加上mq应该也可以增大吞吐量,不过我还没有实际用过,不敢保证实际效果。

在流程引擎与实际业务绑定之前,单纯对数据库表的调优感觉没什么意义。

jbpm4方面主要是引入了history历史库的概念,把运行库与历史库分隔开来,避免因为流程数据库的不断积累影响流程引擎的运行效率。



xyz20003兄有时间的话测试下jbpm结合mq使用的效果如何,
将历史数据分开存放对性能的提升是有帮助的。

相关推荐

    工作流系统的设计与实现_v1.0

    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系统...

    基于持久消息队列的工作流管理系统研究

    然后,设计出了类似Windows DNA (Distributed Network Application, DNA)层次结构的五层系统体系结构,并提出了其切实可行的实现方案,该方案实现了“过程建模与配置工具”、“工作流引擎”、“客户应用”及“应用...

    基于I/O、多线程、GUI的标准考试系统v1.0(JAVA实现)

    本系统是基于JAVA开发平台,运用Socket网络编程,I/O文件流,线程,Swing图形界面等技术,实现的一套标准化考试系统。通过该系统可以完成多个科目的标准化考试工作。 该系统共分为三个模块:考生客户端,服务器端和...

    AliShop(阿里网店系统) v1.0

    AliCMS具有非常优秀的设计,面向对象思想全面应用于本系统,实现比MVC更优秀的 MV模型。AliCMS完全模块化设计,功能无限可扩展,模块任意组合,模块开发标准化,而且非常简单。AliCMS具有全球独一无二的多语言处理...

    Web程序设计与实例教程

    在该文中深入讨论了采用基于WEB技术,并以工作流作为运行环境的电子...第三章提出了一个完备的、基于工作流的WEB电子表单设计系统架构;第四章列举了实现上述系统所必需的关键技术;最后在第五章结合Form Designer V1.0

    全管C5-OA协同办公系统 v1.0

    灵活的工作流引擎设计,不仅可用于自定义表单,还可用于系统级表单的流转。支持多种条件跳转、自定义处理动作、工作流分支与汇聚、条件路由流转、多角色活动参与人、活动任一/会签/投票机制、活动参与人绑定等等。...

    权限管理最新V1.0源码20121127

    工作流设计器让业务系统更灵活 兼容IE 6、IE 8 和Firefox 3 等浏览器 注意: 开发工具Visual Studio 2010 SP 数据库Sql Server 2005/2008版本 MVC 4.0版本 开发环境为Visual Studio 2005,数据库为SQL ...

    AliShop(阿里网店系统) v1.0.zip

    AliCMS具有非常优秀的设计,面向对象思想全面应用于本系统,实现比MVC更优秀的 MV模型。AliCMS完全模块化设计,功能无限可扩展,模块任意组合,模块开发标准化,而且非常简单。AliCMS具有全球独一无二的多语言处理...

    AliShop(阿里网店系统)v1.0.rar

    AliCMS具有非常优秀的设计,面向对象思想全面应用于本系统,实现比MVC更优秀的 MV模型。AliCMS完全模块化设计,功能无限可扩展,模块任意组合,模块开发标准化,而且非常简单。AliCMS具有全球独一无二的多语言处理...

    投票系统数据库设计说明.doc

    5 3结构设计 10 3.1概念结构设计 10 3.2逻辑结构设计 11 3.3物理结构设计 12 4运用设计 12 4.1安全保密设计 12 4.2系统运行与维护 12 投票系统数据库设计说明书 1.引言 1.1编写目的 在积极建立科学管理机制的今天,...

    毕业设计 基于Python深度强化学习的云工作流调度系统源码+详细注释+全部数据资料+部署文档(优秀项目)

    毕业设计 基于Python深度强化学习的云工作流调度系统源码+详细注释+全部数据资料+部署文档(优秀项目) 关键词:有向无环图,工作流,深度强化学习,图神经网络; 蒙特卡洛树搜索 Python 3.9.7 - torch 1.10 - gym ...

    site2U网站管理系统 v1.0 Beta 大众版.rar

    一种可以综合管理网站应用...8.简洁的内容管理工作流 9.人性化的操作界面 - 与Windows,WORD等流行软件的操作模式、界面、惯例尽量保持一致,容易上手。 - 多种提示方式,将不好理解的选项用直观可视化的方式展现

    服装库存管理系统数据库设计.doc

    1.3 参考文献 《数据库系统概论》 作者:王珊 萨师煊 出版社:高等教育出版社 1.4 术语与缩写解释 "缩写、术语 "解 释 " "CSMS "服装管理系统 " "SD "系统设计,System Design " " " " " " " "… " " 2. 数据库环境...

    BootDo后台管理系统 v1.0

    授权方式: 开源软件 界面语言: 简体中文 文件大小: 12.3 MB 更新时间: 2020-08-12 资源类型: ...工作流引擎:实现业务工单流转、在线流程设计器。 BootDo截图 相关阅读 同类推荐: 站长常用源码

    基于J2EE框架的个人博客系统项目设计与实现.doc

    1.1.选题背景 这几年,许多新名词涌入我们的视野:博客、圈子、播客、WAP等。这些都预示着我们进入了一个新的互联网阶段web 2.0...随着博客人数的增加, Blog 作为一种新的生活方式、新的工作方式、新的学习方式已经被

    计算机网络课程设计报告-校园网网络构建方案设计和实现.doc

    计算机网络课程设计 校园网网络构建方案设计和实现 学院: 班级: 姓名: 指导教师: 第一部分 具体设计任务 (1)题目:校园网网络构建方案设计与实现 (2)任务: 某高校现有两个地理位置分离的分校区,每个校区...

    基于J2EE框架的个人博客系统项目毕业设计论文(源码和论文)

    在系统设计和开发过程中,要充分考虑系统当前和将来可能承受的工作量,使系统的处理能力和响应时间能够满足信息处理的需求。 2、 系统的开放性和系统的可扩充性:系统在开发过程中,应该充分考虑以后的可扩充性。...

    基于J2EE框架的个人博客系统项目毕业设计论...

    在系统设计和开发过程中,要充分考虑系统当前和将来可能承受的工作量,使系统的处理能力和响应时间能够满足信息处理的需求。 2、 系统的开放性和系统的可扩充性:系统在开发过程中,应该充分考虑以后的可扩充性。...

    俏微博系统 1.0

    俏微博基础架构采用世界上最流行的web编程组合PHP+MySQL实现,是一个经过完善设计,适用于各种服务器环境的高效微博系统解决方案。 俏微博特色: 强大而完善的功能: 1:俏微博加入了及时通讯系统,可以随时跟...

    软件分析建模与PowerDesigner实现.part1.rar

    本书系统地介绍了业务建模、数据建模和应用程序建模的方法和过程,通过PowerDesigner的实现,使读者全面掌握软件分析建模的思想,是软件工程师学习软件分析、建模的入门教材。PowerDesigner 12.5集中体现了软件分析...

Global site tag (gtag.js) - Google Analytics