图3.1工作流流程定义工具的基本框图
3.2  工作流流程定义工具中的基本类
工作流流程定义工具的新建和修改流程功能,主要基于javasript在客户端完成,当建模人员完成建模后保存数据,则一方面将生成流程文件,该模型文件基于jPDL规范,以XML文件形式储存,实现上是由浏览器将数据提交到服务器后使用struts处理完成。
本系统流程定义语言DL的组成元素主要有process-definition(流程定义)、普通节点common node、node(自动节点)、start-state(开始状态)、end-state(结束节点)、state(状态)、task-node (任务节点)、fork(分支)、join(联合)、decision(决策)、transition(转换)、variable(变量)、task(任务)、assignment(委派)等。在JBPM工作流系统中,流程设计中会涉及到诸多的类,本文所设计的流程定义子系统所涉及的主要的类有以下一些:
    jPDL.toolBar: 是左侧表示元素图标的工具栏。
    jPDL.toolBar.barElement: 表示toolBar中每个元素菜单,负责处理鼠标对本元素的点击、移动以及在画板中新元素的生成。
    jPDL.Model:  画板类,用于管理流程图中所有的元素。
    jPDL.Shape:  图形的基类。
    jPDL.Rect:   派生于jdpl.Shape, 是临时元素对应的显示图形(矩形)。
    jPDL.TempRect: 派生于jPDL.Rect, 临时元素节点。
    jPDL.line,DL.Edge, jPDL.TempEdge,构建出箭头和连线时的临时箭头。
    jPDL.RoundRect: 派生于jPDL.Shape, 是元素对应的显示图形,圆角矩形。
    jPDL.Node: 派生于jPDL.RoundRect, 其中包含了记录元素与周围元素关系的向量数组信息。
接下来的实际的元素类都派生于jPDL.Node类。
    jPDL.ele.start:    start元素类
    jPDL.ele.end:      end元素类
    jPDL.ele.fork:     fork 元素类
    jPDL.ele.join:     join元素类
    jPDL.ele.decision: decision元素类
    jPDL.ele.task:     task 元素类
    jPDL.ele.cancel:   cancel 元素类
    jPDL.ele.error:    error 元素类
图3.2 节点说明
3.2.1 start-state(开始状态)
start-state是我们整个流程的开始节点,所有的流程实例从这里开始。
名称    类型    数量    描述
Name    属性    可选的    节点的名称。
Task    元素    [0..1]    起始一个流程实例的任务,或者用来捕获流程发起者
Event    元素    [0..*]    支持的事件类型:{node-leave}。
transition    元素    [0..*]    离开转换,每个离开节点的转换必须有一个不同的名称。
exception-handler    元素    [0..*]    一个异常处理器列表,用于这个流程节点中的委托类所抛出的所有异常。
实现代码如下
jPDL.ele.start=jPDL.extend(jPDL.Node,{
    content:{Name:"input",Description:"textarea"},
3.2.2 end-state(结束节点)
对于每一个流程定义都会有一个结束节点,与开始节点对应
名称    类型    数量    描述
Name    属性    必需的    结束状态的名称。
上一篇:Lucene桌面搜索引擎的设计与实现
下一篇:基于改进FCM聚类的复杂网络节点重要性评估方法

基于Apriori算法的电影推荐

PHP+IOS的会议管理系统的设计+ER图

数据挖掘在电子商务中的应用

数据挖掘的主题标绘数据获取技术与实现

基于PageRank算法的网络数据分析

基于神经网络的验证码识别算法

基于网络的通用试题库系...

国内外图像分割技术研究现状

C#学校科研管理系统的设计

中国学术生态细节考察《...

承德市事业单位档案管理...

志愿者活动的调查问卷表

AT89C52单片机的超声波测距...

神经外科重症监护病房患...

医院财务风险因素分析及管理措施【2367字】

公寓空调设计任务书

10万元能开儿童乐园吗,我...