论坛首页 Java企业应用论坛

先发一个流程描述文件上来,看看大家对这个有没有什么好的意见(这是自己的项目中需要用到的,它包含两部分:流程编辑器和工作流系统)

浏览 4470 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2010-09-14   最后修改:2010-09-15

这个是现阶段的流程描述文件,也就是前面 

jquery 简易的流程图编辑控件 新版(20100907)

所使用的流程描述文件

 

<?xml version="1.0" encoding="utf-8" ?>

<workflow name="李四的升职申请" state="draft" type="leave">
	<!-- 针对整个流程的transitions -->
	<transitions>
		<!-- 元素名称为action,也就是用户的具体操作,比如 send(发送),intermit(中断),sendback(回退) -->
		<default from=".*" to="waiting"><!-- 这里写expression,返回的结果必须为boolean类型,如果为空,则视为true 
				,目前支持的表达式为IK Expression,关于IK Expression 表达式的相关信息还是自己去网上搜吧,挺好找的;以后会逐步的增加其他的表达 
				式语言支持,比如EL,比如js ; 关于超时的问题,状态机的默认实现为 6s,超过6s状态机会抛出TimeoutException; default 
				是状态机的规约,也就是说如果状态机再匹配不到action的情况下会使用default 的实现,以后可能会加入更加灵活的规约方式; 比如 “draft*”就可以规约到任何以draft开头的任意action上面 
				;from 目前也只是支持 “.*” 的规约方式,也会考虑更加的灵活 -->
		</default>
		<draft from="draft" to="draft" />
		<startup from="draft" to="waiting" />
	</transitions>

	<steps>

		<!-- 针对所有step定义的默认transitions -->
		<transitions>
			<send from=".*" to="actived" />
			<intermit from="actived" to="intermit" />
			<sendback from="waitting" to="waitting" />
		</transitions>

		<!-- 步骤现在模式为 main1 - main2 - main3 - .... ,这是主流程,在一些事业机构中,一般认为承办步骤,每个主流程的节点下面, 
			可以跟随若干个read步骤,也就是呈阅步骤 ,至于更加强大的步骤关系,目前还没有考虑加入,原因是还没有找到更好的描述结构的方式, WEB UI编辑器 
			没有开发也是一个主要的原因 -->
		<step id="1" name="办公室审批" type="main" actorType="user"
			state="waitting,actived,passed" actorName="李主任" cond="$result">

			<!-- 针对单个step定义的transitions,会根据 action ,from ,to 三个条件为标准覆盖默认定义 -->
			<transitions>
				<send from="waitting" to="2" />
			</transitions>

			<step id="2" name="部长审批" type="main" actorType="user" state="waitting"
				actorName="王部长" cond="$result">

				<step id="4" name="人事执行" type="main" actorType="dept" state="waitting"
					actorName="人事部门" cond="$result">
					<step id="6" name="存档" type="main" actorType="system" state="waitting"
						actorName="系统" cond="$result" />
				</step>

				<step id="5" name="为人事准备材料" type="read" actorType="user" state="waitting"
					actorName="李四" cond="$result" />
			</step>

			<step id="3" name="部长审阅" type="read" actorType="role" state="waitting"
				actorName="部长角色" cond="$result" />
		</step>
	</steps>
</workflow>

 

 

欢迎拍砖,状态机的代码很快也会发出来

   发表时间:2010-09-15  
这个XML的解析模块是自定义还是应用其它的比如说XPDL或者BPEL的?
0 请登录后投票
   发表时间:2010-09-15  
comsci 写道
这个XML的解析模块是自定义还是应用其它的比如说XPDL或者BPEL的?

目前属于自定义,只是为了满足自己的项目需要,如果有可能的话,我会考虑向标准靠拢~~
0 请登录后投票
   发表时间:2010-09-16  
内部使用没有必要向标准靠拢吧。。。
0 请登录后投票
   发表时间:2010-09-16  
没大看懂楼主的意思
0 请登录后投票
   发表时间:2010-09-16  
comsci 写道
内部使用没有必要向标准靠拢吧。。。


有需要的话会考虑开发转换工具,暂时是内部使用... 所以还没有精力弄
0 请登录后投票
   发表时间:2010-09-16  
darwintest 写道
没大看懂楼主的意思

就是工作流的流程定义文件,无他
0 请登录后投票
   发表时间:2010-09-17  
workflow?楼主能不能把你的环境和配置发我一份?
Email:hunnuxiaobo@gmail.com
0 请登录后投票
   发表时间:2010-09-17  
hunnuxiaobo 写道
workflow?楼主能不能把你的环境和配置发我一份?
Email:hunnuxiaobo@gmail.com

不好意思,现在还在开发中,开发完成后我会发给你的....(大概一个月内)...
0 请登录后投票
   发表时间:2010-09-20  
你可以参考下JWFD引擎的设计思想(下载)
http://files.cnblogs.com/comsci/jwfdv0.96.3%e5%b7%a5%e4%bd%9c%e6%b5%81%e7%b3%bb%e7%bb%9f%e5%bc%80%e5%8f%91%e5%8c%85ECLIPSE.rar
0 请登录后投票
论坛首页 Java企业应用版

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