- 1、本文档共22页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
JBPM流程建模
9.1 综述
流程定义(process definition)基于有向图表示了一个业务流程的规格化描述。图是由节点(node)和转换(transition)组成的,图中每个节点都有一个特定类型,节点的类型定义了运行时的行为。一个流程定义只能有一个开始状态。
令牌(token)是一个执行路线。令牌是运行时概念,它维护了一个指向图中节点的指针。
流程实例是(process instance)流程定义的执行。当一个流程实例创建后,一个令牌也为执行的主要路线创建了,这个令牌被称为流程实例的根令牌(root token),它被定位于流程定义的开始状态。
信号(signal)指示令牌继续图的执行。当令牌接收到一个没有命名的信号,它会经由缺省的离开转换离开它的当前节点;当一个转换名称在信号中被指定时,令牌会经由指定的转换离开节点。发送到流程实例的信号被委托给根令牌。
令牌进入节点后,节点被执行。节点自己有责任让图继续执行,图的继续执行是通过让令牌离开节点完成的。每个节点类型为了图的继续执行可以实现不同的行为,如果一个节点不能传播图的执行,则被表现为一个状态。
动作(Action)是在流程执行中的事件上被执行的java代码片断。在软件需求中,图是信息交流的一个重要手段,但是图只是将要生产的软件的一个视图(影像),它隐藏了很多技术细节。动作是在图的表示之外添加技术细节的一种机制,一旦图被做好,它可以由动作来修饰。主要的事件类型有:进入节点、离开节点、执行转换。
9.2 流程图
基本的流程定义是一个由节点和转换组成的图,这些信息在processdefinition.xml中表示。每个节点都有一个类型,如state、decision、fork、join等;每个节点有一组离开转换,可以给离开节点的每个转换一个名称来区分它们。例如:下图显示了jBay拍卖流程的流程图。
图 9.1拍卖流程图
下面是jBay拍卖流程图的xml表示:
process-definition
?
?start-state
??? transition to=auction /
?/start-state
?
?state name=auction
??? transition name=auction ends to=salefork /
??? transition name=cancel to=end /
?/state
?
?fork name=salefork
??? transition name=shipping to=send item /
??? transition name=billing to=receive money /
?/fork
?
?state name=send item
??? transition to=receive item /
?/state
?
?state name=receive item
??? transition to=salejoin /
?/state
?
?state name=receive money
??? transition to=send money /
?/state
?
?state name=send money
??? transition to=salejoin /
?/state
?
?join name=salejoin
??? transition to=end /
?/join
?
?end-state name=end /
?
/process-definition
9.3 节点
流程图是由节点和转换组成的,有关图的以及它的扩展模型的更多信息,请参考“第4章 面向图的编程”TODO。
每个节点有一个特定类型,节点类型决定了在运行时执行到达节点时将发生什么。Jbpm有一组你可以使用的预定义的节点类型,另外,你也可以编写定制代码来实现你自己指定的节点行为。
9.3.1 节点责任
每个节点都有两个主要责任:首先,它可以执行普通java代码,典型情况下,java代码与节点功能是相关的,例如:创建一些任务实例、发送一个通知、更新一个数据库等;其次节点要负责传播流程执行。基本上来说,每个节点在传播流程执行时有以下几个可选方式:
1.不传播执行。这种情况下节点表现为一个等待状态。
2.经由节点的某个离开转换传播执行。这意味着到达本节点的令牌使用API调用executionContext.leaveNode()经由某个离开转换被传递,这时节点作为一个自动节点,它可以执行一些定制的程序逻辑然后自动继续流程执行,而没有等待。
3.创建一个新的执行路径。节点可以决定创建新的令牌,每个新的令牌表示一个新的执行路径,并且每个令牌可以通过节点的离开转换被启动。这种行为的一个很关好的例子就是fo
您可能关注的文档
- ERP管理软件应用实训报告.doc
- ERP管理信息系统简答题(期末复习).doc
- ERP环境下企业财务管理系统研究.doc
- ERP课程总结---丁雪.doc
- ERP沙盘模拟感想论文.doc
- ERP沙盘模拟培训心得-王军恒.doc
- ERP沙盘协会简介.doc
- Excel VBA实例教程 #003:获得指定行、列中的最后一个非空单元格.docx
- Excel表格在财务会计的应用基本操作.doc
- eycazxq注册_会计师考试经验大全.doc
- 结构专业基础考试一级-一级注册结构工程师《专业基础》模拟试卷2.docx
- 结构专业考试二级-二级注册结构工程师《专业考试》押题密卷1.docx
- 结构专业考试二级-二级注册结构工程师《专业考试》押题密卷2.docx
- 年度之EHS个人年底工作总结.pptx
- 结构专业考试一级-2018年一级注册结构工程师《专业考试》下午真题.docx
- 结构专业考试二级-二级注册结构工程师《专业考试》模拟试卷4.docx
- 结构专业考试二级-二级注册结构工程师《专业考试》模拟试卷3.docx
- 结构专业考试一级-2019年一级注册结构工程师《专业考试》上午真题.docx
- 结构专业考试一级-2021年一级注册结构工程师《专业考试》上午真题.docx
- 结构专业考试一级-2021年一级注册结构工程师《专业考试》下午真题.docx
文档评论(0)