`
deepthink
  • 浏览: 56815 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

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

阅读更多

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

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>

 

 

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

分享到:
评论
10 楼 comsci 2010-09-26  
我将在近期放出一篇JWFD的流程建模的详细说明文档,有兴趣的朋友可以参考下JWFD的XML文件的格式及其数据结构
9 楼 comsci 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
8 楼 deepthink 2010-09-17  
hunnuxiaobo 写道
workflow?楼主能不能把你的环境和配置发我一份?
Email:hunnuxiaobo@gmail.com

不好意思,现在还在开发中,开发完成后我会发给你的....(大概一个月内)...
7 楼 hunnuxiaobo 2010-09-17  
workflow?楼主能不能把你的环境和配置发我一份?
Email:hunnuxiaobo@gmail.com
6 楼 deepthink 2010-09-16  
darwintest 写道
没大看懂楼主的意思

就是工作流的流程定义文件,无他
5 楼 deepthink 2010-09-16  
comsci 写道
内部使用没有必要向标准靠拢吧。。。


有需要的话会考虑开发转换工具,暂时是内部使用... 所以还没有精力弄
4 楼 darwintest 2010-09-16  
没大看懂楼主的意思
3 楼 comsci 2010-09-16  
内部使用没有必要向标准靠拢吧。。。
2 楼 deepthink 2010-09-15  
comsci 写道
这个XML的解析模块是自定义还是应用其它的比如说XPDL或者BPEL的?

目前属于自定义,只是为了满足自己的项目需要,如果有可能的话,我会考虑向标准靠拢~~
1 楼 comsci 2010-09-15  
这个XML的解析模块是自定义还是应用其它的比如说XPDL或者BPEL的?

相关推荐

    bps_demo普元流程开发例子

    【标题】"bps_demo普元流程开发例子"是基于BPS(Business Process Service)平台的一个实战项目,旨在帮助初学者理解和掌握如何在普元BPS系统中进行流程开发。这个项目采用BPS621版本,同时结合了Struts和Hibernate...

    自己写的VB.NET带进度条的文件复制功能组件(包括目录)调用请看说明

    我是个新手 在网上找了很久就没找到这样的一源码,结果自己狠心好好学习写一个,估计是技术太简单了吧,但是不知道为什么网上就没多少这样的共享资源,今天我把它穿上来分享给大家,很粗糙但是很实用。 调用方法: ...

    SAP 业务流程大全(2)

    的确是顾问的基本功,但如果要从SAP业务顾问提升到另一个层次,无论是方案架构师、项目经理,还是管理咨询、业务流程专家(BPX, Business Process Expert),都需要对企业架构、组织功能和业务流程等内容有一个全面...

    VS修改可执行文件(.exe)的详细信息

    在Windows操作系统中,可执行文件(.exe)的详细信息包含了许多元数据,例如应用程序的图标、文件描述、文件说明、文件版本、产品版本、产品名称以及版权等。这些信息通常用于标识软件的作者、版本及版权信息,帮助...

    pb实现http文件下载功能--源代码 可以直接使用

    7. **自动化升级流程**:在软件自动升级场景中,通常会先向服务器发送一个请求获取最新的版本信息,然后根据版本号比较判断是否需要下载更新。如果需要,再调用HTTP文件下载功能。 8. **安全性考虑**:在实现HTTP...

    spring-springMVC-mybatis项目

    那下面有两个文件名一样的,一个是java文件,一个是xml文件,java文件是定义方法名,xml文件是让你写具体的数据操作方法的,格式就是这样,你看看就能懂,你只需要这样写,这个框架就可以识别,吧你在xml中写的...

    一个漂亮的VC++登录界面,先看看演示图吧,是不是很美观,像是使用了控件,其实没有用,都是基于C++的代码完成的,这只是一个方法举例,学会了就能举一返三,完成更大、更漂亮的综合窗体应用程序来。

    描述中的“这只是一个方法举例”表明这个登录界面示例是为了教学目的,旨在展示如何使用C++来构建GUI应用。学习这个示例可以帮助开发者掌握创建自定义界面的基本技巧,从而能够扩展到更大的项目,比如开发包含更多...

    微信支付demo所需要用到的4个js

    除了这两个加密库,我们还提到了一个文件列表:`wxpay-jsapi-demo-js`。这可能是一个包含所有微信支付JSAPI相关脚本的文件夹或者压缩包,它可能包含了`jweixin-1.6.0.js`或类似的版本号,这是微信官方提供的JSAPI库...

    C# 画流程图

    在本文中,我们将深入探讨如何使用C#编程语言来创建一个流程图软件,这将基于提供的标题和描述。C#是一种强大的、面向对象的编程语言,由微软开发,广泛应用于Windows平台上的应用程序开发,包括GUI(图形用户界面)...

    CodeBlocks组织多文件程序

    5. 完成新文件的编写后,需要将这个新文件加入到项目中。你可以通过右键点击项目名称,选择“Add files...”,然后选择你新建的文件并添加到项目中。 6. 在将文件添加到项目后,CodeBlocks会将这些文件组织到项目树...

    java源码包2

     用JAVA开发的一个小型的目录监视系统,系统会每5秒自动扫描一次需要监视的目录,可以用来监视目录中文件大小及文件增减数目的变化。 Java日期选择控件完整源代码 14个目标文件 内容索引:JAVA源码,系统相关,日历...

    JavaWeb中文件上传最强工具类

    在JavaWeb开发中,文件上传是一项常见的功能,用于接收用户通过网页上传的文件,例如图片、文档等。这里我们关注的是一个自定义的Util工具类,它特别针对Excel2007格式进行了优化,同时也兼容其他版本的Excel处理。...

    SAP 业务流程大全(3)

    的确是顾问的基本功,但如果要从SAP业务顾问提升到另一个层次,无论是方案架构师、项目经理,还是管理咨询、业务流程专家(BPX, Business Process Expert),都需要对企业架构、组织功能和业务流程等内容有一个全面...

    java源码包3

     用JAVA开发的一个小型的目录监视系统,系统会每5秒自动扫描一次需要监视的目录,可以用来监视目录中文件大小及文件增减数目的变化。 Java日期选择控件完整源代码 14个目标文件 内容索引:JAVA源码,系统相关,日历...

    java源码包4

     用JAVA开发的一个小型的目录监视系统,系统会每5秒自动扫描一次需要监视的目录,可以用来监视目录中文件大小及文件增减数目的变化。 Java日期选择控件完整源代码 14个目标文件 内容索引:JAVA源码,系统相关,日历...

    FAT32文件系统源代码及文件系统白皮书

    阅读白皮书有助于加深对FAT32的理解,对于开发自己的文件系统或者优化现有系统都非常有帮助。 总之,FAT32文件系统源代码及文件系统白皮书是一个宝贵的资源,无论是对于操作系统开发者还是对计算机系统感兴趣的爱好...

    软件界面设计工具_3款合集

    能够表示出各种控件的基本属性(如文本、位置和选中状态等),但它只是一个静态的图片,不能真实表现出每个控件的响应动作,如仅看这张图,是不清楚点击代理服务器设置分组框上的“设置…”按钮会有什么响应的。...

    VS2015需要的DLL文件

    DLL文件是Windows操作系统中的一个重要组成部分,它们包含了可被多个程序共享的代码和数据,有助于减少磁盘空间占用和内存消耗。在标题和描述中提到的"VS2015需要的DLL文件"是指VS2015运行或编译某些项目时可能依赖...

    SAP 业务流程大全(1)

    的确是顾问的基本功,但如果要从SAP业务顾问提升到另一个层次,无论是方案架构师、项目经理,还是管理咨询、业务流程专家(BPX, Business Process Expert),都需要对企业架构、组织功能和业务流程等内容有一个全面...

    atlas_athlon.dll

    首先请确认你的MATLAB的安装文件夹中子文件夹bin\win32中有如下文件:atlas_Athlon.dll(AMD系列的请用这个,我的是台式机,很多台式机都是这个),atlas_P4.dll(P4的用这个),atlas_PIII.dll(P3的用这个),...

Global site tag (gtag.js) - Google Analytics