jbpm用户手册-Chapter 9. Process Modelling---90%

本文详细介绍了jbpm过程模型,包括流程定义基于定向图的表示、令牌(token)的概念、过程实例(process instance)的创建、节点(node)和变迁(transition)的作用、信号(signal)的处理以及节点执行和活动(action)的触发。还提到了常用节点类型如工作节点、状态节点、判断节点、分叉节点、连接节点和自定义节点,以及变迁和事件(event)的处理。通过对processdefinition.xml的描述,展示了jbpm的灵活性和可扩展性。
摘要由CSDN通过智能技术生成

过程模型

9.1. Overview
        流程定义主要基于定向图表示了一个商业流程的规范。定向图包括了节点node和变迁transition。有很多类型的节点,节点的类型定义了运行时的行为,流程定义有且只有一个开始状态。
       令牌token是一个执行的路线,token是一个运行时的概念,用来维护图中指想节点的指针
       过程实例process instance是一个过程定义的实现,process instance建立后,一个令牌也为主要执行路线建立了. 这个令牌称为这个流程实例的根令牌,它的位置处于流程定义的开始状态。
       信号signal通知token继续graph的执行。当接收到一个匿名的signal,token将通过默认的transition离开当前node;当接收到一个指定的信号,token将通过指定的transition离开node。信号发给一个被委托给根令牌的流程实例。
      当一个token到达node,node将执行,节点自己有责任延续图执行。图执行的连续是通过让令牌离开节点来完成的。不同类型的node有不同的执行方式,不能传递执行的node叫做状态state节点。
      活动action是过程运行期间由事件event触发的执行(一段java代码),图是软件需求沟通的一种工具,图仅仅是软件的一个视图,他隐藏了很多细节。action则在图外部增加了很多细节,一旦图放在某个地方,它可有动作来修饰,同时加入action不会影响图本身的结构。主要的event包括进入节点、离开节点、执行事务 。

9.2. Process graph
     最基本的过程定义是包含了节点和变迁的图,可以通过processdefinition.xml描绘。节点有很多类型如:state, decision, fork, join,... 每个节点又对应一组变迁,变迁通过命令来区分,如下是一个拍卖的过程图和对应的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. Nodes
     jbpm提供了一组现成的节点类型给我们使用,同时,我们也可以自己实现自定义的节点类型。
     节点的职责,每个节点有2个职责,首先,节点可执行,可执行一定的功能如建立任务实例、发送信息、更新数据库;其次,可以将过程执行进行传播,传播的过程分为几种情况:

  • 执行没有传播,这是一个等待状态wait state。
  • 通过执行节点的一个离开转换来传播执行. 令牌到达节点是通过一个离开转换API executionContext.leaveNode(String). 现在节点作为可执行一些定制程序逻辑及不用等待连续流程执行的自动节点。
  • 建立一个新的执行路线,即节点建立了一个新的令牌,每个新令牌代表了一种新的执行路线,这个新建的令牌将自动跨过变迁。比如一个分叉fork节点。
  • 执行的结束ÿ
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值