1.2.1 工作流管理系统参考模型 (zhuan)

http://book.51cto.com/art/201009/228705.htm

*************************************************

《jBPM4工作流应用开发指南》第1章工作流基础,本章将为您开宗明义地介绍工作流这门科学,使您了解这门"很有前途的"技术的概念、发展历程以及目前的状况,并给您一个选择jBPM的理由。本节为大家介绍工作流管理系统参考模型。

AD:51CTO 网+ 第十二期沙龙:大话数据之美_如何用数据驱动用户体验

1.2.1  工作流管理系统参考模型

许多软件开发商都有工作流产品,并且不断有新的工作流产品走入市场。市场上可选择的产品范围很大,因此每个开发商只关注产品的特殊功能,而用户可以采用不同的产品来满足不同的需求。

然而,由于各个厂商不兼容的流程控制方式,导致没有统一的规范使得不同的工作流产品协同工作。对于这个问题,业界一直认为,所有的工作流产品都有一些相同的特性,只要其各种功能遵循公共的标准,就可以实现不同工作流产品间的协同工作。

由此WfMC应运而生,WfMC的全称是Workflow Management Coalition--工作流管理联盟,它是由一些公司联合在一起成立的组织,从事工作流问题的研究和指导。

图1-5所示就是WfMC提出的工作流管理系统参考模型(Reference Model of the Workflow Management Coalition)。作为工作流技术标准化的工业组织,WfMC的这个参考模型无疑为各家工作流管理软件提供者的系统设计规划给出了权威的参考,乃至标准。

 
(点击查看大图)图1-5  工作流管理系统参考模型

首先,最重要的部分就是中间的工作流引擎,可以说它就是整个工作流管理系统的心脏,因为所有的工作流管理系统都要使用工作流引擎:

1)为执行的流程实例解释流程定义--这些流程定义一般都是由接口1获得的。

2)组织调度流程的实例,推进工作流程的前进,这包括条件流转、分支聚合、父子流程……

3)处理工作任务的分配、接受、提交等行为--无论是人工干预或自动执行的任务,都需要经过工作流引擎计算和持久化(如果需要的话)。

4)管理调用其他的4个接口--这可能包括执行工作流程定义中的一些外部脚本。

工作流引擎做的工作就像心脏把血液不断地送到身体的各个部分一样。关于工作流引擎应该如何架构和设计,在本书后面章节会涉及。

那么,接下来说说工作流管理系统"身体"的5个组成部分吧,也就是图1-5所示的5个接口。

接口1--流程定义工具。

前面提到过我们使用它来设计业务流程定义供工作流引擎来实例化运行。所谓的"业务流程定义"一般来说就是一段XML,它一般遵循XPDL(XML Process Define Language)标准、BPEL(Business Process Execution Language)标准或其他厂商自定义的标准(例如jBPM的流程定义语言就是jPDL)。事实上可以把流程定义工具理解为一个产生XML的图形化设计建模软件。这种软件各个厂商的技术实现可谓五花八门,仅基于Web的就有很多种技术实现,例如Java Swing,Flash,ActiveX;当然,很多开源项目采用的还是基于客户端的实现,例如jBPM使用的是基于Eclipse图形化插件的实现,Shark Workflow使用的则是JAWE(一种基于Java技术实现的XPDL建模工具)。当然,它们的最终目的都是统一的--产生XML格式的流程定义。

接口2--工作流客户端应用。

这很有意思,当业务流程设计好了、运行起来了,那么我们--"人类"如何与工作流引擎交互呢?这时候,工作流引擎就通过接口2,为我们提供各种各样的工作任务列表、工作表单、流程列表以及一些查询功能。我们通过这些接口应用,就可以填写表单、处理任务……从而实现人与工作流引擎的沟通。

接口3--执行外部应用。

工作流引擎通过这个接口去执行一些外部的或面向专门职能领域的应用程序,例如财务系统、报表系统等,让第三方系统参与进来,从而完成定义的工作流程。这看起来就像EAI(Enterprise Application Integration,企业应用集成)的特性,而事实上它也可以说就是Workflow EAI。同时我们也可以发现接口2和接口3之间的界定有些模糊,难道接口2提到的"工作任务列表"不能算是外部的应用程序吗?没错!这个问题确实存在,这也就是为什么荷兰工作流大师Aalst在其著作《工作流管理--模型、方法和系统》中写道"建议每个应用程序都由此‘应用程序执行服务‘打开"的原因,他是在建议统一这两个接口吗?总之,接口3在标准化方面众口不一。

