(摄影测量与遥感专业论文)基于关系数据库的工作流关键技术研究.pdf_第1页
(摄影测量与遥感专业论文)基于关系数据库的工作流关键技术研究.pdf_第2页
(摄影测量与遥感专业论文)基于关系数据库的工作流关键技术研究.pdf_第3页
(摄影测量与遥感专业论文)基于关系数据库的工作流关键技术研究.pdf_第4页
(摄影测量与遥感专业论文)基于关系数据库的工作流关键技术研究.pdf_第5页
已阅读5页,还剩69页未读 继续免费阅读

(摄影测量与遥感专业论文)基于关系数据库的工作流关键技术研究.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

国防科学技术大学研究生院工学硕士学位论文 摘要 工作流技术是正在迅速发展并不断取得成功应用的技术。作为过程建模和过程管理的 核心技术,它可以与其它系统有效地结合,生成符合企业需求的各种业务管理系统。由于 其高度的灵活性,可以按照企业的具体需求,快速灵活地生成应用软件系统,并且可以在 业务流程发生变化时,在信息应用平台层面上配合企业迅速地进行业务重组,以满足不断 变化的管理需求和生产需求。正因为工作流技术有以上的特征,因此,对工作流技术进行 深入研究和分析,具有十分重要的意义。 论文对工作流的研究现状和发展趋势进行了分析,深入研究了工作流的各种技术,包 括工作流建模技术、工作流引擎技术和实现一个工作流系统所需的关键技术。在此基础上 设计实现了工作流建模工具和一个基于关系数据库的轻量级工作流引擎,取得了良好的运 行效果。 关键字:工作流,工作流引擎,工作流建模,关系数据库 第i 页 国防科学技术大学研究生院工学硕士学位论文 a b s l r a c t w o r k f l o wt e c h n o l o g yd e v e l o p sq u i c k l ya n di ss u c c e s s f u l l ya p p l i e dt om a n ya s p e c t sa t p r e s e n t a st h ek e yt e c h n o l o g yo fp r o c e s sm o d e l i n ga n dp r o c e s sm a n a g e m e n t , i tc a nc o m b i n e 丽t ho t h e rs y s t e m sa v a i l a b l ya n db u i l dv a r i o u sb u s i n e s sm a n a g e m e n ts y s t e m sw h i c ha c c o r dw i t h e n t e r p r i s e sn e e d s b e c a u s eo fi t sh i g hf l e x i b i l 耐,i tc a nq u i c k l yb u i l da p p l i c a t i o ns o f t w a r es y s t e m a c c o r d i n gt ot h ec o n c r e t en e e d so fe n t e r p r i s e , a n d 啪r e o r g a n i z et h ee n t e r p r i s e sb u s i n e s s q u i c k l yt om e e tav a r i e t yo fn e e d so fm a n a g e m e n ta n dp r o d u c i n gw h e n b u s i n e s sp r o c e s sc h a n g e s t h e r e f o r e i ti sv e r yi m p o r t a n tt os t u d ya n da n a l y s et h ew o r k f l o wt e c h n o l o g y t h et h e s i sa n a l y s et h ed e v e l o p m e n tt r e n da n dp r e s e n tr e s e a r c ho fw o r k f l o wa n dm a k oa 咖d yo fv a r i o u sw o r k f l o wt e c h n o l o g y ,i n c l u d i n gt h ew o r k f l o wm o d e lt e c h n o l o g ya n dt h e w o r k f l o we n g i n et e c h n o l o g ya n dt h ek e yt e c h n o l o g yo fr e a l i z i n gaw o r k _ f l o ws y s t e m 硼1 et h e s i s r e a l i z e sat o o lo fw o r k f l o wp r o c e s sm o d e l i n ga n das m a l lw o r k _ f l o we n g i n eb a s e d0 1 1r e l a t i o n d a t a b a s eo nt h i sf o u n d a t i o n , o b t a i nag o o dr u n n i n ge f f e c t k e y w o r d s :w o r k f l o w , w o r i d l o we n g i n e ,w o r l d l o wm o d e l , r e l a t i o n a ld a t a b a s e 第i i 页 国防科学技术大学研究生院工学硕士学位论文 图目录 图2 1 工作流参考模型组件和接口图8 图2 2 工作流互操作接口1 0 图2 3f l o w m a r k 工作流模型中活动的内部结构1 7 图2 4e p c 元模型。1 8 图2 5 一个工作流程图2 0 图2 6w f m c 工作流参考模型2 2 图2 7 链式模型图。2 3 图2 8 嵌套子过程模型图2 3 图2 9 对等模型图2 4 图2 1 0 并行同步模型图2 4 图2 1 1 顺序结构图2 5 图2 1 2 与分支结构图2 5 图2 1 3 与连接结构图2 6 图2 1 4 或分之结构图一一2 6 图2 1 5 或连接结构图2 6 图2 1 6 循环结构图2 7 图3 1 w e bs e r v i c e 的栈结构。3 2 图3 2s o a p 可以基于的传输协议。3 3 图4 1 工作流建模工具原理图3 8 图4 2s h a p e 类结构图4 0 图4 3l i n e 类结构图4 1 图4 4 图形元素结构图4 1 图4 5 可视化工作流建模工具界面4 3 图4 6 用于定义节点属性的界面4 3 图4 7 模型检测图4 6 图5 1 流程定义的控制结构5 0 图5 2 定义对象和实例对象之间的关系5 l 图5 3 流程状态转换图5 2 图5 4 工作项状态转换图5 3 图5 5 工作流引擎的总体结构图5 4 图5 6 引擎控制流程实例执行序列图5 5 第页 国防科学技术大学研究生院工学硕士学位论文 图5 7 引擎执行类结构图 图5 8 数据模型e r 图5 9 图5 9 建模示意图。 图5 1 0 流程模版信息添加示意图 图5 1 1 实例化流程示意图 图5 1 2 流程实例信息添加示意图 图5 1 3 工作项处理示意图 图5 1 4 流程监控示意图 ( ;l 6 :! 6 :! 6 :! 6 1 i 第v 页 独创性声明 本人声明所呈交的学位论文是我本人在导师指导下进行的研究工作及取得的研 究成果尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已 经发表和撰写过的研究成果,也不包含为获得国防科学技术大学或其它教育机构的学 位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文 中作了明确的说明并表示谢意 学位论文题目:基土差丞熬鲞庄盟三佳速差缝拉盛盈窒 学位论文作者签名:挫i 寇i 堡日期:土o o z 年月j 弓日 学位论文版权使用授权书 本人完全了解国防科学技术大学有关保留、使用学位论文的规定本人授权国 防科学技术大学可以保留并向国家有关部门或机构送交论文的复印件和电子文档,允 许论文被查阅和借阅;可以将学位论文的全部或部分内容编入有关数据库进行检索, 可以采用影印,缩印或扫描等复制手段保存、汇编学位论文 ( 保密学位论文在解密后适用本授权书。) 学位论文题目:基王差丞熬握庄曲王缝速差链技垄盈究 学位论文作者签名: 作者指导教师签名: 日期:2 0 0 占年7f 月侈日 日期:必0 6 年1 1 月d 日 攀 国防科学技术大学研究生院工学硕士学位论文 第一章绪论 1 1 课题背景及来源 办公自动化是将现代化办公和计算机网络功能结合起来的一种新型的办公方式,是当 前信息技术发展中的一个非常活跃且具有很强生命力的技术应用领域。办公自动化是企业 实现现代化管理的有效手段之一,通过办公自动化项目的实施,可以有效实现企业流程的 规范化,大大提高企业内部的工作效率。企业的日常业务处理牵涉到方方面面,几乎所有 的业务过程都是工作流,特别是办公自动化应用系统的核心应用一公文审批流转处理、会 议管理等。每一项工作以流程的形式,由发起者( 如文件起草人) 发起流程,经过本部门以 及其他部门的处理( 如签署、会签) ,最终到达流程的终点( 如发出文件、归档入库) 。因而深 入研究工作流技术对办公自动化系统的开发具有很好的帮助作用。 当前,工作流技术发展的很快,国内外也出现了许多优秀的工作流平台,但是都比较 庞大、复杂。虽然在功能实现上很强大,但是不方便嵌入到一个信息系统中。而运用传统 的方法( h a r d c o d e 方式) 实现工作流平台或者工作流管理系统的部分功能,那需要针对每 一个活动点,都开发专门的处理程序、硬性的指定下一步的执行者等等。这种方式很不灵 活,一方面是代码冗余度很高;另一方面是流程不灵活,用户不能自定义流程,应用方面 有局限性。而组件技术则可以把信息系统中用到的工作流平台或者工作流管理系统的部分 功能进行封装,从而为上面的问题提供了一种解决方案。例如,对于审批流过程( 用于文 档制作后,需要领导批准才能进行流转的情况) ,有待批状态、同意报上级、不同意报上 级、修改后再报、同意终审等状态。用组件实现此过程,在该组件中运用过程定义组件, 进行角色选取,定义审批的逻辑和规则。定义的流程以特定的格式进行存储( 如订l ) , 之后由工作流引擎子组件解析此工作流定义文件并且按照业务的交互逻辑进行业务的流 转,通过调度算法来进行流程的流转( 流程的启动、终止,挂起、恢复等) ,通过各种环节 调度算法( s p l i t 、a n d 、o r 等) 来实现对于环节的流转( 环节的合并、分叉、选择、条件性 的选择等) 。 同时在工作流管理系统中采用现在主流的关系数据库来管理和组织工作流中的控制 数据、相关数据和业务数据。通过常规关系数据库管理系统中所提供的存储过程、包以及 触发器等机制来控制工作流引擎运作的各种程序逻辑,各种数据的维护和管理由数据库管 理系统自动完成。 本课题来源于某政府部门的o a 系统,在此系统中采用非组件化的方式实现了公文的审 批和流转,因此代码的维护量很大,系统功能的扩充也有一定的局限性。而运用文档工作 流组件来开发,不仅提高了程序代码的复用,使系统结构更加清晰,最主要的是可以方便 第i 页 国防科学技术大学研究生院工学硕士学位论文 的嵌入到信息系统中,大大提高了开发效率。而本文工作正是基于工作流技术,对文档工 作流组件进行设计与实现,并在此基础上构建了一个实验系统。 1 2 课题的研究现状及发展趋势 十几年来,不同的研究者对工作流分别提出了不同的定义,到目前为止。对于工作流仍没 有完全统一的定义,我们列举一些具有代表性的定义,他们分别从不同的角度对工作流概念 进行了描述,可以使我们对工作流的一些基本特征有一定的理解。 ( 1 ) 工作流管理联盟l l l 的定义 工作流是一类能够完全或者部分自动执行的经营过程,根据一系列过程规则、文档、信 息、或者任务能够在不同的执行者之间传递、执行。 ( 2 ) g i g ac - r o u p 2 的定义 工作流是经营过程中可运转的部分,包括任务的顺序以及由谁来执行、支持任务的信息 源、评价与控制任务的跟踪、报告机制。 ( 3 ) a m i ts h e t h 5 】的定义 工作流是一种多任务协调执行的活动,这些任务分别由不同的处理实体来完成。一项任 务定义了需要做的某些工作,它可用各种形式来进行定义,包括在文件或电子邮件中的文本 描述、一张表格、一条消息以及一个计算机程序。用来执行任务的处理实体可以是人。也可 以是计算机系统( 比如一个应用程序、一个数据库管理系统) 。 以上这些对工作流的定义是用非形式化语言对工作流所进行的描述,虽然各有不同,但 基本上都达成了这样一个共识:3 2 作流是经营过程的一个计算机实现,而工作流管理系统则 是这一实现的软件环境,这些工作流的定义分别反映了经营过程如下几个方面的问题即经 营过程是什么( 由哪些活动、任务组成,也就是结构上的定义) 、怎么做( 活动间的执行条件、 规则以及所交互的信息,也就是控制流与信息流的定义) 、由谁来做( 人或者计算机应用程序, 也就是组织角色的定义) 、做的怎么样( 通过工作流管理系统进行监 空) 。 工作流模型是对工作流的抽象表示,也就是对业务过程的抽象表示。由于工作流在计算 机环境下运行,因此必须建立相应的工作流定义所需要的组件或元素。理想的工作流模型能 够清楚地定义任意情况下的工作流,能够适应用户在建模过程中所提出的各种要求。然而, 到目前为止,人们虽然提出了不少有意义、有见解的工作流模型,但从模型的能力上看,距这 一理想情况尚有一定差距。 由于工作流必须首先描述清楚一个业务过程是怎样进行的,因此,许多工作流模型都是 从过程定义入手,比如流程图、状态图、活动网络图等等。这一类基于有向图模型的优点是 比较直观、容易理解,一般情况下,图中的节点表示过程中的活动或者状态,而有向弧则表示 节点间的时序依赖关系。不少工作流产品正是采用了这种模型,但其缺点是比较简单,不能 处理复杂的过程逻辑。缺乏柔性。 第2 页 国防科学技术大学研究生院工学硕士学位论文 为了便于在不同格式的模型之间实现相互交换,有的模型还提出了规范的描述语言,我 们称之为“工作流定义语言”。比较典型的有工作流管理联盟提出的x p d l 7 1 。i b m f l o w m a r k 的f d l ( f l o w m a r kd e f i n i t i o nl a n g u a g e ) 等。这些工作流定义语言都有着自己特定的语法规范。 但缺乏一种统一的模式。 目前,市场上工作流产品十分丰富,它们在功能、规模和应用范围上各有特色,其中 f i l e n e t 、j e t f o r m 、m m 和a c t i o n 四个公司开发的工作流产品比较有代表性,在一定程度上 代表了几个不同的研究发展方向。 针对目前工作流产品存在的不足和信息技术、分布对象技术、i n t e r n e t i n t r a n e t 技术的 发展趋势,从技术与应用角度看,在今后一段时间内,工作流管理技术的研究及产品的主 要发展方向是: ( 1 ) 面向复杂企业应用的工作流管理系统。目前的工作流技术和产品难以支持复杂的 企业应用,对已有企业应用的集成能力也显然不足,因此,支持复杂企业应用和 应用集成的工作流管理系统将会得到充分的重视和长足的发展。 ( 2 ) 扩展工作流模型的描述能力。现有工作流系统的模型在企业应用中的描述能力不 足,主要反映在工作流模型的语义在描述复杂过程时,能力不足和活动属性的定 义不够丰富。需要在进一步深入分析的基础上,丰富工作流模型的语义和活动属 性的定义。 ( 3 ) 代理技术与工作流管理技术的结合。代理技术与工作流技术都是近年来受到广泛 重视并得到长足发展的计算机软件技术,在分布对象技术的基础上,充分发挥工 作流技术在灵活性方面的优势和代理技术在知识表达、事务处理、智能性能方面 的优势,将这两种技术进行有机结合,以工作流管理为基础,以代理技术为核心, 将开发出具有良好前景的应用软件产品。 ( 4 ) 内置到商用企业应用软件包中。在过去的几年里,为了使通用软件能够满足客户 提出的特别需要,s a p 等公司将工作流技术引入到他们的产品中,使用户可以按 照预定的顺序调用这些产品的不同功能模块,满足本企业的特殊需求。 ( 5 ) 基于w e b 的工作流。随着w e b 技术的普及,基于w e b 的工作流技术将得到充分 的发展。工作流可以通过w e b 扩展到多个企业,并将实现多个基于w e b 的工作流 服务器之间的协同工作。 ( 6 ) 分布式工作流。经过几年的发展,工作流管理系统的结构已经由原来的只能支持 单一的工作组环境,发展到现在可以支持企业级( 甚至企业问) 的工作流环境。 一个工作流实例可以通过局域网、广域网分布在不同的服务器和客户端,而且服 务器的故障所造成的影响将被减少到最小。因而,大大提高了系统的可扩展性、 实用性和管理能力。 m 融入事务管理的概念。目前大部分工作流产品不支持事务的概念,甚至不能保证 活动的执行是一个a c i d ( a t o m i c i t y ,c o n s i s t e n c y ,i s o l a t i o n ,d u r a b i l i t y ) 的事务。 第3 页 国防科学技术大学研究生院工学硕士学位论文 这意味着系统不能保证工作流实例的正常运行,也无法保证系统能够正常运转。 当工作流非正常中断时,工作流产品也无法保证能够正确地恢复数据。有些供应 商已经考虑到这个问题,并做了一些努力,但工作流产品在这方面的性能还有待 改进。 ( 8 ) 工作流模型的分析和仿真工具。目前,越来越多的用户要求能够对工作流模型进 行评估和性能测试,仿真和性能监控工具的引入,将不可避免地成为新一代工作 流产品的发展趋势。 1 3 课题主要研究工作和成果 工作流管理系统的设计和实现是一个复杂的工程,即使是一个轻量级的工作流管理系 统,其设计开发也要分步骤进行,而工作流建模和工作流引擎又是工作流管理系统的核心, 因此本文的研究工作主要是涉及工作流引擎和工作流建模。 我们采用关系数据库来存储过程模型数据,用它作为和工作流引擎相互交互的接口; 同时工作流引擎的控制数据、相关数据、业务数据也用关系数据库来存储和管理。 采用关系结构,以关系型数据库为支撑,具有较多的优势。 ( 1 ) 工作流引擎中的各种程序逻辑可以通过r d b m s ( 关系数据库管理系统) 所提供的存 储过程,触发器等机制实现,事务的并发控制也可以通过r d b m s 所提供的机制来 实现。 ( 2 ) 与工作流引擎相关的各种控制数据( 包括业务活动的状态数据) 可以存储在数据库 系统中;利用d d l ,d m l ,d q l 等机制和关系结构可以方便地定义和操作工作流引 擎中的各种数据格式和数据结构。 ( 3 ) 与此有关的数据的完整性可以由数据库管理系统来维护;如r d b m s 提供了一些 事务处理机制,保证了工作流关系系统中某些操作的原子性;数据库异常处理机制, 保证了工作流管理系统运行异常的有效捕获。此外,r d b m s 性能优化手段也比较 系统和成熟。 ( 4 ) 由于一般应用系统的开发支撑环境都是基于某个关系数据库的,所以工作流引擎 也可以方便地嵌入进来,便于应用开发环境集成。 论文所做的主要工作和取得的成果如下: 针对现有工作流管理系统庞大复杂、使用困难、架构封闭、难以和应用集成等问题, 提出了构建基于组件的轻量级工作流管理系统的思想。它的体系结构遵循w f m c 的工作 流参考模型标准,是一个单引擎的可扩充的工作流管理系统。 从构建轻量级工作流管理系统的初衷出发,本文构建了一个实用的工作流模型,此工 作流模型由过程模型、组织模型和信息模型组成,分别描述了工作流的业务组成、流程的 参与者、流程加工的对象。过程模型基于活动网络图,是对w f m c 的x p d l 过程模型的 第4 页 国防科学技术大学研究生院工学硕士学位论文 简化;组织模型能够采用最少的组织概念灵活的表示各种组织结构;信息模型使用x m l 表示各种简单和复杂数据。 基于e r md i a g r a m4 图形组件,设计实现了一个可视化的工作流建模控件。主要实现了 以下功能:图形化定义流程,流程模型的检测,流程模型的信息化。 采用面向对象的编程思想,设计实现了工作流执行引擎类。主要实现以下两个方面的 功能:工作流实例的创建及监控,工作流业务规则的执行 用工作流执行引擎类和建模控件构造了一个工作流实验系统,成功实现了流程的发起 和调度,取得了良好的效果。 1 4 论文的组织 本文共分五章,各章的内容和组织如下: 第一章本章主要介绍论文的研究背景和现状、主要内容和研究成果及论文的组织结 构。 第二章本章主要介绍了工作流的基本概念和工作流技术、理论。 第三章本章主要介绍了实现一个工作流系统需要的各种技术。 第四章本章通过e r md i a g r a m4 图形组件设计和实现了基于活动网络图的工作流建 模工具,通过图形化的界面来给一个业务过程进行建模,同时还提供了模型检测,检测通 过后可以把过程模型数据保存在关系数据库中。 第五章本章基于关系数据库,以a s e n e t 为开发平台设计和实现了一个工作流引擎执 行类。该引擎类结构清晰、功能强大、扩充性强,可以完成大部分流程模式的调度,通过 和数据库操作类的配合能够控制和管理一个复杂的工作流程。同时把这两个类进行封装, 形成工作流引擎组件,对外提供一系列的接口供用户调用。应用数据库管理系统、工作流 建模工具、工作流引擎组件组成了一个轻量级的工作流管理系统,并且成功运行了一个流 程实例。 第5 页 国防科学技术大学研究生院工学硕士学位论文 第二章工作流技术分析 2 1 工作流技术概述 ( 1 ) 工作流的起源和发展嗍 工作流( w o r k f l o w ) 的概念是企业管理( e n t e r p r i s em a n a g e m e n t ) 中为提高工作效 率而产生的,它通过先进的电子通讯和网络技术,尽量使得企业中并行任务的执行过程能 够线性化。如果从用户使用的角度来看,就相当于特定的任务送到用户的桌面,用户可以 使用一些应用工具来存取和处理数据,并按照要求执行任务,最后将执行结果传递给下一 用户;这样,一步一步下去,就形成了相应的“工作流” 工作流管理最早起源于8 0 年代初期的表单传递系统。当时,个人计算机作为信息处 理的工具尚未普及,人们为了提高信息收集、处理、存储、应用、传递、共享的效率,而 希望建立一种无纸化的计算机工作环境,于是一些公司建立了自己专用的或可商品化的表 单传递应用系统( f o r m s - r o o t i n ga p p l i c a t i o n ) ,这些系统通常运行在大型机或小型机上, 用于实现日常表单处理的电子化和自动化,这种系统可以看成是现代工作流管理系统的一 个雏形。 8 0 年代中期,f i l e n e t 和v i e ws t a r 等图形图像处理公司率先开拓了工作流产品市场, 成为最早的一批工作流产品供应商。他们把图像扫描、复合文档、结构化路由、实例跟踪、 关键字索引以及光盘存储等功能结合在一起,形成了一种用于文档处理的图像处理系统, 它可以把扫描得到的计算机文档按照一定的规则发送给相关人员,这便是早期的工作流管 理系统。f i l e n e t 于1 9 8 4 年推出的w o r k f l o wb u s i n e s ss y s t e m 、v i e ws t a r 于1 9 8 8 年推 出的v i e ws t a r 、a c t i o nt e c h n o l o g y ,8 0 年代推出的c o o r d i n a t o r 等便是其中典型代表。 进入9 0 年代,工作流管理系统也由最初的创造简单的无纸办公环境转而成为同化企 业复杂信息环境,实现业务流程自动执行的必要工具。1 9 9 3 年工作流技术的标准化组织, 工作流管理联盟1 f 牝( w o r k f l o wm a n a g e m e n tc o a li t i o n ) 的成立,更标志着工作流技术在 计算机应用领域之中被明确的划分出自己的一席之地,相应的概念和术语得到人们的认 可,把工作流的技术研究以及相关的产品开发带入了一个崭新的阶段。 ( 2 ) 工作流的定义 目前为止,工作流定义仍没有完全统一的定义,所有定义只是对工作流从不同角度进 行描述,下面这些典型定义可以使我们对工作流的一些基本特性有一定的了解: 工作流管理联盟( w f m c ) :工作流是企业业务流程完全或部分的自动化,它根据一定 的过程规则集把业务所需的文档、信息或任务从一个参与人传递到下一个参与人。 g i g ag r o u p 的定义:工作流是经营过程中可运转的部分,包括任务的顺序以及由谁来 第6 页 国防科学技术大学研究生院工学硕士学位论文 执行、支持任务的信息流、评价与控制任务的跟踪、报告机制。 i b m a l m a d e nr e s e a r c hc e n t e r 3 1 的定义:工作流是经营过程中的一种计算机化的表示 模型,它定义了完成整个过程所需要的各种参数。这些参数包括对过程中每一个单独步骤 的定义、步骤间的执行顺序、条件以及数据流的建立、每一步骤由谁来负责以及每一活动 所需要的应用程序。 a m i ts h e t h 的定义:工作流是涉及到多任务执行的活动,这些任务分别由不同的处理 实体来完成。一项任务定义了需要做的某些工作,它可以用各种形式来进行定义,包括在 文件或电子邮件中的文本描述、一张表格、一条消息以及一个计算机程序。用来执行任务 的处理实体可以是人,也可以是计算机系统。 w m p v a n d e ra a l s t n 定义:工作流是一系列工作的便序集。工作的序列可以有很多 的方式,比如工作x 与y 满足x 计算机管理:工作流管理是由计算机管理的企业业务流程,而不是手工管理的流 程,也不是部分步骤由计算机来完成的计算机应用。 自动流转:流程实现任务及任务信息在流程参与人间的自动流转,而无需手工指 派任务。 流程有显式或隐式的计算机定义:定义明确描述了流程在计算机上执行所需的一 切信息。 2 2 工作流参考模型 工作流产品增多和工作流市场的繁荣不仅带来了技术的革新和应用的发展,同时也带 来了技术的不兼容性,使得各种工作流产品之间、工作流系统同其他应用系统之间难以互 操作。由此,工作流管理的规范化,标准化工作迫在眉睫。 1 9 9 3 年,在欧洲成立了工作流管理联盟( w o r k f l o w m a n a g e m e n t c o a l i t i o n ,简称w f ) 。 它是推行工作流管理规范化的非盈利性组织,目前大约由2 0 0 个成员,包括供应商、系统 集成商、用户和研究人员等。该组织自成立以来,相继制定了工作流的相关标准和规范【l 】, 包括: 1 访问w f m s ( 工作流管理系统,w o r k f l o wm a n a g e m e n ts y s t e m ) 服务功能的a p i s ; 2 w f m s 间及与应用间的协议描述; 第7 页 国防科学技术大学研究生院工学硕士学位论文 3 已颁布的工作流管理规范有: w f m c t c o o l 0 0 3 ( 1 9 9 5 年1 月) 工作流参考模型; w f m c t c o o 一1 0 1 1 ( 1 9 9 6 年6 月) 术语和词汇; w f m c w g 0 1 1 0 0 0 ( 1 9 9 5 年2 月) 工作流过程定义读写接口; w f m c t c 一1 0 1 6 一x ( 1 9 9 9 年1 月) 接口l :过程定义交换与实例; w f m c t c 一1 0 0 9 ( 1 9 9 8 年7 月) 工作流管理应用编程接口规范; w f m c - - t c - - 1 0 1 2 ( 1 9 9 6 年1 0 月) - - t 作流标准一互操作概要描述; w f m c t c 一1 0 1 8 ( 1 9 9 8 年9 月) 工作流标准一互操作i n t e r n e te - m a i l m i m e 捆绑; w f m c t c 一1 0 1 5 ( 1 9 9 6 年1 1 月) 审计数据规范: 1 r f m c t c 一1 0 1 9 ( 1 9 9 8 年2 月) 工作流安全考虑白皮书。 工作流参考模型来源于对普通工作流程序结构的分析,确定结构中的接口,这些接口 可以使不同产品在不同的结构层次上协同工作。所有工作流系统都包含一系列的公共组 件,组件之间采用一套被定义好的方法进行协作;不同的产品在公共的组件中,会表现出 不同的处理能力。为了实现不同工作流产品之间的协同工作,需要在这些组件之间制定一 套标准的接口和数据交换格式。通过实现这些标准接口,可以达到产品间的协同工作。 下图 2 1 描述了工作流体系结构中的工作流运行控制服务和围绕它的外部接口组成: 图2 1 工作流参考模型钼件和接口图 工作流执行服务器周围的接口是w a p i ( w o r k f l o w a p i s ) ,通过这些接口可以访问工作 流系统的服务,这些接口还控制工作流控制软件与其他系统组件问的交互。在这五个接口 中的许多功能,都是被2 个或更多接口同时拥有的,因此w a p i 可以看作是统一的服务接 口,可以交叉使用这6 个接口来支持工作流管理功能,而不是单独的使用某个接口。 ( 1 ) 工作流执行服务 工作流执行服务是一个由若干工作流引擎组成的软件服务,用于创建、管理和执行工 作流实例。它为过程和活动实例提供运行环境,解释并使部分或整个过程定义处于激活状 第8 页 国防科学技术大学研究生院工学硕士学位论文 态,通过接口与处理各活动所需的外部资源进行交互。 其中,工作流引擎为工作流实例的执行提供运行环境。它是指工作流作为应用系统的 一部分,并为之提供对各应用系统有决定作用的根据角色、分工和条件的不同决定信息传 递路由、内容等级等核心解决方案。例如开发一个系统最关键的部分不是系统的界面,也 不是和数据库之间的信息交换,而是如何根据业务逻辑开发出符合实际需要的程序逻辑并 确保其稳定性、易维护性( 模块化和结构化) 和弹性( 容易根据实际业务逻辑的变化做出 程序上的变动,例如决策权的改变、组织结构的变动和由于业务方向的变化产生的全新业 务逻辑等等) 。包括以下一些典型功能: 1 解释过程定义; 2 控制过程实例创建、激活、暂停、终止等; 3 在过程活动之间“导航”,包括串行或并行操作、最终期限调度、工作流相关数据 解释等; 4 特定参与者的登录与注销; 5 为用户鉴定工作项目,提供支持与用户交互的接口; 6 维护工作流控制数据和相关数据,将工作流相关数据从应用程序或用户端传送到其 他应用程序或用户; 7 支持调用外部应用和连接任何工作流相关数据的接口; 8 监视活动,以实现控制、管理和核查。 大体上来说,工作流引擎分为2 类:基于关系结构;基于非关系结构;其实也就是工 作流引擎中的数据模型( 即机构模型和数据模型) 通过哪种结构来表达的问题。 ( 2 ) i 作流过程定义及交换接口 设计活动和最后的过程模型输出,称为过程定义。在运行期间过程定义可以被工作流 引擎解释。 在建模或定义工具与运行时期工作流管理软件间的接口,被称为过程定义导入导出 接口。这个接口的特点是:具有标准转换格式和a p i 调用,从而支持过程定义信息间的互 相转换。这个接口也支持已完成的过程定义间的互相转换,或过程定义的一部分。例如, 过程定义的改变或者活动中的属性改变。 w f m c 专门为此接口提供了一个元模型,用它可以表示对象、对象间的关系和过程定义 中的属性,从而形成在产品之间交换这些信息的基本转换格式。在工作流系统之间,或者 工作流与过程定义产品之间进行a p i 调用,是访问工作过程调用的一般方法。访问可以是 只读、只写或读写,可以是控制一组在元模型中定义的标准对象。 ( 3 ) 工作流客户端功能 它的作用是给用户提供一种手段,以处理过程实例运行过程中需要人工干预的任务, 每一个这样的任务就被称作是一个工作项,它包括处理上的一些要求( 如处理时间的限制) 及待处理的数据对象等。w f m s 将为每一个用户维护一个工作项列表,它表示当前需要该用 第9 页 国防科学技术大学研究生院工学硕士学位论文 户处理的所有任务。 客户与工作流执行服务之间的接口为接口2 ( 客户应用程序a p i ) ,盯m s 的各种服务, 如会话连接、过程控制、活动控制、过程状态、活动状态、工作项列表的处理以及过程实 例的管理等都可以通过此接口而得到。 ( 4 ) 被调应用程序 被调应用程序指工作流执行服务在过程实例的运行过程中调用的,用以对应用数据进 行处理的应用程序。在过程定义中包含有这种应用程序的详细信息,如类型、地址等。目 前己有的几种方式包括应用代理( 它通过一个标准的接口同执行服务进行交互) 、某种标准 的互换机制、本地过程调用、远程执行调用、o r b 等。接口3 的目标就是提供一些标准的 服务供应用代理使用。基于这些服务也可以开发出一些专门的应用直接同工作流执行服务 交互。关于这些服务的语义及语法细节还有待更深入的研究。目前初步确定的服务大致可 分成会话建立、活动管理( 双向的) 以及数据处理等几类。 ( 5 ) - 1 - 作流系统的互操作 工作流管理联盟的耳标之一是定义一个标准,使不同厂商提供的工作流产品能够协同 工作,整个系统能够无缝的在各个产品之间传递任务项,实现应用集成。工作流互操作性 ( w o r k f l o wi n t e r o p e r a b i l i t y ) 指的是两个或多个工作流引擎通信和一起协调工作的能力。 w f m c 定义了在不同提供商的工作流系统之间无缝传递工作项的标准,提出了几种不同级别 的互操作性方案,从简单任务传送到工作流应用程序的完全过程定义、相关数据的交换。 这些方案包括离散连接、层次的( 嵌套子过程) 、固定连接( 对等的) 和并行同步。 在异构的工作流系统间需要传输的信息流和控制流有:活动或子过程的激活、过程 活动实例的状态、工作流相关数据与应用数据的传输、同步点协作、过程模型的读写等。 工作蠢a p i 与交换格式工作藏a p i 与交换格式 1 卜 日剧 图2 2 工作流互操作接口 上图给出了异构工作流系统之间交互的信息与控制流情况,它反映的是一般情况下在 异构工作流系统之间交互的信息,w f m c 将异构工作流之间交互信息的接口定义为接口4 。 在不同工作流管理系统之间实现互操作可以采用不同的技术来实现,如: 第l o 页 国防科学技术大学研究生院工学硕士学位论文 1 直接编制w f m s 之间的互操作函数来实现交互。 2 在w f m s 之间进行消息传递。 3 使用公共网关来连接不同的w f m s 的协议和格式。 4 使用共享数据存储方式来实现信息交互。 ( 6 ) 系统管理和监控工具 系统管理与监控是复杂软件系统一个非常重要的功能。在实际应用中,尤其是在企业 应用中,系统在运行过程中不可避免地会出现许多意外情况,正确及时地处理这些意外情 况对于保证应用系统良好运行具有十分重要的意义。除了在系统设计实施中充分考虑各种 情况,提高应用系统的可靠性和健壮性外,提供良好的系统管理与监控工具对于提高系统 的应变能力,充分发挥用户处理复杂问题的聪明才智是一个有效的方法。 工作流系统管理与监控工具能够在对工作流在整个组织内的流动状况进行监视,并提 供一系列的管理功能,实现安全性、过程控制和授权操作等方面的管理。它包括以下几个 方面的功能: 1 建立、设置和优化组成工作流管理系统的各个软件。 2 对过程模型进行实例化。 3 将过程模型中的角色实例化。 4 将运行中的过程实例、活动实例和数据分发到各个工作流引擎中。 5 启动、挂起、恢复和终止过程实例。 6 管理正在执行的过程实例,并对正常结束或异常退出的过程实例的历史数据进行统 计和分析。 ( 7 ) w a p i 与接口 w a p i 是一组工作流应用编程接口函数及其相应的数据交换格式,调用这些接口函数可 以完成工作流联盟定义的5 类接口的功能。这5 类接口需要的操作函数包括一组a p i 调用 函数和一些数据交换函数。 1 a p i 调用:完成连接建立、过程控制、活动管理等功能; 2 数据交换函数:数据交换格式的定义与转换函数,能够满足过程数据传递和工作流 相关数据传递的需要。 w f m c 定义了5 类接口: 1 接口1 :工作流服务和工作流建模工具间的接口,包括工作流模型的解释和读写操 作; 2 接口2 :工作流服务和客户应用程序之间的接口,这是最主要的接口规范,它约定 所有客户方应用与工作流服务之间的功能操作方式; 3 接口3 :工作流引擎和直接调用的应用程序之间的直接接口; 4 接口4 ;工作流管理系统之间的互操作接口; 5 接口5 :工作流服务和工作流管理工具之间的接口。 第l l 页 国防科学技术大学研究生院工学硕士学位论文 2 3 工作流管理系统 通常,工作流管理系统指运行在一个或多个称为工作流引擎的软件上的用于定义、实 现和管理工作流运行的一套软件系统,它和工作流执行者( 人、应用) 交互,推进工作流 实例的执行,并监控工作流的运行状态。在这里需要强调指出的是工作流管理系统不是企 业的业务系统。在很大程度上,工作流管理系统为企业的业务系统运行提供一个软件支撑 环境,非常类似于在单个计算机上的操作系统。只不过工作流管理系统支撑的范围比较大、 环境比较复杂而已,所以也有人称工作流管理系统是业务操作系统( b o s b u s i n e s s o p e r a t i n gs y s t e m ) 。在工作流管理系统的支撑下,通过集成具体的业务应用软件和操作 人员的界面操作,才能够良好地完成对企业经营过程运行的支持。所以,工作流管理系统 在一个企业或部门的经营过程中的应用过程是一个业务应用软件系统的集成与实施过程。 工作流管理系统可以用来定义与执行不同覆盖范围( 单个工作者、部门、全企业、企 业问) 、不同时间跨度( 分钟、小时、天、月) 的经营过程。这完全取决于实际应用背景 的需求。按照经营过程以及组成活动的复杂程度的不同,工作流管理系统可以采取许多种 实施方式,在不同的实施方式中,所应用的信息技术、通信技术和支撑系统结构会有很大 的差别。工作流管理系统的实际运行环境可以是在一个工作组内部或者在全企业的所有业 务部门。 比较有影响的工作流管理系统产品有: 1 i b m 公司的f l o w m a r k f l 刁:能有效地支持组织模型,由程序员进行具体实现,通过 面向对象思想,提供高层次的重用,通过对结点的任务指派实现分布处理。 2 i b m 公司的l o t u sn o t e s ! ”j :客户端软件称为n o t e s ,服务器软件称为d o m i n o 。d o m i n o 提供基本的工作流功能,允许基于数据库和基于e - m a i l 的应用,提供代理、复制和w e b 集成等功能。 3 s t a f f w a r e 公司的s t a f f w a r e 1 4 】:为终端、w i n d o w s 、m a c s 和j a v a 客户提供相同的 过程定义形式,支持分布配置,允许无代码开发应用。 4 t e a m w a r e 公司的t e a m w a r ef l o w ”】:具有很好的动态处理能力,支持不完整的过程 定义,可在过程实施中修改任务实施方案。 5 f i l e n e t 公司的v i s u a lw o r k f l o w 1 6 1 :工作表可以裁剪,采用面向对象的过程定义 方法,允许继承层次,提供简单的图形定义界面。 6 w 4 公司的w 4 1 7 l :该产品为i n t e r n e t 上的应用而设计,提供i n t e r n e t 上的过程定 义工具,可自动生成h t m l 描述。 ( 1 ) 工作流管理系统的分类嘲【1 0 1 1 1 目前已有上百种声称具有工作流管理功能的商品化软件或原型系统。为了对这些系统 的功能、特点等有一具体清晰

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论