当前工作流管理中存在的问题

(http://blog.csdn.net/kingspider/)
(http://blog.sina.com.cn/u/1163490885)

工作流管理作为一个新兴的研究领域,自然还存在很多问题有待于进一步研究解决,我们以荷兰海关(Dutch Customs Department)Sagitta-2000项目中工作流管理系统的选型为背景,来说明当前工作流管理系统的不足。Sagitta-2000项目是开发一个全国范围的信息系统用于处理各种海关申报。处理海关申报是一项非常复杂的工作,并且处理方式经常改变。因此,在Sagitta-2000项目中物流信息系统(information logistics)被分离出来,需要一个工作流管理系统来支持物流信息系统。

在工作流管理系统选型时,从技术需求和功能需求两个方面来考虑。在筛选过程中,当前一些主流工作流管理系统所暴露出来的问题主要有:(1) 虽然WfMC制定了一系列标准,但是在系统实现上大多不遵守WfMC的标准。(2) 大多数系统的过程表达不友好,不是以一种自然的方式。(3) 在流程建模中,对并行、选择结构的嵌套和混合使用有所限制。(4) 大多数工作流管理系统是基于事件的,不支持对状态的显式建模,因而不能很好地支持触发器和外部选择(即由外部环境影响工作流的执行)。(5) 大多数系统不支持异构系统平台。在这些系统中,只有基于Petri网的COSA系统(Software Ley)基本上满足技术需求和功能需求,被选择用于本地的平台,但是对于工作流引擎,则没有合适的候选系统,这是因为它们都是基于Client/Server技术的。

基于以上考虑,我们总结出了目前工作流管理的两个主要的不足:(1) 工作流管理系统的定义不明确以及缺乏统一的概念模型;(2) 工作流管理系统的系统结构和能力上的不足。

1 工作流管理系统的定义不明确以及缺乏统一的概念模型

目前工作流管理发展的状况非常类似于七十年代初,关系数据模型和E-R模型出现以前数据库管理系统的发展状况,大家各持己见,没有一个统一的标准,所开发的产品相互之间大部分也不兼容,使得很多用户不愿意使用商品化的工作流管理产品。

为了使工作流的概念和接口标准化,工作流管理联盟WfMC作出了很多的努力。WfMC定义了一个工作流管理系统的系统结构的参考模型,并于1994年11月发表了其1.1版本。到目前为止,虽然大多数的接口和标准已经陆续给出,但是,这些标准仅仅是停留在技术层次上,而且重点放在语法上而不是语义上。而在概念层次上,则至今仍没有统一的意见。例如,在WfMC参考模型的接口1的规范中,就没有关于状态及基本构造块(如AND/OR-split/join)的形式化描述。因此,有必要建立一个概念模型,以描述基本构件的语义。

另外,虽然大部分的用户都认为图形化的过程定义规范较符合使用习惯,但WfMC认为使用一个基于图形的标准来作为过程定义的规范比较困难,因此,WfMC在过程定义方面使用的是基于语言(WPDL)的规范。然而非图形化的过程定义很难表达上下文的含义以及控制策略。只有那些精通文本描述定义的人才能对整个工作流过程有完全的认识。普通的图形表达可能提供了一定程度的抽象,但同时可能又导致了语义的模糊不清。对于时间、执行的约束条件、复杂的关系描述以及过程对象和人之间的管理也难以表述。

总的来说,工作流的描述应当基于具有丰富语义表达功能的建模方法。这个方法应当具有清晰性、一致性、易表达性和可扩充性。这个方法应当能足以表达步骤、循环、分枝、条件、路径选择、任务分配、时间、调度和约束条件。其语义应当能够定义控制流、数据流、资源流,并且能够定义策略来处理这些流的中断。

2 工作流管理系统的系统结构和能力上的不足

目前,商品化的工作流产品提供的功能决定了工作流管理的技术水平状况,商品化的工作流产品的祖先可追溯到办公自动化、图象处理、CSCW等。在这些情况下要解决的主要问题是关于共享和协作(至今仍未能很好地解决),而至于性能、可测量性、可靠性等,则基本上未考虑到。因此,大多数的产品的开发并未基于对用户需求的完全理解,它们也就不能完全满足用户的需要。

由于工作流管理系统一开始只是作为一个协同工具,因此只是为小群体而设计,而当人们发现了工作流的应用潜力,想将其运用到大型环境中时,其本身的一些弊病就暴露出来了。当前的商品化工作流管理系统存在结构上的缺陷,如单数据库、通信支持的不足、设计上的目光短浅,不支持异构环境,难以满足高负载的需要等。现存产品最好的情况只能支持到100个用户,并且同时运行的过程不能超过几千个,这距离大型系统的需求还很远。

当前工作流管理系统的一个主要不足就是缺乏健壮性和可用性。当前系统对于出错的恢复弹性是极小的,没有备份机制和有效的恢复手段。一个大型的工作流管理系统可能包括有几千个用户,几十万个并行运行的过程,并且分布在一个大型网络的几千个位置。这样,其持续可用性就是非常关键的。现有系统缺乏足够的冗余技术和灵活性来取代出错的部件而不中断系统的功能。

当前工作流研究的一个分支领域就是关于工作流的分布式执行。在当今的现有系统中,普遍使用的是B/S系统结构,选择这样的结构有一定的道理:轻客户端,集中监听和监视,简单的同步机制以及总体设计简单。然而基于中心服务器的结构是脆弱的,服务器的错误将导致整个工作流系统的失败。另外,集中式服务容易形成瓶颈,并使得很难对系统性能进行测量。
 
汪涛
2006.02.23

当前工作流管理中存在的问题相关推荐

  1. GNU Make 使用手册(于凤昌中译版)

    GNU Make 使用手册(中译版) 翻译:于凤昌 GNU make Version 3.79 April 2000 Richard M. Stallman and Roland McGrath 1 ...

  2. 课程三、电子商务物流解决方案

    1. 电子商务与物流 一.物流的基本理念 1985年美国物流管理协会所下的定义:物流是以满足客户需求为目的,为提高原料.在制品和制成品以及相关信息从供应到消费的流动和储存效率与效益而对其进行的计划.执 ...

  3. 售后服务系统|用Java EE技术实现产品售后服务系统

    目录 1 引言 2 系统分析 2.1 系统需求分析 2.2 可行性分析 2.3 本系统采用的关键技术 2.3.1 MyEclipse 开发工具 2.3.2 数据库 2.3.3JSP技术 3 系统概要设 ...

  4. 面试:第十二章:所有总结

    Java基础 java基本类型哪些,所占字节 byte :1个字节 short :2个字节 char :2个字节 int :4个字节 long :8个字节 float :4个字节 double :8个 ...

  5. linux内核分析(转自某位大哥网上的笔记)

    启动 当PC启动时,Intel系列的CPU首先进入的是实模式,并开始执行位于地址0xFFFF0处的代码,也就是ROM-BIOS起始位置的代码.BIOS先进行一系列的系统自检,然后初始化位于地址0的中断 ...

  6. 春节后找工作被面试的经历,好岗位分享给还在找工作中的软件开发爱好者们...

    这几年在杭州东蓝科技工作还是很快乐.很开心,跟同事之间也很融洽,但是由于老婆怀孕了.再加上有严重的过敏鼻炎.同时眼睛也变得越来越脆弱了,很容易被感染通红通红的很恐怖,再也受不了天天出差做软件项目了,去 ...

  7. 开源 java CMS - FreeCMS2.4 工作流管理

    2019独角兽企业重金招聘Python工程师标准>>> 原文地址:http://javaz.cn/site/javaz/site_study/info/2015/38527.html ...

  8. hyperopt中文文档:Scipy2013

    Scipy2013 Font Tian translated this article on 23 December 2017 SciPy2013摘要提交 标题 Hyperopt:用于优化机器学习算法 ...

  9. 权限设计中的数据灵活存储设计策略参考[以不变应万变]

    趁博客园好用抓紧发表一篇文章,我们从3个方面来解决权限的数据存储问题:权限的定义.操作权限的存储.数据集权限的存储问题等3个方面来考量. 1:权限定义表: 首先权限的定义需要一个表来存储,这样定义权限 ...

  10. .NET Framework 4.0 和 Dublin 中的 WCF 和 WF 服务 - z

    在 2008 年 10 月份召开的专业开发人员大会 (PDC) 上,Microsoft 发布了有关 Microsoft .NET Framework 4.0 中将要提供的大量改进的详细信息,尤其是在 ...

最新文章

  1. AprilTag程序的获取
  2. PHP程序员的学习路线
  3. Linux驱动调试中的Debugfs的使用简介
  4. 一次线上ctf的网络协议分析
  5. ajax 更新模型数据_DuangDuangDuang,重点来啦!高薪全靠它——百战Web前端课程更新03.11...
  6. Java笔记-Spring Boot Webservice中对指定namespace及localpart进行拦截
  7. android中实现GPS定位功能,Android中实现GPS定位的简单例子
  8. 五年级计算机下册教案人教版,新人教版五年级下册信息技术全册教案.pdf
  9. 1.1 学习之初;1.2 约定;1.3 认识Linux;1.4 创建虚拟机;1.5安装centos7
  10. svn 命令行_Ubuntu下Subversion(SVN)的快速安装与配置
  11. UiAutomator2.0 和1.x 的区别
  12. 张宇1000题高等数学 第四章 一元函数微分学的计算
  13. PCB工程师为你详解FPC排线及其用途
  14. phpwind升级php7,【原创文章】升级phpwind为https
  15. linux rman备份与恢复,RMAN备份与恢复 —— 完全恢复与不完全恢复
  16. 【求职】360 C++反向面经
  17. python套用word模板_套用word模板
  18. [JAVA毕业设计]高铁在线购票系统源码获取和系统演示
  19. 【转载】蜗牛星际矿渣黑群晖安装折腾路以及指引
  20. [edu #63][div2 #554][div3 #555]

热门文章

  1. 区块链及相关密码学技术
  2. Day 23 What Drivers You Crazy
  3. 微信小程序|智能停车系统中车牌计费功能实现
  4. CAD中的dxf文件解析(一):准备工作
  5. 简单屏幕录制截屏工具
  6. pb获取当月最后一天
  7. 开发中mock什么意思_开发中
  8. 将使用Tkinter编写的带图片的程序打包成exe文件,并且实现图片内嵌
  9. 再读《谁说大象不能跳舞》
  10. 软件编程推荐书籍目录