接口4--其他工作流应用接口服务。

用来处理若干自治工作流管理系统之间的工作交换,例如实例转移、工作任务外包等。事实上,WfMC组织的初衷是想通过这个接口来连接各个不同的工作流引擎和系统,使它们在一个统一的标准下工作和交流。想法是非常不错的,但是,由于种种原因吧,作者认为是商业利益的因素以及WfMC还没有强大到能"号令江湖,莫敢不从"的地步,所以到目前为止,接口4基本不被支持,也就是说,各大厂商的工作流产品并不能用同一种语言对话。但是,随着jBPM4推出的PVM-流程虚拟机技术(这在本书的后面会涉及)的发展,实现接口4的障碍也许能被打破。您可以拭目以待。

接口5--管理和监控工具。

虽然很多工作流管理系统,特别是开源工作流管理系统实现的最简单部分就是这个接口,但作者认为最能体现工作流管理系统在企业管理方面价值的就是这个部分,它主要被用来搜集管理信息,这包括诸如工作流系统功能管理工具、流程实时监视和控制工具,以及工作效率分析和流程覆盖面分析等各种商业智能工具,这为提升企业的管理能力、优化重组企业的业务流程、分析企业内部的工作效率瓶颈等提供了重要的量化数据支持。我们说"工业化解放人类的体力,信息化解放人类的智力",这个接口提供的功能不正是解放了流程企业领导和决策者们的智力吗,而这正是企业信息化的初衷、工作流管理的最终价值所在。传统的工作流管理系统在这个接口上的"短板",正为下一节要说的BPM(Business Process Management)这个概念的支持者提供了攻击工作流技术的口实,BPM概念在这个接口上的强化成了很多人认为"Workflow系统"不等同于或弱于"BPM系统"的重要原因。事实上,这都不过是些概念而已,实现工作流管理系统、解决业务流程改进方面的问题才是我们所要做的。

总结一下,工作流管理系统参考模型的5大接口各自强调了什么?

接口1--提供流程定义。

接口2-提供工作任务列表等客户端应用程序,实现使用者与工作流引擎的沟通。

接口3--支持外部应用程序参与工作流程。

接口4--支持不同工作流引擎系统间的连接。

接口5--提供监控工具,搜集管理信息。

还有一些问题供读者思考:

接口3和接口5标准化工作进展较为缓慢,为什么?读者可以参考上文的说明思考得出。

接口3和接口4需要完善的地方很多,例如,流程和工作任务的事务、回滚(包括被动退回和主动取回的任务)问题,在这两个问题上如何处理、怎么处理好、如何保持原子性,如何进行"补偿",乃至如何支持"中国特色"的业务,都是很有思考空间的。

时间: 2024-07-29 04:13:32

1.2.1 工作流管理系统参考模型 (zhuan)的相关文章

工作流管理系统

工作流管理系统 简称WFMS,经过对业务.公文流转过程的分析以及抽象,工作流管理系统围绕业务交互逻辑.业务处理逻辑以及参与者三个问题进行解决,业务交互逻辑对应的为业务的流转过程,在工作流管理系统中对应的提出了工作流引擎.工作流设计.流程操作来解决业务交互逻辑的问题,业务处理逻辑对应业务流转过程中的表单.文档等的处理,在工作流管理系统中对应的提出了表单设计工具.与表单的集成来解决业务处理逻辑的问题,参与者对应到的为流转过程中环节对应的人或程序,在工作流管理系统中通过与应用程序的集成来解决参与者的问

工作流管理系统 jBPM

工作流管理系统 jBPM 运行环境: 授权方式:BSD 软件大小:M 下载量:589 更新日期:2014-04-04 来源地址: 联系作者:Linux jBpm是一个灵活可扩展的工作流管理系统.作为 jBpm运行时server输入的业务流程使用简单强大的语言表达并打包在流程档案中.jBpm将工作流应用开发的便利性和杰出的企业应用集成(EAI)能力结合了起来.jBpm包括一个Web应用程序和一个日程安排程序.jBpm是一组J2SE组件,可以作为J2EE应用集群部署. 工作流程编辑 1) jBPM的

