资源描述:
《jwfdv0.96工作流引擎数据库结构说明》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、JWFDv0.96工作流系统设计文档(二)数据库结构说明-----–bycomsci2010--10-5(最新更新)QQ:784092877(加好友请注明JWFD)EMAIL:comsci@163.netCOMSCI博客:http://comsci.javaeye.comJGraph介绍:关于JGraph,open-open上是这样介绍的:JGraph,纯Java开发的图形组件,支持拖,放,缩放,合并等其它操作。它可以被结合到任何的Swing应用程序当中。什么是状态机 就是状态转移图。举个最简单的例子。人有三个状态健康,感冒,康复中。触发的条件有淋雨(t1),吃药(t2
2、),打针(t3),休息(t4)。所以状态机就是健康-(t3)-〉健康;健康-(t1)-〉感冒;感冒-(t3)->健康;感冒-(t2)-〉康复中;康复中-(t4)-〉健康。等等。就是这样状态在不同的条件下跳转到自己或不同状态的图。介绍:本项目是一个利用JGRAPH和SWING实现的工作流程设计与运行管理程序,其数据结构和流程算法均是自己设计的,没有使用XPDL等工作流规范文件,而是使用的最简单的XML(GXL)格式,没有状态机的概念而是使用的自定义图形遍历算法来驱动这个流程…主要的操作是在数据库方面,这样做仅仅是降低了工作流管理系统的技术门槛,便于初学者入门并从感性上理解什
3、么是工作流技术,但是在实际应用上和真正的商业工作流产品还有较大的差距V0.96版本介绍JWFD是由我在04年开始设计并开发的一套包括基于JGRAPH开源软件的流程设计器和建立在图形自定义数据结构基础上面的流程引擎的工作流软件系统,在随后的几年中,由于工作和其它一些技术原因,对JWFD的更新一直都停留在局部BUG的修正上面,对核心引擎算法没有进行什么大的改进,这几年国内的流程产品层出不穷,技术水平不断提高,为适应这种发展的情况,我利用在08和09年在完成某项目的机会,对JWFD在面对各种实际项目中所体现出来的缺陷进行了修改,对引擎算法进行了大幅度的修正,新增加了增强流程引擎
4、功能的算法,加入了自定义嵌入式脚本解析工具(基于ANTLR3.0开发,脚本功能可能要少些),增加了流程设计器的流程代码编辑功能,增加了简易流程引擎调试工具,对数据库的表结构也做了一定的调整,精简了几张不需要的表,同时增加了主控制结构表的字段,为方便流程设计的初学者,我在不删除旧数据结构说明的基础上面,从新添加新版本数据结构的说明,这样可以使朋友们很容易的从简单的结构入手,再深入到新版本的结构中去。。。。目前的数据库结构总览(JWFDv0.96数据库结构):(下面这两段话是描述的jwfdv0.94之前的数据结构,用户可以跳过不看)JWFD曾经使用表一共12张,分别是:用户权
5、限部门管理类一共三张表:'department','department_level','departmentmember'用户表类两张:user和user_group(以上的表都不是核心结构,可要可不要,但是做为一个完整的程序,还是应该考虑的…这些表是用户和权限控制的基础数据结构)(上面的六张表由于和实际应用项目开发关系过于密切,在JWFD的新版本中已经完全被放弃不用了,JWFD只是一个用于学习的工作流系统,我只关心流程核心的运行控制和处理问题,对于项目和产品应用的外围数据结构,比如说表单等数据结构,我在这里暂时不关心,这些工作是交给项目实施者和商业产品开发者考虑的工作
6、)流程运行控制表一共五张表:'edge_control',flow_manager','route_control','step_detail','step_main',文档管理类:一张表:documentv0.94版本之前的数据库总体结构(下面的内容是描述jwfdv0.96的数据库结构)v0.96版本的数据库总体结构目前所有的表,其中只有4张表对于流程引擎来讲比较重要(它们分别是edge_control',flow_manager','route_control','step_main'),也需要重点说明,其它的表在系统中使用率不高,甚至根本没有使用,只是用于给用户进行
7、自定义扩展的时候使用的,大家一看就懂。最新的v0.96版本中,一共有5张表都已经废弃了,原因是由于在jwfd的设计过程中,会出现各种不同的应用,作为JWFD的设计者,我无法完全掌握用户自定义的需求,所以只给用户提供了扩展的接口,具体的应用还是需要用户自己去设计和实现的。。。流程图数据结构--实际流程建模数据是由XML文件导入数据库,请看下例文章了解XML数据结构,JWFDv0.96工作流系统开发包简要说明.docJWFDv0.96工作流XML结构说明.doc表名:step_main(流程图节点属性主表)该表和edge_cont