`
ww2
  • 浏览: 415608 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

工作流模型分析(2)——起点模型和激活模型

阅读更多

 <!----><o:p></o:p>

流程模型分析(2<o:p></o:p>

              ——起点模型和激活模型

 <o:p></o:p>

一、流程的起点模型

任何事物都有由头有尾,一个流程也不例外,那么现在我们就从流程的“头”——流程起点说起。

首先,需要说明的是,起点也是一种任务节点(Task Node)。

1.1 单起点(Single Start Node

单起点估计大家都比较容易理解,现实中工作流应用的也是最为普遍。如下图(1-1)所示,其就是单起点的模型。在接下来的所有图像中,一个绿色方框代表一个起点。

<!----><v:shapetype o:spt="75" coordsize="21600,21600" stroked="f" id="_x0000_t75" filled="f" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe"><v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path gradientshapeok="t" o:extrusionok="f" o:connecttype="rect"></v:path><o:lock v:ext="edit" aspectratio="t"></o:lock></v:shapetype><v:shape type="#_x0000_t75" id="_x0000_i1025" style="WIDTH: 228.75pt; HEIGHT: 87pt"></v:shape>

图(1-1<o:p></o:p>

1.2 多起点

       多起点的工作流,在现实应用多不是太多。其主要表达的是,在同一流程中,存在多个起点。说到这里,有必要重新申明一下:起点也是一种任务节点,也就说起点不是独立于工作流任务的,在流程启动的时候,其也需要完成某种特定的任务,以激活整个工作流的运转。

       多起点的工作流模型,基本上有如下三种方式。<o:p></o:p>

多起点方式一

请参考图(1-2),起点A和起点B,它们都可以激活流程的运行,而且激活后,流程都会共同指向Task A。所以,对于Task B来说,其不关心流程是如何激活的,其只关系从Task A是否正确的传递来正确的流程数据。

<v:shape type="#_x0000_t75" id="_x0000_i1026" style="WIDTH: 237pt; HEIGHT: 95.25pt"></v:shape>

图(1-2

多起点方式二

在方式二(如下图(1-3))中,起点A激活工作流后,导致流程沿着Task A——Task B——Task C方向流转。而从起点B激活工作流后,Task A则被跳过。

这种方式,在现实中是极为少见的。如果将Start B——Task B这条流程段 Start A——Task B 这条流程段,分开来看。则可以近似看作的两个“子流程”的选择性汇总(两选一,或多选一)的情况。

<v:shape type="#_x0000_t75" id="_x0000_i1027" style="WIDTH: 294.75pt; HEIGHT: 91.5pt"></v:shape>

图(1-3<o:p></o:p>

多起点方式三

方式三(如下图(1-4)),虽然也存在多个起点,但是基本是按照一个统一流程方向运行的。这是与方式二最大的区别所在。在此,须要再此申明:一个起点(Start Node)同时也是一个任务节点(Task Node)。参看图中的Task B/Start B节点。

此种方式,在现实中,还是有一定应用性的。特别是在多个流程之间信息交互的时候,流程A发送消息数据,激活流程B的运行。但是未必是从流程B的默认激活点激活,可能是从流程B的中途某个任务激活。比如图中的Task B/Start B任务节点(同时也时流程起点)

 <o:p></o:p>

<v:shape type="#_x0000_t75" id="_x0000_i1028" style="WIDTH: 348pt; HEIGHT: 87.75pt"></v:shape>

图(1-4<o:p></o:p>

 <o:p></o:p>

 <o:p></o:p>

 <o:p></o:p>

二、流程的激活模型

       上面我们看了工作流的起点模型。也知道任何流程,都必须有起点,或者相对的起点。一个流程被激活后,会从起点开始沿着预定的流程路线,有序或无序的往下进行(注意,我这里提到了“无序”二字,我将在后续讲解“无序”状态)。

       所以,起点就是这个流程被激活的源头。下面让我们来看看,一个流程被激活的方式,或者说一个起点,被激活的方式:

从起点的激活方式,有如下两种方式:

 <o:p></o:p>

2.1 人工激活

大多数的流程激活,都是因为人为的信息数据输入或产生。比如一个订单处理流程,客户提交了订单信息(订单信息数据产生),则激活了订单处理流程的开始。

 <o:p></o:p>

 <o:p></o:p>

2.2 定时或限时激活

在一个特定的时间,因为特定的情况,符合特定的条件,激活某个特定的流程(或任务)。

这种激活方式,在现实中很少单独出现,大多数情况,都因为在某一个流程中,因为在限定的时间内,因某项任务未达到预期的状态,而激活另外的任务或新的处理流程。也就说,这种方式,是受外来因素影响的,而且大多与一些流程任务(或流程模式)一起出现。

举个定时激活的实例:比如,订单处理流程,限定5天内发货,那么定义在第三天的时候,如果没有接到发货通知,则激活一个催办信息(催办任务)。这样流程系统,会在第三天的时候自动发出催办信息。

 <o:p></o:p>

2.3 外界消息激活

这种方式,大多是在多流程信息交互(或大小流程嵌套)应用中。现在比较流行的业务流程整合/管理(BPM),基本上都涉及到这方面内容。

如下图所示,流程A,在结束的时候(在以下的所有图中,将采用红色框图,表示结束节点),会向流程B发送Message,以激活流程B的运行。至于这个消息是Soap消息,还是通过消息中间件转发的Message,这就是不同的应用方式了。

一般现实应用中,都需要考虑JMSWebService的应用接口。从个人目前所实施过的工作流应用来说,大多还是采用Message Query方式居多。虽然软件的发展,逐渐SOA(面向服务)化,但是WebService的安全性或数据正确性,还有待进一步的发展,从这一方面说,比起消息中间件的高度安全性和消息正确性,WebService目前还是稍逊一筹。其实,安全性和信息正确性,是很多应用客户非常关心的焦点。

但是,SOA化的发展是未来的趋势。所以现在大多的应用都会提供JMSWebService接口,或其他类似接口。


 <o:p></o:p>

 <o:p></o:p>

<v:shape type="#_x0000_t75" id="_x0000_i1029" style="WIDTH: 374.25pt; HEIGHT: 203.25pt"></v:shape>

图(2-1<o:p></o:p>

 <o:p></o:p>

 <o:p></o:p>

 <o:p></o:p>

---------------------------

作者:胡长城 (银狐999 james999

Emailjames-fly@vip.sina.com

 

分享到:
评论

相关推荐

    工作流模型分析工作流模型分析

    在分析工作流模型时,我们需要关注多个方面,包括流程的起点、激活方式、运转模式以及流程的组合和嵌套。 1. **流程的起点模型**: - **单起点(Single Start Node)**是最常见的模型,只有一个起点开始流程,所有...

    工作流管理:模型、方法和系统

    本文将深入探讨工作流管理的模型、方法和系统,帮助读者理解其核心概念和实际应用。 首先,我们需要了解工作流的定义。工作流是指在一个组织内,为了完成特定业务目标而进行的一系列有顺序的活动集合。这些活动可能...

    workflow 工作流模型分析

    在这个分析中,我们将深入探讨工作流模型的基础概念、重要性和实际应用。 首先,我们要理解工作流的基本概念。工作流(Workflow)是指在一个组织内部,由人、系统或机器按照预定的规则执行的一系列相互关联的任务或...

    基于π演算的工作流模型检验

    这种方式不仅能够清晰地表达工作流的结构特征,还便于进行进一步的模型分析。 ##### 工作流模型的πN演算描述 工作流模型通常包含多个步骤,每个步骤可能涉及不同的活动或任务。在πN演算中,可以将每个活动表示为...

    工作流模型验证—基于化简

    ### 工作流模型验证——基于化简 #### 一、引言 在现代企业管理与信息系统开发中,工作流管理已成为提升效率与准确性的关键工具之一。工作流不仅定义了业务活动之间的顺序与条件关系,还涉及数据处理、任务分配等...

    基于WFMC规范的工作流引擎——Java对象模型转换为DB数据模型接口的解决方案.pdf

    WFMC规范定义了五大结构接口,分别是:工作流引擎和建模工具之间的接口、工作流执行服务之间的接口、工作流应用程序调用接口、工作流客户应用接口和工作流管理工具接口。 本文主要介绍了基于WFMC规范的工作流引擎的...

    工作流管理联盟工作流标准-工作流参考模型.pdf

    根据给定的文件信息,我们可以深入探讨工作流管理联盟(Workflow Management Coalition,简称WFMC)发布的工作流标准——工作流参考模型(Workflow Reference Model)。这一模型是IT领域中流程自动化和标准化的重要...

    支持CAD_CAPP并行的工作流模型研究.pdf

    CAD(计算机辅助设计)与CAPP(计算机辅助工艺规划)并行的工作流模型研究,主要涉及到并行工程、工作流技术和Petri网等核心知识点。并行工程是一种可以提升工程设计效率、缩短产品开发周期的现代设计理念,其核心...

    流域水文模型教材-新安江模型与陕北模型

    新安江模型和陕北模型的检验过程包括对比分析模型输出与实测数据,评估模型对不同流域和不同情况的适应性。通过比较,可以找出模型的优缺点和改进空间,进一步提升模型的精确度和实用性。 在实际应用中,水文学研究...

    一种工作流模型的性能分析方法

    为了全面分析工作流模型的性能,本文采用两种方法:静态性能分析和动态性能分析。静态性能分析主要依赖于开环Jackson排队网络理论,该理论可以用来估计系统的平均响应时间和吞吐量。另一方面,动态性能分析则利用...

    基于案例的动态科学工作流模型

    - **重用已有案例**:通过分析和利用历史工作流案例,可以快速找到适用于当前情境的工作流模板,从而减少重新设计工作流的时间和成本。 - **适应不确定性**:当面临未知情况或工作流需要调整时,CBR可以从案例库中...

    基于Petri网工作流模型的分析报告.doc

    本文主要探讨了如何利用Petri网来分析和验证工作流模型的正确性。首先,文章介绍了信牌驱动模型的静态结构,这是一个用来描述工作流模型的基础框架。信牌驱动模型由数据、活动、信牌箱、流关系等组成,其中开始活动...

    WFMC-——工作流参考模型

    工作流引擎联盟规定的工作流引擎实现的参考模型,为工作流引擎平台提供参考规范。。。

    工作流模型研究

    随后,通过对比分析传统工作流建模方法,提出了基于ECA规则和元操作的工作流模型,并详细阐述了该模型的原理、优势以及实现细节。论文还具体展示了如何应用此模型来表达和管理实际业务流程,提供了丰富的案例分析,...

    工作流元模型的研究与应用

    本文探讨了工作流技术在科学研究、电子政务及电子商务领域的应用,并重点分析了工作流元模型及其相关技术的发展。随着互联网、万维网(WWW)及分布式计算技术的普及,政府机构和企业越来越倾向于采用在线协同方式来...

    时间序列分析——基于R(第2版)案例数据

    在“时间序列分析——基于R(第2版)案例数据”中,我们将会深入探讨如何利用R语言进行有效的时序分析。R语言是一种强大的开源编程环境,特别适合于数据分析、统计计算和图形绘制。以下是关于这个主题的一些关键知识...

    时间约束工作流模型的可调度性分析算法.pdf

    ### 时间约束工作流模型的可...通过将时间约束融入到工作流模型中,并提出了一种有效的分析算法,不仅可以确保模型的逻辑正确性,还能提高其实际应用中的可行性和效率。这对于推动工作流技术的发展和应用具有重要意义。

    工作流参考模型真谛--胡长城

    本文档要求读者对WfMC(Workflow Management Coalition)发布的《工作流参考模型》有一定的了解,同时也需熟悉XPDL(XML Process Definition Language)和其他一些开源引擎的流程定义语言。 #### 二、工作流参考...

Global site tag (gtag.js) - Google Analytics