工作流与状态机

日期: 2008-10-09 作者:ligang1111 来源:TechTarget中国 英文

  状态机与工作流的关系

  状态机在计算机历史上是最成功理念之一。图灵围绕这个概念创建了一个计算的模型,并成功地成为计算机科学之父。Mealy,Moore,Harel和其他扩展自此理念的理论家,影响了数据逻辑、实时、嵌入式的工程,这些设计都引入了状态机和状态图。

  状态机的理念也很自然地使用于许多当前的企业应用,特别是面向流程的应用。面向流程应用的一个显著的特征就是随着时间的流逝从一个状态迁移到另一个状态,换句话说,其进度从一个里程碑到另一个里程碑,最终到达最终目标。这里举一个财政资金拨付的例子,如一笔资金,从“在国库”状态,通过单位申请支付后,状态变成“申请中”状态,相关职能处室看到此申请信息,审核后,状态变成“已审核”,顺利下达的话,进入支付环节,状态变成“已支付”状态。以财政应用为例,可以看出,业务建模的方式取决于你以何种视角来看待业务需求,任何面向流程的应用中,建模者完全可以对每种业务类型中的业务单据进行状态识别,建模出状态机的转换细节,以此作为业务的需求。这明显是一种以数据为中心的建模方式,状态描述的是业务中的数据状态,简单,但又不利于对总体业务以纯流程视角的方式进行审视。纯流程视角建模还要建模控制流,以控制流为主,在控制流过程中携带相应的数据流(或专业点称之为“流程上下文”)。

  这里要注意一点,其实说明了什么都可以数据都可以将之抽象出来成为几个状态,然后就将之说为状态机,这是错误的。要成为与面向流程应用相对应的状态机必须要满足几个条件:1)状态机的运行在时间跨度上是长时间的 2)状态机有持久化机制。

  如果仅仅就状态机来说,其要完成实现面向流程应用,还是缺少企业应用集成技术的,这是显而易见的。同时说来,纯状态机只是通过声明状态以及转换来描述一个流程,而工作流来说则是描述一个流程应该如何运转,有静态的概念也有动态的概念,比如工作流更强调对流程实例的管理,所以工作流来说在状态机基础上更面向业务流程本身,更适合业务分析者理解。

  这里给出几点遐想,作为笔记。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

相关推荐

  • API创建影响生产的六个方面

    在API创建方面,简单性至关重要。AnyPresence的Vivek Gupta讨论了开发者可以从6个方面处理好API的创建问题,从而加速API生产。

  • 企业应用集成的关键产品之工作流

    企业在努力实现业务敏捷、推动朝着对工人的个性化支持以及集成业务流程的组合发展。应用集成项目必须权衡这些要素。

  • 集成服务创造新应用

    企业架构师开始重视流水线化集成架构,这样有助于降低IT开发成本并且充分利用云基础框架。

  • 微服务:是谁看上了这块小鲜肉

    微服务——IT领域的又一个新名词。但它是否能如同OpenStack,如同Docker那样成为众人疯抢的“肥肉”呢?从目前来看,可能还没有到达疯抢的地步,但也不乏支持者。