`
wang_guo_qiang
  • 浏览: 112357 次
  • 性别: Icon_minigender_1
  • 来自: 青岛
社区版块
存档分类
最新评论

流程定义的层次结构

    博客分类:
  • java
阅读更多
            流程定义的层次结构

流程定义的四个层次

在下面这部分,我尝试回答这样的问题“什么是流程定义包括的内容?”。这是从各种规范和工具所使用模型的原则和概念中总结得来的,反映了大部分模型中通用的基本思想。流程定义的内容可以分为四个不同的层次:状态(state)、上下文(context)、程序逻辑(programming logic)和用户界面(UI)。

状态层

     所有状态和控制流的表述,都属于业务流程的状态层。标准编程语言中的控制流来源于Von Neuman体系。控制流定义了必须被执行的指令的顺序,控制流由我们书写的命令、if语句、循环语句等确定。在业务流程中的控制流基本与此一致。但在业务流程中不是使用命令而是使用状态作为基本元素。

    在流程中,状态 (或者说等待状态)代表了一种对外部参与者(actor)的依赖。状态的意思就像“现在X系统或某某人必须作某些事,在此等待直到参与者通知这些任务已完成”。状态定义了一种对外部提供结果的依赖。状态典型的例子是批准步骤(step)。

      流程定义中的状态也指定了执行依赖于哪个参与者。在活动图中,泳道(swimlanes)的标注代表这些参与者的名字。工作流系统使用这些信息构建任务列表,这是一般工作流系统都有的功能。如前所述,参与者可以是人也可以是系统。对于需要人参与的状态,工作流系统必须在运行时计算出具体的个人。这样的计算使工作流系统必须依赖于组织结构信息。关于这方面的一篇非常有趣的文章是在further reading section提到的“工作流应用中的组织管理”( 'Organizational Management in Workflow Applications')。

      流程定义的控制流包含一组状态和它们之间的关系。状态之间的逻辑关系描述了哪些执行路径可以同时执行,那些不可以。同步执行路径用分叉(forks)和联合(joins)建模,异步执行路径用判断(decisions)和合并( merges)建模。注意在大多数模型中,在每个状态之前都有一个隐式合并。

     UML活动图经常被用来做业务流程建模。作为一种直观和通用的表达,活动图在图形表述上有一个主要问题,就是没有区分状态和动作,它们都用活动来表示。缺少这种区分(导致状态概念的缺失)是学术派对UML活动图的主要批评。UML活动图的第二个问题是在UML2.0版中引入的。当多个迁移(transitions)到达一个活动时,以前的版本规定这是一个缺省合并(merge),在2.0版中规定这是一个需要同步的缺省联合(join)。在我看来,UML活动图的图形部分仍旧可以用来对业务流程状态层次建模,只要使用时对两条构建语义作如下的变化:

    在用图形表述业务流程时,只建模状态层(状态和控制流),不要包括动作。这意味着图形中的矩形都是状态而不是活动

    如果多个迁移到达一个状态,缺省定义为不需要同步的合并(merges)

      在流程运行过程中,工作流系统用一个令牌(token)作为指针跟踪流程的状态。这相当于Von Neuman体系中的程序计数器。当令牌到达一个状态时,它被分配给工作流系统等待的外部参与者。外部参与者可以是个人、组织或者计算机系统。我们定义流程运行的执行人或系统为“参与者”(actor)。只有在工作流系统将令牌分配给一个参与者时,才需要访问组织结构信息。工作流系统通过分配令牌构建任务列表。

上下文层

    流程上下文变量(process context variable) ,或简称变量,是与流程实例相关的变量。流程开发人员可以使用流程变量存储跨越流程实例整个生命周期的数据。一些工作流管理系统有固定数目的数据类型,另一些你可以定义自己的数据类型。

    注意变量也可以用来存放引用( references)。一个变量可以引用如数据库中的记录、网络上的文件。什么时候使用引用,取决于使用引用数据的其他应用。

    和流程变量相关的另一个令人感兴趣的方面是:工作流系统如何将数据转化为信息。工作流是用于组织内部跨越各种异构系统实现任务和数据协同的。对于业务流程中人工执行的任务,工作流系统负责从其他相关系统,如SAP、数据库、CRM系统、文档管理系统收集数据。在业务流程的每一个人工步骤,只有相关联的数据项被从异构系统中收集和计算。通过这种方式,从不同系统来的数据被转换并展现为信息。

程序逻辑层

    如前所述,动作是在流程运行过程中,工作流系统响应指定的事件(event)执行的一段程序逻辑(programming logic)。程序逻辑可以是二进制或源代码形式的、用任何语言或脚本编写的软件。程序逻辑层是所有这些软件片断和关于在什么事件发生时调用它们的信息的组合。程序逻辑的例子包括发Email、通过消息代理发消息、从ERP系统中拿数据和更新数据库。

用户界面层

    一个参与者通过向流程变量中填充数据的事件,来触发结束一个状态。比如,在请假的例子中,老板提供“同意”或“不同意”数据到流程中。某些工作流系统允许指定哪些数据可以填充到流程中,以及它们如何在流程变量中存储。通过这些信息,可以生成从用户收集信息的UI表单。基于流程定义生成用户提交表单的Web应用例子,可以访问the jBpm online demo。

分享到:
评论

相关推荐

    .net层次结构项目

    在.NET框架中,层次结构项目通常指的是具有清晰模块划分、职责分明的软件开发结构。这种结构将复杂的系统分解为多个层级,每个层级专注于特定的功能,从而实现代码的可读性、可维护性和可扩展性。以下是对".NET层次...

    流程设计、流程优化与流程管理.pptx

    流程体系的层次化包括企业流程模型、对每个流程的定义、对关键子流程的定义、对关键活动的操作规范等。例如H公司的高端流程关系图、H公司的关键业务流程结构图、H公司的集成产品开发流程等。 流程设计、流程优化与...

    业务流程的组织结构管理理念.pptx

    【业务流程的组织结构管理理念】是本次讨论的核心主题,主要涵盖了流程管理的基本理念、流程的定义和特征、流程的分类以及流程的范围与规模。这些内容对于理解如何有效管理和优化企业的运作至关重要。 首先,业务...

    MFC类层次结构.以一个简单的程序,把MFC最重要的类的层次关系仿真出来.让你已经对MFC的类层次结构了然于胸。

    在MFC的类层次结构中,`CObject` 是所有类的基础,它是所有MFC类的基类,提供了基本的对象特性,如内存管理、调试支持等。接着,`CCmdTarget` 是事件处理的基础,它扩展了`CObject`,实现了消息调度机制,使得对象...

    变量流程图.pdf

    1. **确认流程及其输入/输出**:首先,要明确流程的范围,描述流程的主要活动和任务,识别外部输入(如人员、设施、材料等)和高层次的客户输出。 2. **列出所有步骤**:详细列出流程中的每一步骤,包括增值和非增值...

    工作流程逻辑控制结构

    其中一种分类方法是基于本体的层次结构,包括顶层本体、领域本体和应用本体等。 #### 2.4 工作知识本体(Task Ontology) 工作知识本体是针对特定工作或任务领域构建的知识本体,它描述了该领域内的关键概念、属性...

    第10部分:业务流程服务接口规范.docx

    - **流程服务总体概述**:强调了服务的整体架构,包括服务的层次结构、交互模式和服务质量管理。 - **流程模型服务**:提供对流程定义的创建、查询、修改和删除等操作,支持流程模型的导入导出,以及流程模型的...

    matlab开发-视图类继承层次结构

    视图类继承层次结构是OOP中的一个重要概念,尤其是在进行图形用户界面(GUI)或者数据可视化开发时。本文将深入探讨MATLAB中视图类的继承层次结构以及如何通过`viewClassTree`函数来查看此类结构。 首先,MATLAB的...

    流程与流程优化基本知识

    - 流程定义与重定义:根据业务需求调整流程结构。 - 资源分配:确保流程执行过程中所需资源的合理配置。 - 时间安排:优化流程的时间安排,提高效率。 - 流程质量与效率测评:定期评估流程的性能指标。 - 流程...

    计算机系统的层次结构.ppt

    ### 计算机系统的层次结构 #### 一、计算机系统的组成部分与层次结构 计算机系统主要由硬件和软件两大部分组成。其中硬件部分是系统的基本资源,主要包括以下几类: - **中央处理机(CPU)**:负责执行指令,进行...

    流程架构方法论.ppt

    1. 流程框架:是一个层次化的流程结构,包括流程模块、具体流程、业务能力等层次。 2. 流程模块:是流程框架中的一个组成部分,定义了企业的业务能力和流程之间的逻辑关系。 3. 具体流程:是流程模块的细化,定义了...

    企业流程制度体系构建定义.pdf

    企业流程制度体系通常包括四个层次的文件:企业运营管理手册、流程文件、支持性文件和记录表格。在构建过程中,应根据企业的规模、产品类型、流程复杂度以及人员能力来规划文件结构,以确保文件数量尽可能少,同时不...

    流程管理培训课件PPT模板.pptx

    * 流程定义:迈克尔·哈默:把一个或多个输入转化为对顾客有价值的输出的活动。牛津英语大字典:一个或一系列有规律的行动,这些行动以确定的方式发生或执行,导致特定结果的出现——一个或一系列连续的操作。 * ...

    高一数学流程图和结构图测试题 (1).doc

    例如,第四题要求判断哪个图形是结构图,通常结构图会呈现层次结构,其中"上位"要素是更宏观的概念,而"下位"要素是具体的细节,答案是B,表示有层次结构的图形。 3. **选择题解析**: - 第1题,刻画系统结构的...

    企业商业模式创新:基于价值创新的层次结构研究

    ### 企业商业模式创新:基于价值创新的层次结构研究 #### 引言 在全球化与数字化交织的当下,企业面临着前所未有的挑战与机遇。商业模式的创新成为企业转型升级的关键,尤其是在价值创新理念的引领下,如何构建与...

    myFlow流程图/组织结构图

    在【组织架构设计】部分,myFlow不仅能够帮助构建层次分明的组织结构,还能通过权限设置,实现不同角色对组织结构的查看和管理。这在企业内部管理系统中尤其重要,可以清晰地展现员工的汇报关系,方便进行人员管理和...

    数据流程图和业务流程图

    - **层次结构清晰**:通常会有一个顶层的数据流程图,随后根据需要可以进一步分解为多个子层,每一层都对前一层进行了更详细的描述。 - **聚焦于数据流动**:DFD不关注具体的技术实现细节,而是专注于数据如何在系统...

Global site tag (gtag.js) - Google Analytics