面向jPDL的工作流流程定义工具设计(6)
时间:2017-05-22 20:03 来源:毕业论文 作者:毕业论文 点击:次
图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) |