`
antivir
  • 浏览: 95298 次
  • 来自: ...
社区版块
存档分类
最新评论

节点描述

    博客分类:
  • jbpm
阅读更多

对jBPM来讲,工作流由一些节点和用户定义的Hander组成。一个工作流从start-state开始,中间经过若干个节点(state、fork、milestone、process-state、decision和join),最后结束于end-state。节点之间通过transient来连接,指明当前节点下面要经过的节点。经过节点时,jBPM会触发相应的Hander来完成用户指定的工作。Hander包括各种事件的ActionHander;指定节点指定操作Actor的AssignmentHandler;定义节点工作的Hander,包括fork节点ForkHander,Join节点JoinHander,decision节点的DecisionHander,process-state节点的ProcessInvocationHandler。jBPM对Hander都有缺省的实现,如果用户没有指定相应Hander,jBPM就使用缺省Hander。
定义工作流程的时候,可以根据实际业务流程,先画UML状态图,然后根据活动图和jpdl编写processdefinition.xml-jBPM工作流定义文件。状态图的节点可以对应到jpdl的相应节点,比如状态对应于state、转换(分叉)对于fork。流程定义文件设计的时候,可以将一些业务处理放在Hander处理。
    jBPM节点实际上是XPDL规范中Activity的细化,是一种特殊的Activity。start-state与end-state节点,是由jBPM负责处理,jBPM从start-state节点开始工作流程,在end-state结束工作流程。


State

状态结点是一个典型的等待状态。同任务结点不同的是,状态结点不会向任务列表添加任务实例。当业务进程需要等待外部系统的干预时,这种结点是很有用的。假设如下情况:在进入该结点时,通过node-enter事件向外部系统发送一个消息,然后结点进入等待状态;当外部系统完成处理,并回送一个消息,这将导致触发一个token.signal()方法的运行,该方法重新激活正在等待的流程继续下行。


Join

相对于fork结点的分支,join结点将分支收拢。默认的行为模式是当所有的分支(由同一个fork衍生出来的分支)都到达该结点的时候,join结点将结束这些分支上的子token,并通过token上的父子关系找到上一级流程的token,将此token通过唯一的transition传播下去。如果只有分支中的部分token到达时,join结点将处于等待状态。


Decision

相当于编程语言中的判断,由DecisionHander决定下一个要经过的节点。通过自己定义DecisionHander,用户可以借助decision节点实现自动节点,即流程到这里,执行一定操作,自动进入下一个节点。

 

Fork

分支结点的作用是将单个执行流程分裂成多个并发的执行流程。默认的行为是为每个子流程生成一个子令牌,并建立子令牌和主流程根令牌之间的父子关系。

 

node

普通类结点主要用于提供用户定制自己的程序代码。普通结点拥有一个action子元素,当流程到达该结点时,这个action就会被执行。可以通过实现ActionHandler接口来执行你想要的任何代码。此外普通结点也一样要负责流程的延续。在流程图上,普通结点用来表达一个用户关心的、与业务相关的处理逻辑;相比而言Action(下文中将会提到)则允许添加业务逻辑以外的程序处理,这些程序处理在流程图上是不可见的,也是业务流程分析所不用关心的。

 
Milestone是一种特殊的节点,用于同步两个执行路径,比如执行到milestone节点后,jBPM就等待,等到另外一条路径上某个节点发出可以继续的信号后,jBPM才进入milestone的下一个节点。节点通过MilestoneReachedActionHandler来发消息。
工作流中用到的所有变量通过Variable来说明,变量类型通过type来定义。类型定义必须要继承org.jbpm.delegation.Serializer接口。变量是作为字符串存储在数据库中的,因此类型要提供与字符串类型相互转换的方法。jBPM变量的作用域是工作流本身。
流程执行到某个节点的时候,会触发节点的相应事件。事件类型包括process-start、process-end、state-enter、state-leave、state-after-assignment、milestone-enter、milestone-leave、decision-enter、decision-leave、fork-enter、fork-every-leave、join-every-enter、join-leave、transition。事件具体执行的操作,用户通过继承ActionHander接口来指定。

分享到:
评论

相关推荐

    IEC61850模型节点描述

    IEC61850模型节点描述

    3时间节点描述ppt模板免费.pptx

    3时间节点描述ppt模板免费.pptx,和箭头 文本说明框ppt模板下载的ppt模板内容其实是一样的,只是模板的风格上有些许差异,也是表示时间顺序上的三个节点,在时间节点上,还可以填上每个节点的描述。

    IEEE3机9节点潮流计算matlab代码程序

    压缩包里有IEEE3机9节点的潮流计算matlab程序,并附上节点描述表和支路描述表,只要修改这两个就行 【实例截图】 【核心代码】 0551a03d-1a83-4d43-873d-a85ed7ad2821 └── chaoliujisuan ├── branch_desc.txt ...

    基于节点尺度特征的重叠社区检测算法

    利用合理假设来量化节点尺度的期望值,基于节点描述符集和谱算法建立算法模型,从而提出一种重叠社区检测算法。该方法允许节点同时属于多个社区,在社区重叠时同样可行。通过计算验证,算法对于整体边缘密度都有效。在2...

    javascript 节点

    javascript 节点 描述 入门教程 入门指导

    通过贝叶斯网络进行洪水风险评估:适应和应对能力对降低人们风险的影响-研究论文

    危害(H)用浅蓝色节点描述,暴露(E)用绿色节点描述,脆弱性(V)用橙色节点描述,成本用黄色节点描述。 脆弱性由易感性和一些影响伤害率(75 岁以上和残疾人)、风险治理(风险意识、人均受训志愿者人数)和预警...

    IEEE3机9节点潮流计算matlab程序

    压缩包里有IEEE3机9节点的潮流计算matlab程序,并附上节点描述表和支路描述表,只要修改这两个就行

    ZigBee入网流程概述(图文形式)

    不安全加入集中式网络步骤(更详细过程请查阅相关文档)   1.协调器打开入网窗口: 2.入网设备请求关联 ...8. 协调器响应节点描述(包含cabability及stack revision,revison>=21则要更新其APS 密钥,执行步骤9,否

    BTS3900&BTS5900 V100R012C10SPC280 性能指标参考

    包含BTD3900 BTS5900相关的各项...对于指标的统计节点描述,更是图文并茂。 该文档非常有助于一线网络优化工作者在日常工作、专项工作中的支持,对于技术能力的提升、异常问题的定位与分析、信令回溯均有很大的帮助。

    论文研究-基于图像处理的焊点缺陷识别方法的研究.pdf

    采用图论的方法将爆堆块段模型抽象为节点与边的集合,用有向边连接节点与其圆周约束范围内的其他节点描述开采先后顺序,并详细介绍了CGCM模型的构建方法。基于CGCM的算法已在DIMINE数字矿山系统中实现,并应用于实际...

    Xml的添加操作与节点的描述

    XML的简单操作。控件中展示效果。 XML的简单操作。控件中展示效果。

    TR069交互协议-TR098节点定义规范

    TR098节点定义规范旨在提供一套标准化的规范,用于描述和定义TR098节点。TR098是一种用于管理家庭网关设备的协议,它定义了一组数据模型和接口,用于配置、监控和管理这些设备。 该文档主要包含以下内容: 引言:...

    利用MySQL Cluster 7.0 + LVS 搭建高可用环境

    各个节点描述: IP 描述 192.168.0.2 ndb mgm node 192.168.0.3 data node1, sql node 1, LVS DR Server 192.168.0.4 data node2, sql node 2 192.168.0.5 data node3, sql node 3 192.168.0.6 data node4, sql node...

    tr069参数节点

    tr069参数节点规范,里面对于tr069协议需求的节点,都有详细的节点规范需求描述

    mib2中节点的详细中文描述

    snmp mib2中节点的详细中文描述 系统组:system组包含以下对象集(.1.3.6.1.2.1.1): 接口组:interfaces组包含以下对象集(.1.3.6.1.2.1.2): 地址转换组:at组包含以下对象集(.1.3.6.1.2.1.3): 网际协议组:ip组包含...

    CC2531电源管理原理与方法

    1. ZDO节点描述符指定“Rx is off when idle,在f8wConfig.cfg文件中将RFD_RCVC_ALWAYS_ON设为false实现 2. 所有zstack 任务”赞同“进入睡眠模式 3. zstack各个任务都没有预定的活动 4.MAC层没有预定的活动 cc...

    linux期末试题

    linux期末试题,有很多典型的题型可供参考

    双向链表通用管理程序(添加节点、删除节点等等)

    尤其是,当用链表描述不同的数据结构时,节点结构体的定义都是不同的,这就需要为每一种链表都写一套诸如插入、删除节点之类的操作代码。 本程序就是为了解决这个问题,将双向链表的基本操作写成了一套通用程序,...

    二叉树节点ADT接口(Java算法源码)

    * 二叉树节点ADT接口 */ package dsa; public interface BinTreePosition extends Position { //判断是否有父亲(为使代码描述简洁) public boolean hasParent(); //返回当前节点的父节点 public ...

    基于链表节点实现二叉树节点(Java源码)

    * 基于链表节点实现二叉树节点 */ package dsa; public class BinTreeNode implements BinTreePosition { protected Object element;//该节点中存放的对象 protected BinTreePosition parent;//父亲 ...

Global site tag (gtag.js) - Google Analytics