`
jbpm-x
  • 浏览: 48699 次
  • 性别: Icon_minigender_2
  • 来自: 大连
社区版块
存档分类
最新评论

流程模型

阅读更多

作者:我想我是海

 1概述
一个流程定义是对一个业务流程的正式说明,以及它是基于有向图的。该图是结点(node)与流向(transition)的组合。图中每一个结点都是一个特殊的类型,结果的类型决定了该结点的运行时的行为。一个流程定义有且仅有一个开始状态。
一个令牌(token)是执行的轨迹。令牌是一个运行时的概念,其维护着速个图中指向结点的指针。
一个流程实例(process instance),是流程定义的一次执行过程。当流程实例被创建 ,一个令牌被创建,该令牌叫做这个流程实例的根令牌并处于这个流程实例的开始状态。
信号(signal)命令令牌继续执行,当接收到一个未命名的信号时,一个令牌将通过默认的“离开流向”离开当前结点,如果该信号有明确命名,令牌将通过指定的流向离开该结点。给流程实例发送命令是由令牌来代理。
当令牌进入结点后,结点会被执和,结点本身负页让流程继续,而让流程继续就是让令牌离开当前结点,每个结点类型可以实现不同的动作来让流程继续。一个结点如果不继续执行则可以看作是一个状态。
动作(Action)是在执行流程的时候事件触发执行的Java代码,图是软件需求的重要表达方式,但是图只是一个软件的视图,它隐藏了许多技术的细节。动作就是把技术细节隐藏在图以外的一种 机制。动作可以装饰图。主要的事件有:进入一个结点,离开一个结点,开始一个流向等。

2流程图
流程定义的基本设施是由结点及流向组成的图。那些信息是由一个叫processdefinition.xml的XML文件来定义的,每个结点有自已的类型,如状态、选择、分支、合并。每个结点有自已的流向集,每个流向有其唯一的名称。如,下面一幅图是一个JBAY拍卖流程的流程图:

下面是其对应的processdefinition.xml

代码
  1. <process-definition>  
  2.   
  3.   <start-state>  
  4.     <transition to="auction" />  
  5.   start-state>  
  6.      
  7.   <state name="auction">  
  8.     <transition name="auction ends" to="salefork" />  
  9.     <transition name="cancel" to="end" />  
  10.   state>  
  11.      
  12.   <fork name="salefork">  
  13.     <transition name="shipping" to="send item" />  
  14.     <transition name="billing" to="receive money" />  
  15.   fork>  
  16.      
  17.   <state name="send item">  
  18.     <transition to="receive item" />  
  19.   state>  
  20.   
  21.   <state name="receive item">  
  22.     <transition to="salejoin" />  
  23.   state>  
  24.      
  25.   <state name="receive money">  
  26.     <transition to="send money" />  
  27.   state>  
  28.   
  29.   <state name="send money">  
  30.     <transition to="salejoin" />  
  31.   state>  
  32.      
  33.   <join name="salejoin">  
  34.     <transition to="end" />  
  35.   join>  
  36.      
  37.   <end-state name="end" />  
  38.      
  39. process-definition>  
<script type="text/javascript">render_code();</script>

3结点
流和图由结点及流向组成,更多的图及执行模型,见第四章,面向图形编程。
结点有类型,结点的类型决定了在运行时,执行进入到一个结点时发生的事情。JBPM有一系列的预置结点类型供我们使用。同时,你可以自已定义自已的结点类型。

3.1结点的责任
结点有两个主要的责任,一,可以执行Java代码,通常这些Java代码与该结点的功能有点,如创建一个任务实例,发送一个通知,更新数据库,二,结点负责传播流程,即使流程可继续执行,概括地说,结点在传播流程时有下面一些选项:
* 1 不传播流程,这种情况下该结点表现为一个等待状态。
* 2 执行其中一个流向,流开当前结点。也就是说令牌在进入该结点的时候被程序要求执行一个流向流开:executionContext.leaveNode(String)。该结点表现为自动结点,它可以执行一些自定义逻辑并且继续流程而不需要等待。
*3 创建新的执行轨迹,结点可以决定创建新的令牌。每一个新令牌代表一个新的执行轨迹且可以在结点的流向中加载。一个好的示例就是分支结点。
*4 执行轨迹的结束点。结点可以决定结束一个执行轨迹。意味着令牌被终止、执行轨迹完成。
*5 通常,结点可以改变流程的整个运行时结构,运行时结构是指包括一系列的品树形分布的令牌。每个令牌代表一条执行轨迹,结点创建或结束令牌,通过流向把令牌放到一个结点
JBPM包括 -- 像所有的工作流和BPM引擎一样-- 一系列的预置的结点类型,有文档描述
它们的配置和行为。但是JBPM和面向图形编程基金会最难得的一点是我们对开发者开放模型,开发者可以自定义结点行为并易于在流程中使用。
传统的工作流和业务流程管理系统很相像的时,他们通常提供合适的结点集合(称为流程语言),他们的流程语言是封闭的,并且执行模型是隐藏在运行环境之后。查找工作流模式结果表明,光有流程语言是不足够的。我们选择一种简单的模型并允许开发者写自已的结点类型。JPDL流程语言是开放的。

分享到:
评论

相关推荐

    数据挖掘流程模型

    ### 数据挖掘流程模型详解 #### 一、引言 数据挖掘是一种从大量数据中提取有用信息的过程,近年来因其在商业决策、科学研究等领域的广泛应用而受到广泛关注。为了规范数据挖掘的操作流程,提高数据挖掘项目的成功...

    基于多级创新的概念设计过程模型

    通过深入分析这些知识点,设计者们可以更好地理解基于多级创新的概念设计过程模型,以及它在实际产品设计中的应用。这不仅有助于在设计实践中采用更全面和系统的创新方法,也有助于提高设计效率和产品创新的质量。

    软件工程-软件过程模型.ppt

    软件工程中的软件过程模型是指导软件开发的重要框架,它描述了软件从概念形成到最终废弃的各个阶段及其相互关系。本篇文章将详细探讨几种常见的软件过程模型,包括瀑布模型、快速原型模型、演化模型(增量模型和螺旋...

    基于粒子群优化算法的过程模型辨识

    参数辨识是过程建模的基础,提出了一种基于粒子群优化(PSO)算法的模型参数辨识方法,将过程模型的每个参数作为粒子群体中的一个粒子,利用粒子群体在参数空间进行高效并行的搜索来获得过程模型的最佳参数值,可有效提高...

    BPMN 2.0 - 业务过程模型和符号(中文版).pdf

    BPMN 2.0 业务过程模型和符号 BPMN 2.0 是业务过程模型和符号的国际标准,用于描述和分析业务过程。它提供了一种通用的符号和规则来描述业务过程,从而帮助业务分析师、开发人员和业务用户之间的沟通和协作。 业务...

    企业流程模型 VSD

    企业流程模型,对与企业项目管理非常有用.

    软件生命周期与软件过程模型

    软件生命周期与软件过程模型 软件生命周期 软件过程模型 瀑布模型 演化模型 增量模型 原型模型 螺旋模型 (风险分析) 喷泉模型 总结

    软件系统模型3-信息处理过程模型

    信息处理过程模型则是这类模型的一个关键组成部分,它关注的是数据如何在系统中流动、转换和存储。在这个主题下,我们将深入探讨信息处理过程模型的概念、构建方法以及其在实际软件开发中的应用。 信息处理过程模型...

    Prince2项目管理流程模型图

    Prince2项目管理流程模型图

    ArcGIS教程:使用表示模型和过程模型解决空间问题

    首先,我们来看两种主要的模型类型:表示模型和过程模型。 表示模型专注于地表对象的描绘,如建筑物、河流、森林等。在 GIS 中,这些模型通过数据图层(栅格或要素)来创建。栅格图层由一系列格网像元组成,每个像...

    [Paper2]时态工作流过程模型及其合理性验证1

    总的来说,这篇论文通过建立时态工作流过程模型,解决了工作流程中时间管理的难题,并提供了模型的健全性验证方法,对于提高工作流产品的性能和灵活性具有显著的贡献。其研究成果为时态工作流理论的发展和完善奠定了...

    碳过程模型DNDC

    **碳过程模型DNDC** DNDC,全称为DeNitrification-DeComposition,是一种用于模拟农田生态系统中碳(C)和氮(N)循环以及温室气体排放的高级过程模型。该模型由我国科学家研发,旨在深入理解并预测农业管理对全球气候...

    基于P_T系统化简方法的工作流过程模型验证

    袁崇义 根据改进的工作流过程元模型,研究并提出了一种基于P/T系统的工作流过程模型过程网.基于过程网给出了一组化简规则,用于验证过程模型中的死锁和乏同步两种结构冲突

    基于“房式”流程模型和“y式”流程模型的企业业务流程架构梳理优化方案.pptx

    ### 基于“房式”流程模型和“Y式”流程模型的企业业务流程架构梳理优化方案 #### 业务流程优化方法论和模型的关系 在现代企业管理中,业务流程优化被视为提升企业竞争力的关键手段之一。它不仅涉及到流程本身的...

    企业培训成果转化及其过程模型的构造.pdf

    企业培训成果转化及其过程模型的构造.pdf

    软件工程过程模型.ppt

    软件工程过程模型 软件工程过程模型是软件工程的核心内容之一,它定义了一组关键过程域,用于管理和控制软件工程项目。软件工程过程模型是软件工程的基层,包括技术层和管理层两个方面。技术层是软件工程的基础,...

    工作流平台中动态流程模型

    - **流程完整性验证:**DSP模型提供了一套规则用于约束子流程节点的展开过程,从而保证流程定义的完整性。 - **动态性增强:**DSP模型允许在流程执行过程中动态地插入或替换子流程节点,提高了整体的灵活性。 **3. ...

Global site tag (gtag.js) - Google Analytics