面向jPDL的工作流流程定义工具设计(6)_毕业论文

毕业论文移动版

毕业论文 > 计算机论文 >

面向jPDL的工作流流程定义工具设计(6)


 
图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    属性    必需的    结束状态的名称。 (责任编辑:qin)