Activiti工作流简单入门 (zhuan)

https://my.oschina.NET/Barudisshu/blog/309721 *********************************************** 摘要: 自jBPM创始人Tom离开之后,jBPM和Activiti就开始大相径庭,jBPM被迫使用新的LGPL协议,而Activiti则使用一种更为宽松的Apache License 2.0协议.不管使用jBPM还是Activiti,两者都遵循BPMN 2.0规范,都可满足项目的一般需求,相比于jBPM,Act

《流程的永恒之道》

<流程的永恒之道> 基本信息 作者: 辛鹏    荣浩 丛书名: 图灵原创 出版社:人民邮电出版社 ISBN:9787115336552 上架时间:2014-5-6 出版日期:2014 年6月 开本:16开 页码:458 版次:1-1 所属分类:计算机 > IT服务管理 > IT服务管理 更多关于>>><流程的永恒之道> 编辑推荐 1.业内第一本深入融合流程管理与流程技术的专著,全面讲解了业务流程及其实现,企业打造高效流程型组织的实践指南. 2.本书第

纵观jBPM:从jBPM3到jBPM5以及Activiti5

对jBPM来说,今年最大的事件莫过于 jBPM 的创建者Tom Baeyens离开 JBoss 了.Tom Baeyens 离开的具体原因尚不清楚,但他的离开产生了两个结果:一是 jBPM 的下一个版本 jBPM5 完全放弃了 jBPM4 的基础代码,基于Drools Flow重头来过:二是 Tom Baeyens 加入Alfresco后很快推出了新的基于 jBPM4 的开源工作流系统Activiti.由此不难推测 Tom Baeyens 离开的部分原因:JBoss 内部对 jBPM 未来版本的

zoneday工作流开发与设计(一)--工作流序言

1 工作流定义 工作流(Workflow),就是“业务过程的部分或整体在计算机应用环境下的自动化”,它的主要目标是对业务过程中各步骤(或称活动.环节)发生的先后次序,和同各个步骤相关的人力资源.信息资料的调用进行管理,从而实现业务过程的自动化[1]. 工作流技术源于二十世纪七十年代中期办公自动化领域的研究[3],由于当时计算机尚未普及,网络技术水平还很低以及理论基础匮乏,这项新技术并未取得成功.1983年至1985年间,在图像处理领域和电子邮件领域出现了早期的有工作流特征的商用系统[4].进入九

learun敏捷框架工作流:企业效率助推神器

一.工作流发展 工作流技术起源于二十世纪七十年代中期办公自动化领域的研究,由于但时计算机尚未普及,网络技术水平还很低以及理论基础匮乏,这项新技术未取得成功. 1983你至1985年间,在图像处理领域和电子邮件的出现了早期的含有工作流特征的商用的系统. 进入九十年代以后,随着个人计算机.网络技术的普及和推广,以及信息化建设的日益完善,使得工作流技术的研究与开发进入了一个新的热潮.1993年8月,第一个工作流技术标准化的工业组织--工作流管理联盟(Workflow Management Coalit

力软敏捷开发框架工作流实现技术

工作流管理联盟(WFMC)提出了一个工作流参考模型,约定了工作流系统的体系结构.应用接口及特性,主要目的是为了实现工作流技术的标准化和开放性.下面简要介绍系统中的各个部分,并对参考模型中的五类接口进行描述. 1. 工作流管理系统中的各种数据 工作流控制数据(Workflow Control Data)工作流执行服务/工作流机通过内部的工作流控制数据来辨别单个过程或活动实例的状态.这些数据由工作流执行服务/工作流机控制.用户.应用程序或其它的工作流机/工作流执行服务不能对其进行直接读写操作,它们可

JBPM(一)——工作流基础

1.什么是工作流? 全部或者部分由计算机支持或自动处理的业务过程. 2.工作流的目标? 管理工作的流程以确保工作在正确的时间被期望的人员所执行 3.工作流的好处 例如: 简单的业务流程--订货流程: 1>客户提交采购订单 2>业务员执行订单处理 3>如果缺货,转工厂生产 4>仓库发货 5>物流发货 整个流程如图所示: 如果不使用工作流技术,从头开始开发这个订购流程的业务系统,我们需要做 每个活动节点都要开发交互界面和后台处理程序 每次活动的流转都需要硬性判断下一步活动节点及其