已阅读5页,还剩66页未读, 继续免费阅读
(计算机科学与技术专业论文)支持同步协作的工作流管理系统的关键技术研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
国防科学技术大学研究生院学位论文 摘要 在工作流管理系统的研究和应用过程中,逐渐暴露出许多问题和不足,缺乏 对同步协作的支持能力即是其中之一。本文希望提出一种支持同步协作的工作流 系统来解决这一问题。文章说明了问题提出的背景,指出了工作流系统支持同步 协作的意义及研究中要解决的主要问题和难点。分析了现实中存在的对工作流系 统同步协作的需求,指出了现有工作流系统在同步协作支持方面的不足,给出了 支持同步协作的工作流系统的体系结构。为了支持同步协作,本文首先对工作流 系统的建立时期功能进行改进,给出了一个支持同步协作的工作流过程模型,该 模型具有对同步协作活动的描述能力,可以在工作流过程定义中指定活动的执行 方式,声明所集成的外部应用及其共享对象。对于多个参与者同步协作执行的活 动,还可以定义任务的结束策略。由于工作流系统需要集成多种多样的外部应用, 而同步协作活动往往在外部应用中完成,为了使工作流系统能够以一致的方式集 成各种外部应用以支持同步协作,本文还提出了标准的同步协作外部应用集成框 架,主要包括工作流端的“标准外部应用调用接口”和外部应用端的“工作流使能 接口”,并以此为基础,对工作流引擎进行了改进,解决了支持同步协作所中相 关的协作意识、会话控制、协作活动控制、并发控制、协作历史和原因记录等多 方面问题。经过这些改进,使得工作流管理系统具备了在活动中支持同步协作工 作的能力。最后,本文还给出了一个支持同步协作的工作流系统的参考实现。 关键词:工作流同步协作工作流使能应用代理 i 一 国防科学技术大学研究生院学位论文 a b s t r a c t i nt h ep r o c e s so f t h er e s e a r c ha n da p p l i c a t i o no f w o r k f l o wm a n a g e m e n t s y s t e m , s o m ep r o b l e m sa n ds h o r tp o i n t sa r eg r a d u a l l ye x p o s e d , a m o n gw h i c hi st h el a c ko f s u p p o r t i n ga b i l i t yf o rs y n c h r o n i z e dc o o p e r a t i o n t os o l v et h i sp r o b l e m , t h i sp a p e r d e s i g n saw o r k f l o ws y s t e mw i t ht h ea b i l i t yo f s y n c h r o n i z e dc o o p e r a t i o n i nt h ep a p e r , t h ea u t h o rd e s c r i b e st h eb a c k g r o u n do fr a i s i n gt h i sp r o b l e m ,t h es i g n i f i c a n c eo f w o r k f i o ws y s t e mw i t h s y n c h r o n i z e dc o o p e r a t i o n , a n dt h e m a i np r o b l e m sa n d d i f f i c u l t i e sw eh a v et os o l v ei nt h er e s e a r c h 础sp a p e ra n a l y z e st h er e q u i r e m e n tf o r t h es y n c h r o n i z e dc o o p e r a t i o ni na p p l y i n gt h ew o r k f l o ws y s t e mt ob u s i n e s s ,p o i n t s o u tt h e s h o r t a g e o ft r a d i t i o n a lw o r k f l o ws y s t e mi n s u p p o r t i n gs y n c h r o n i z e d c o o p e r a t i o n , a n dg i v e sa l la r c h i t e c t u r eo faw o r k f l o ws y s t e mw i t hs y n c h r o n i z e d c o o p e r a t i o ns u p p o r t i n ga b i l i t y t os u p p o r ts y n c h r o n i z e dc o o p e r a t i o n ,t h i sp a p e r m a k e sa ni m p r o v e m e n tf o rt h eb u i l d - t i m ef u n c t i o no ft h ew o r k f l o ws y s t e m ,a n d o f f e r saw o r k f l o wp r o c e s sm o d e lw h i c hc a r ls u p p o r ts y n c h r o n i z e dc o o p e r a t i o n 1 r i l i s m o d e le n j o y st h ea b i l i t yo fd e s c r i b i n gt h es y n c h r o n i z e dc o o p e r a t i o n , d e f i n e st h e e x e c u t i v em o d eo f t b ea c t i v i t yi nt h ep r o c e s sd e f i n eo f w o r k f l o w , a n dd e c l a r et h eo u t e r a p p l i c a t i o n sa n di t ss h a r e do b j e c t s f o rt h ea c t i v i t yw i t hm u l t i p a r t i c i p a n t si n v o l v e di n , i ti sp o s s i b l et od e f i n et h ea c c o m p l i s h m e n tp o l i c y a st h ew o r k f l o ws y s t e mh a sb e e n i n t e g r a t e dw i t hd i f f e r e n tk i n d so f o u t e ra p p l i c a t i o n s , a n dt h es y n c h r o n i z e dc o o p e r a t i o n a c t i v i t i e sa r eo f t e nc o m p l e t e dw i t h i nt h e s ea p p l i c a t i o n s , t os u p p o r ts y n c h r o n i z e d c o o p e r a t i o ni nac o n s i s t e n tw a y ,w ed e s i g nas t a n d a r ds y n c h r o n i z e dc o o p e r a t i o n a p p l i c a t i o ni n t e g r a t i o nf r a m e ,i n c l u d i n gas t a n d a r do u t e ra p p l i c a t i o na g e n ti n t e r f a c ei n t h ew o r k f l o ws y s t e me n da n daw o r k f l o we n a b l e di n t e r f a c ei nt h eo u t e ra p p l i c a t i o n e n d ,t h e n ,o nt h eb a s i so fi t ,t h ew o r k f l o we n g i n eh a sb e e ni m p r o v e da n dt h e r e q u i r e m e n t sf o rs u p p o r t i n gt h es y n c h r o n i z e dc o o p e r a t i o nh a v eb e e nm e ti na r e a s s u c ha sc o o p e r a t i o na w a r e n e s s , s e s s i o nc o n t r o l ,c o n c u r r e n tc o n t r o l ,r e c o r d i n go f o p e r a t i o nh i s t o r y a n d u s e r s n o t a t i o no f c a n s a t i o n , a n d s o o n ,b e i n g i m p r o v e d ,w o r k f i o ws y s t e mh a sg o tt h ea b i l i t yt os u p p o r ts y n c h r o n i z e dc o o p e r a t i o n a e t i v i t e s k e y w o r d s :w o r k f l o w , s y n c h r o n i z e dc o o p e r a t i o n , w o r k f l o we n a b l e d , a p p l i c a t i o n 国防科学技术大学研究生院学位论文 图2 1 图2 2 图2 3 图4 1 图4 - 2 图4 3 图4 - 4 图4 5 图5 - i 图5 - 2 图5 - 3 图5 - 4 图5 5 图5 6 图5 - 7 图6 1 图6 - 2 图6 3 图6 4 图6 5 图6 - 6 图6 7 图6 _ 8 图目录 w f m c 的工作流系统体系结构7 w f m c 的工图表作流系统参考模型8 支持同步协作的工作流系统体系结构1 4 应用调用接口的本地化“”2 6 同步协作应用调用接口的类图2 8 工作流端同步协作应用调用标准接口3 0 应用端同步协作工作流使能接口3 l 工作流集成环境同步协作应用调用过程简图3 1 工作流引擎端中的方法调用传播算法3 9 协作站点第一次加入会话的算法4 1 协作站点加入会话的算法4 2 文本编辑中转换失败的例子4 5 方法传播中的事件触发算法5 0 带操作记录的应用调用过程5 1 操作记录生成算法5 3 与过程定义相关的实体5 5 过程定义相关实体的关系5 6 与过程实例执行相关的实体5 7 过程实例执行相关实体的关联关系一1 5 8 过程实例执行相关实体的关联关系一2 5 9 工作流引擎的主要结构6 0 与同步协作活动相关类的类图6 1 客户端应用的主要结构图6 2 独创性声明 本人声明所呈交的学位论文是我本人在导师指导下进行的研究工作及取得的研 究成果尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已 经发表和撰写适的研究成果,也不包含为获得国防科学技术大学或其它教育机构的学 位或证书而使用过的材料与我一同工作的同志对本研究所做的任何贡献均已在论文 中作了明确的说明并表示谢意 学位论文题目:玄挂回生盐挂盟王佳速篁壅丞蕴的羞链拉盔珏塞 学位论文作者辫:弛 日期:冲饵,月莎甚 学位论文版权使用授权书 本人完全了解国防科学技术大学有关保留使用学位论文的规定本人授权国 防科学技术大学可以保留并向国家有关部门或机构送交论文的复印件和电子文档,允 许论文被查阅和借阅;可以将学位论文的全部或部分内容编入有关数据库进行捡索, 可以采用影印、缩印或扫描等复制手段保存、汇编学位论文 ( 保密学位论文在解密后适用本授权书) 学位论文题目:杰挂回生选经盟三笠速篁堡丕蕴煎差缝拭盔盈峦 学位论文作者签名:盔通 日期加脾,月占日 储舯教师摊:攀阻魄锌,月p 日 国防科学技术大学研究生院学位论文 第一章绪论 1 1 研究背景 工作流的概念起源于生产组织和办公自动化领域,它是针对日常业务中具有相对固 定程序的活动而提出的一个概念,其的目的是将工作分解成定义良好的任务和参与者, 使得参与者能够按照一定的规则和流程来执行这些任务,并对它们进行监控,从而达到 提高工作效率,降低生产成本、提高企业经营管理水平和企业竞争力的目的【刀。工作流 是在多人参与的业务处理中所使用的一系列操作或步骤,这些步骤的发生可以是顺序的 或并行的。工作流管理系统对工作流的管理提供辅助支持,自动完成有关信息交换,从 而加速业务流程的处理速度,提高工作效率和质量。9 0 年代初工作流管理联盟( w o r k f l o w m a n a g e m e n tc o a l i t i o n 简称w f m c ) 的成立标志着工作流技术开始进入相对成熟的阶段。 w f m c 为工作流技术制定了一系列规范。根据工作流管理联盟的定义【2 】,工作流管理系 统是一个支持过程定义,工作流建立、管理和监视的工具集,典型的工作流管理系统包 括三个主要的功能:1 ) 建立时期功能:工作流过程和相关活动的定义和建模功能;2 ) 运行时期控制功能:在一定的运行环境下,执行工作流过程,并完成每个过程中活动的 排序和调度功能;3 ) 运行阶段的人机交互功能:实现各种活动执行过程中用户与i t 应 用工具之间的交互。现在w f m s 的应用已经扩展到制造业、金融业、政府、医疗业、教 育业、电信业、等各行各业。作为支持企业经营过程自动化和企业过程重组的一种手段, 工作流系统发挥着越来越大的作用,也日益受到企业界和学术界的重视,取得了许多成 果。 “计算机支持的协同工作”c s c w ( c o m p u t e rs u p p o r t e dc o o p e r a t i v ew o r k ) ,简称计算 机协同工作,是由m i t 的i r e n ec n e i f 和d e c 的p a u lc a s h m a n 等人于1 9 8 4 年在描述他 们所组织的有关如何利用计算机来支持不同领域和学科的人们共同工作的研究课题时 提出来的,它是信息化进程发展的一种必然产物。c s c w 这一概念一经提出就受到不 同学科的人们的重视,经过二十多年的发展,已成为一个多学科交叉的新兴的研究领域, 有着广阔的应用前景,它将提高人们的工作效率,促进社会生产力的发展,深刻影响人 类群体生产方式、工作方式和生活方式。文献【6 1 中这样定义c s c w :计算机支持的协同 工作是指地域分散的一个群体借助计算机及其网络技术,共同协调与协作来完成一项任 务。它包括群体工作方式研究、支持群体工作的相关技术研究、协同工作系统的建设、 应用系统的开发等部分。通过建立协同工作的环境,改善人们进行信息交流的方式,消 除或减少人们在时间和空间上的相互分隔的障碍,节省工作人员的时间和精力,提高群 第l 页 国防科学技术大学研究生院学位论文 体工作质量和效率,从而提高企业、机关、团体、乃至整个社会的整体效益和人类的生 活质量。c s c w 不仅需要计算机网络与通信技术、多媒体技术等计算机技术的支持, 还需要社会学、心理学、管理科学等领域的知识。我们可以根据c s c w 系统中的基本 活动方式、群体成员地理分布位置、使用的基本工具和工作环境、应用等对c s c w 系 统进行分类 6 1 。如果按照交互协作方式进行分类,则群体成员之间的协同工作按时间划 分可有同步方式和异步方式两种。在同步方式时,群体各成员在同一时间进行同一任务 的协作。在异步方式时,群体各成员在不同时间进行同一任务的协作。 虽然从协作方式上来说工作流管理系统属于典型的“异步”c s c w 系统,但二者还 是有着显著区别的1 7 l 。现有的工作流管理系统的侧重点在于清晰地定义业务过程,并通 过实例化来运行这个过程,通常都具有图形化的建模工具,能够对流程进行条件路由、 异常处理并对流程实例进行监控,主要考虑的是群体之间的流程性的异步协作关系,对 群体之间的同步协作的问题基本没有考虑;而现有的c s c w 系统虽然也考虑异步协作 问题,但在精确的流程的定义、执行、控制方面也没有做太多考虑。工作流管理系统是 用由参与者单独执行的任务序列来模拟和简化现实世界中复杂的协作活动。但是人类群 体的生产和管理活动是复杂的,既有从一个任务到另一个任务的“流程”,又有群体之间 复杂的、实时的协作活动。在应用工作流管理系统处理某些业务的过程中,一些活动往 往需要多人之间进行同步协作才能完成或者更好的完成,而工作流产品在同步协作支持 方面的不足则大大限制其应用范围和深度。这就对现有的工作流管理系统提出了新的要 求:工作流系统应该在支持异步操作的基础上,扩展同步协作的支持能力,更好的模拟 人类群体的生产和管理行为,并借助于计算机的手段提高群体协作的规范性、精确性、 效率和质量。 1 2 主要问题及难点 本文试图针对工作流管理系统在同步协作支持能力方面的不足,对传统工作流管理 系统进行改进,使之具有同步协作的支持能力。 在介绍主要问题及难点之前,先概要介绍一下相关的基础知识。工作流建立阶段的 主要功能是完成业务过程的计算机化定义,这个阶段所得到的结果通常称为过程模型或 过程定义。在w f l v i c 定义的工作流管理系统中,将过程建模得到的结果统称为过程定 义。工作流模型描述了一个能够由工作流执行服务器执行的过程所需要的所有信息。这 些信息包括过程的开始和完成条件、构成过程的活动以及活动间的导航规则、用户需要 完成的任务、可能被调用的应用、工作流引擎之间的引用关系、以及工作流相关数据的 定义。过程定义可能引用组织角色模型中关于组织结构、组织中的角色、人员等信息。 w f m c 定义了一个元模型,它描述了工作流模型内部包含的各个对象、对象之间的关系 及对象的属性,它可以用于建立在多个工作流产品之间交换信息的模型。元模型中包含 以下几类基本实体:1 ) 工作流过程定义:一般包括诸如工作流过程名称、版本号、过 第2 页 国防科学技术大学研究生院学位论文 程启动和终止的条件、过程的输入输出参数等基本属性。2 ) 活动:主要属性有名称、 类型、活动的前后条件、调度约束参数等。活动相应于企业经营过程中的任务,主要反 映完成企业经营过程需要执行哪些功能。3 ) 转移条件:描述活动问的转移,也描述在 工作流运行期间转移发生与否的条件,为过程实例的推进提供导航依据。主要属性包括 基于工作流相关数据构造的转移条件、源活动、目标活动等。4 ) 工作流相关数据:工 作流引擎根据工作流相关数据和转换条件进行推进,工作流相关数据包括数据名称、数 据类型和数据值等。它是工作流引擎执行任务推进的依据。5 ) 工作流参与者:资源集、 资源、组织机构、角色、人、或者系统。资源和角色是抽象参与者。工作流参与者定义, 是活动与其真正执行者间的抽象层。在运行时期,这些抽象定义被计算,并且分配给真 正的人类或者程序。6 ) 外部应用或工具声明:是工作流过程定义中或者其所在包中的 工作流过程需要调用的应用程序、工具的列表。工具的定义也许就是一个名字而已。这 意味着,真正的工具定义不是必要的,并且可能是由对象管理器来处理。这样的好处是, 可以处理多平台环境。外部应用或工具主要属性有应用程序的类型、名称、路径及调用 参数等。 现有的工作流管理系统的过程模型是没有同步协作的描述能力的,要使工作流管理 系统支持同步协作必须首先对过程模型进行扩充,使得用户可以在使用图形化的建模工 具对流程进行建模时也能够对活动的协作方式、同步协作行为、策略、参与者、数据和 应用调用等进行建模,模型的扩展需要经过仔细的考虑,应该具有充分的描述能力、广 泛的代表性和足够的灵活性。 在工作流管理系统中,一个过程是由一系列的活动组成,活动有自动活动和人工活 动两种。自动活动是指由引擎自动执行的活动,不需要人工参与;而人工活动是指由参 与者人工执行的活动,活动的执行过程中一般不与引擎通信。对工作流管理系统而言, 如果要引入同步协作支持能力的话,则应该是在人工活动中引入。工作流中的人工活动 一般也要通过调用外部应用来完成,这种调用不是引擎自动完成的,而是由参与者通过 工作流管理系统的客户端程序如任务表来执行的,只是任务的启动可能需要参与者手工 执行。任务执行的过程中外部应用一般不与工作流系统通讯,只是等到任务执行结束后 给引擎返回一个消息,引擎根据将根据过程定义和工作流相关数据推动过程继续往下执 行。由于外部应用多种多样,调用方式也多种多样,对于不同的外部应用需要编写不同 的程序来调用。工作流系统本身没有对人工活动将要调用的外部应用作出任何假设,即 使是在自动活动中引擎通常也不知道外部应用的执行步骤和过程,只是启动应用和接收 应用执行完成后的消息。工作流管理系统的这种外部应用调用方式使其能很好的将过程 逻辑与应用逻辑进行分离,在实际的企业应用中可以在一定程度上做到在不修改具体功 能模块的基础上通过修改或重定义过程模型来适应业务的变化,从而更好的支持企业业 务过程重组( b u s i n e s sp r o c e s sr e e n g i n e e r i n g b p r ) 。但是这也给在工作流管理系统中 引入同步协作带来了困难:现有的工作流系统无法在过程模型中对同步协作活动进行描 第3 页 国防科学技术大学研究生院学位论文 述,也就不能在执行过程中由工作流管理系统对其进行管理与控制。如果将同步协作引 入工作流管理系统中,有可能会破坏其过程抽象性和应用无关性,从而损坏工作流系统 的核心价值。因此如果要在工作流管理系统中引入同步协作的话,那么就必须解决好工 作流系统与外部应用之间的边界,也就是确定工作流系统与外部应用分别在同步协作中 分别担当什么职责的问题,由工作流系统担任的职责不应该破坏其过程抽象性。由于工 作流系统将要集成的、多个参与者将通过其进行同步协作活动的外部应用多种多样,即 使是在同一个过程中也有可能需要集成多个不同类型的应用,这就需要对人们的同步协 作活动和这些外部应用的功能进行仔细的分析,进行合理的抽象和折衷,使协作群体能 够通过工作流系统与外部应用之问标准的、定义良好的同步协作接口完成同步协作。而 如何定义同步协作接口也是需要仔细考虑的问题,接口的功能必须充分,而且应该有广 泛的代表性和良好的开放性。 在工作流系统中对同步协作活动进行管理和控制,应该考虑如何增加同步协作活动 中参与者的协作意识问题。群体人员的有效协作是实现业务目标的重要手段。因此,支 持同步协作的工作流系统要以为用户服务为中心,提供必要的机制使群体的每一个成员 获得明确的“协作意识”。“协作意识”包括群体意识、信息所有权意识、协作态势意识, 系统状态意识等多方面的含义。增加参与者的协作意识就是让协作者通过工作流系统实 时的了解协作的态势,这种态势既包括某个协作活动的态势,也包括整个流程的态势。 为了做到这一点,需要从工作流任务的分配、认领,协作者交流、操作记录,事件等多 各方面做工作,各方面的措施有机的结合在一起就能使协作者获得清晰、及时的协作意 识。 在工作流系统中对同步协作活动进行管理和控制,还要考虑同步协作的协作控制同 步控制问题。工作流系统必须对同步协作活动进行管理,应该成为同步协作活动的“枢 纽”,成为同步协作的控制中心和协调中心。这也对引擎提出了新的要求,引擎不能再 将人工活动当成一个“黑盒”对待,而应该增加对活动的执行过程进行控制、协调、记录 的控制单元。外部应用也应该提供同步协作控制接口,使得工作流的同步协作控制单元 能够通过该接口对其执行过程进行控制。目前主要的同步协作系统有计算机多媒体会议 系统、协同写作系统、协同计算机辅助设计系统等几类。不同类型的同步协作系统有不 同的群体协作模式、协作控制机制、同步机制、安全机制、应用共享技术、群组通讯支 持等。工作流系统要作为同步协作活动的控制中心,不但要集成支持同步协作的外部应 用,还应该集成不支持同步协作的外部应用,而且要这些应用在工作流系统的管理和控 制下完成同步协作。因此相对于计算机多媒体会议系统等同步协作系统,工作流系统需 要处理的同步协作问题类型更多,情况更加复杂,往往同一个流程中有多个活动需要支 持同步协作。例如,一个活动是同步文本编辑,然后又需要进行同步的表单编辑的活动, 接下来还有同步的设计绘图等等。特定类型的同步协作系统中的技术适用范围有限,不 能被工作流系统直接用来解决所有类型系统的问题。例如协同写作系统中基于语义的冲 第4 页 国防科学技术大学研究生院学位论文 突解决方法就不一定能用于其它类型的系统。因此需要工作流系统采用合理的协作控制 机制,从而使得对同步协作的支持保持一定的抽象性和灵活性。而且我们应该在不影响 工作流系统现有异步协作功能的基础上增加对同步协作的支持。 对于以上所列出的主要问题,本文都进行了相应的研究,提出了自己的解决办法。 1 3 本文的主要工作 本文的主要工作是解决在工作流管理系统中支持同步协作活动所需要解决的主要 问题。文章首先详细的分析了对工作流系统的同步协作需求,改进了工作流模型使之具 有对同步协作机制的描述能力,然后提出了标准同步协作应用集成框架的思想。该框架 包括一个工作流端的同步协作应用代理接口和一个外部应用端的工作流使能接口。并以 此为基础,增加了工作流引擎对同步协作活动的支持能力。通过在引擎中增加了同步协 作控制单元,解决了同步协作的活动执行过程中需要解决的协作意识、同步控制、并发 控制等主要问题。 1 4 本文的主要结构 本文的结构如下: 第一章:序论,介绍了相关研究背景,本文的主要工作,本文研究的目的以及研究 中需要解决的主要问题和难点。 第二章:从总体上说明了一个支持同步协作的工作流系统的体系结构,给出了对主 要问题解决办法的简要说明。对相关的主要的组件、数据结构等进行了说明。 第三章:重点解决工作流模型的改进问题。分析了w f m c 所给出的工作流模型的 不足,对模型进行了改进使之支持对同步协作行为的描述。 第四章:为了实现在工作流系统的框架内以一致的方式集成外部应用实现同步协作 的控制,本文提出一种标准同步协作工作流应用集成框架,并给出了工作流端的同步协 作标准应用调用接口和应用端的工作流使能接口的内容,基于接口定义说明了同步协作 外部应用的调用过程。 第五章:给出了对工作流引擎的同步协作改进,给出改进后工作流引擎的形式化 描述,详细说明了各种相关的数据结构,给出了同步协作的活动控制算法、并发控制方 法及控制相关的各种问题的解决方法。 第六章结束语,对全文进行了总结,指出了文中的不足和未来的工作。 第5 页 国防科学技术大学研究生院学位论文 第二章支持同步协作的工作流系统的总体框架 在详细论述相关内容之前,有必要先了解一下相关基础知识和支持同步协作的工作 流系统的总体框架。 2 1 w f m c 的工作流参考模型【1 l 工作流管理系统出现以后得到了迅速的发展,在许多行业特别是制造业得到了广泛 的应用。工作流技术及工作流管理系统得到广泛重视的原因是它能够充分利用先进的计 算机技术实现业务过程的自动化( b u s i n e s sp r o c e s sa u t o m a t i o n b p a ) ,它可以实现不 同自动化程度的规范的业务管理功能。并且由于工作流管理系统能很好的将过程逻辑与 应用逻辑分离,使其具有良好的灵活性和适应性,从而为企业业务过程重组( b u s i n e s s p r o c e s sr e e n g i n e e r i n g b p r ) 提供了有力的支持。随着对工作流产品需求的不断扩大, 许多软件厂商都推出了自己的工作流产品。这些工作流产品都有着各自的特点,所采用 的协议和接口也各不相同。由于缺乏统一标准,使得这些产品从术语的定义和使用、系 统结构的设计到与应用集成的接口规范上都存在者较大的差异,导致这些产品之间、这 些产品与其它应用之间的集成非常困难。为了建立工作流的相关规范和标准,成立了国 际工作流管理联盟( w o r k f l o wm a n a g e m e n tc o a l i t i o n ,w f m c ) 。w f m c 就是一个以制 定w f m s 国际标准,实现不同w f m s 之间的互联与互操作为目标的国际组织,目前已 被广大研究机构和软件厂商所接受,是我们开展研究工作的基础。为了实现工作流技术 的标准化和开放性,它提出了有关工作流管理系统的一些规范,定义了工作流管理系统 的结构及其与应用、管理工具和其它工作流管理系统之间的编程接口。 w i m c 提出了一个工作流参考模型【l 】【7 j ,该模型给出了抽象的工作流管理系统的功 能组成部件和和接口。它能够满足工作流管理系统和产品所应该具有的主要功能特征, 可以为实现工作流产品之间的互操作提供公共的基础。工作流参考模型的体系结构如图 2 1 所示: 第6 页 国防科学技术大学研究生院学位论文 雷 莒嘉巍 所有的工作流管理系统表现出一些共同的特点,正是这些特点提供了不同产品之间 互相集成和互操作的基础,形成了工作流管理系统的基础结构。所有工作流管理系统都 运行时期控制功能( r 肋- t i m ec o n t r o l 触i o n ) ,负责创建和执行过程实例,定 第7 页 国防科学技术大学研究生院学位论文 制工作流中每一步的活动实例及激活相应资源和应用程序,通知任务参与人员 等。它通常分布在多个计算机平台上执行; 运行时交互功能( r u n - t i m ei n t e m c t i o n sf u n c t i o n ) ,负责具体的参与人员和应用 工具的交互,完成每个活动实例。 根据这三个功能域,一个工作流管理系统可详细划分为以下五大部件:过程定义工 具;工作流运行服务;客户端应用程序;被调用的应用和工具及管理监控工具。w f m c 的工作流系统参考模型就是包含这些部件和袋口的通用模型,如图2 - 2 所示。 图2 2w f m c 的工图表作流系统参考模型 下面我们对各部分的功能和接口进行说明。 工作流执行服务:是由一个或多个工作流引擎构成的软件服务器,用来创建、管理、 执行工作流实例。一个工作流引擎是一个为工作流实例提供运行时期的执行环境的 软件服务器。应用程序可能会通过w a p l ( w o r k f l o wa p p l i c a t i o np r o g r a m m ei n t e r f a c e ) 来与工作流执行服务交互。工作流执行服务器借助一个或多个工作流引擎为过程实 例或活动提供运行环境,负责解释并激活过程定义,与过程所需的外部资源进行交 互。工作流引擎通过客户端应用程序接口( t h ec l i e n ta p p l i c a t i o ni n t e r f a c e ) 与任务表 处理器交互,代表用户资源来组织任务。然后由任务表处理器负责从任务表中选择、 推进任务项,由任务表处理器或者终端用户来控制应用工具的活动。工作流引擎还 可以通过应用程序调用接口( t h ei n v o k e da p p l i c a t i o ni n t e r f a c e ) 直接激活一个应用或 工具来执行一个活动。典型的是调用没有用户界面的后台服务应用程序,当活动执 行的应用程序需要与终端用户交互时,通常使用客户端应用程序接口来调用该应用, 这样可以为用户的任务安排提供更多的灵活性。 过程定义工具:其主要功能是给用户提供一种对实际业务流程进行分析和建模的手 国防科学技术大学研究生院学位论文 段,并生成业务流程的可被计算机识别和处理的形式化描述。接口一( 工作流过程 定义读写接口) 定义了过程定义工具与工作流运行服务之间标准的交互格式和a p i 调用【3 】。 客户端应用程序:工作流系统的客户端应用程序主要由任务表管理器组成。任务表 管理器负责请求分配给用户的任务,并负责通过任务表与工作流执行服务器进行交 互。在一些系统中,只是使用一个桌面应用程序来提供一个简单的任务进入功能, 等待用户注意。在其他一些系统中,任务表的处理可能更智能,可以控制任务在一 些用户问进行分配,并考虑到负载平衡、任务重分配等。工作流引擎支持与客户端 应用程序多种的交互,包括工作流参与者的签到和退出、请求过程实例的开始、任 务排队等候特殊的参与者等等。在工作流参考模型中,更广泛的使用“客户端应用程 序”这个词,而不是“任务表管理器”,从而反映其潜在的广大使用范围,其包含任务 表管理功能的同时也包含过程控制功能。 被调用的外部应用:是指工作流执行服务在过程实例运行过程中调用的,用来处理 应用数据的应用程序或工具。在过程定义中对外部应用进行了定义。接口三( 调用 应用程序接口) 就是希望提供一些标准的服务供应用代理使用。目前该接口还有待 深入研究,较常用的是在数据处理时如何方便、无缝地激活第三方应用。 管理监控工具:其功能是对w f m s 中的过程实例的状态进行管理监控。通过该工具, 管理人员可以了解业务执行情况,也可以干预流程的执行。它与工作流执行服务之 间的交互通过接口五( 管理及监控接口) 来完成。 流程设计人员使用过程定义工具将现实中的业务流程定义成计算机可以识别的形 式化过程定义。工作流执行服务通过接口一得到这些定义,由工作流引擎创建过程实例, 解释过程定义并决定哪些活动可以执行;在实例的执行过程中,工作流引擎负责定制活 动的执行顺序,并把活动和相关信息以工作项的形式发送给某个参与者,并在必要时激 活应用。同时,工作流执行服务也可通过接口四,利用其他的工作流执行服务执行某些 子流程。另一方面,管理人员通过接口五使用监控管理工具和工作流执行服务进行交互, 监控整个流程的执行过程,随时给出报告或做出反应,如停止某一不恰当的过程实例。 最后,对于每个任务参与者,只需要通过接口二获取自己的工作项表单,完成其中的工 作项并提交即可。直至任务的目标达成,该过程实例结束其生命周期。 “活动”与“任务”:本文中将多次用到“活动”和“任务( 项) ”这两个术语,为 了不引起混淆,有必要先先澄清一下这两个术语在本文中的具体含义。在构造阶段定义 一个工作流过程模型时,使用。活动”作为代表某项工作的“构件”,并在该构件上进 一步描述工作是如何进行的。而在运行时期,当活动已经准备好执行,并已经分配给一 个或多个用户执行该工作时,会创建一个任务项加到执行者的任务表中。因此,即使一 个活动和一个任务项都代表了一项工作,但它们出现的时机不同,一个活动可能对应着 多个任务项,这些任务项之间的实际执行者、属性等实际特征可能不完全相同。 第9 页 国防科学技术大学研究生院学位论文 2 ,2 。对工作流管理系统的同步协作需求 随着工作流管理系统应用的不断推广和计算机技术特别是网络技术和分布式软件 技术的飞速发展,人们对工作流技术也提出了更多更高的要求。对同步协作的支持能力 就是其中之一。人们希望在企业管理中应用工作流系统,不但能够保证企业管理流程的 严格、正确、高效的执行,还能够在某些环节具有支持多人以同步的方式协同工作的能 力。这种需求在某些领域尤为突出。例如在某个大型的设计企业,通常一个产品的设计 需要经过力学、结构、材科、表面处理等多个设计部门的协作才能完成,设计过程需要 严格的流程控制来保证设计程序的正确执行和设计数据的传递,这非常适合使用工作流 管理系统来管理。但是产品设计的每一个步骤都需要使用不同的专业c a d ( 计算机辅 助设计) 软件来进行设计,设计数据的格式也各不相同,而且为了提高效率在设计的过 程中可能需要以同步协作的方式进行。有些c a d 软件支持同步协作,而有些不支持, 支持同步协作的c a d 软件其所提供的同步协作功能和机制也不尽相同。显然,由于传 统的工作流管理系统不支持同步协作的活动,从而无法在其自身的环境中以一致的方式 集成和管理这些应用,管理其同步协作工作,也无法通过集成不支持同步协作的应用而 获得同步协作能力。这就对工作流系统提出了新的要求。这种需求大致归纳为三大类1 6 l : 一、应用需求,包含以下内容: 1 实时的协作意识:群体人员的有效协作是实现系统应用目标的重要手段。因 此,系统要以为用户服务为中心,提供必要的机制使群体的每一个成员获得 明确的“协作意识”。“协作意识”有多方面的含义,例如: 实时的群体意识:因为在群体协同工作中,任一参加方的活动往往都会 和其他方相关联或相互影响。有这种意识或感知其他方的存在与影响就 叫做“群体意识”。对于同步协作而言,因为协作活动的实时性,这种 意识还需要具有实时性。也就是说协作者需要随时与其它协作者联系, 实时了解其它协作者的活动。 信息所有权意识:人们需用通过同步协作应用处理信息,而信息往往是 带有某种色彩的,同样的信息对不同的协作者可能会产生不同的影响。 人们需要意识到他们正在使用、共享、或以其它方式处理的信息的归属。 信息与产生它的协作参与者是密切联系的,在任何协同工作中信息所有 权的表示是十分重要的。 实时的协作态势意识:为了成功地完成同步协作任务,协作中的一个实 体( 用户、应用、进程) 必须确切地知道它应该做什么,而这要依赖协作 现状本身。同样,协作的任何改变也将影响协作成员的要做的事。这就 国防科学技术大学研究生院学位论文 是所谓协作成员对协作态势的意识或感知问题。工作流系统通过清晰而 严格的流程定义,通过任务的分配,以及对流程实例的执行状态的监控 让协作者了解当前的局部和整体的协作态势,但这种了解是基于消息机 制的异步行为,是一种被动的了解( 被分配任务) 。在同步协作的活动 中协作者则需要实时的或同步的主动了解协作态势。 实时的系统状态的意识:系统要有这样的机制,如果一个共享对象出现 故障,那么,系统要自动通知各协作方,因为这可能会直接影响它们 下一步的行动。如果不能迅速通知或根本不通知,协作肯定要受影响。 在同步协作的活动中,协作者往往需要同步了解系统的状态,不仅仅是 了解某个活动的结果,还要了解活动执行过程中的系统状态。 2 现实世界同步协作的模型化:如果要在工作流管理系统中集成应用来支持现 实生活中群组的同步协作工作,那么现实世界同步协作行为的模型化就成为 一个重要问题。现有的工作流模型是不支持同步协作的,必须进行扩充。 二、系统需求:支持同步协作的工作流系统是以计算机网络为基础,以支持群体协 同为目标,具有广阔应用领域的一种分布式系统。因此,在设计和开发时从系统的角度 考虑对它的一系列需求。系统应该具有良好的开放性,应该在工作流的框架内支持各种 类型的应用进行同步协作的工作。既能集成那些支持多用户同步操作的系统,也能集成 某些原本不支持多个用户同步协作的应用( 要通过一定的处理,如开发一个适配器) 通 过工作流系统来实现对其内部对象的实时共享操作。其次是需要采用某种组通信模型来 支持协作者之间的通信。还有安全性的要求,应该对参与协作的协作者进行各种精确的 权限控制。工作流系统应该支持对各种类型的、异构应用的调用,这种调用可能是双向 的、分布式的。通常由工作流系统的客户端程序控制对同步协作应用的调用,从而实现 协作控制。工作流系统还应该为协作者之问的实时文本甚至是多媒体交流提供技术支 持。 2 3 现有工作流管理系统在同步协作方面的不足 现有的工作流系统一般只支持由单个参与者执行一个任务,但实际的生产和管理活 动中存在着许多需要多人同时参与执行一个任务的情况,例如前面曾经提到的某设计企 业中多个设计者协同设计产品的例子。传统的工作流系统显然无法对这种多人参与的同 步的协同设计提供足够的支持,因为无法将一个复杂的多人参与的设计活动分解成一个 或多个单个设计者异步工作的流程。即使能够在某个活动中通过任务表调用外部的支持 同步协作设计的c a d 软件,也无法对协同设计的过程进行管理和控制,外部应用中的 同步协作活动完全是“自治”的。相似的例子是地域分布的多个人共同起草一份文档,起 草过程可能是复杂的,文档可能需要经过反复多次的修改,而且这种修改的顺序和哪些 修改人何时进行修改什么位置都是无法预测的。传统工作流系统只能将起草过程顺序 第1 l 页 国防科学技术大学研究生院学位论文 化,在进行过程定义时将起草活动定义成多个活动,每个活动中由一个人来起草、修改 或编写文档的一部分。无法支持参与起草的人以不定的顺序、在不定的时间、多次的修 改文档,而且起草者之间不能实时的了解文档的状态和了解其它起草者的工作,也不能 在起草时与其它起草者进行通信。再例如某公司有一个“工程竣工结算流程”,该流程的 发起者是“工程部”,其中有一个“竣工验收部门审批”环节需要本公司所有其它相关部 门的“部门经理”进行审批并签字确认。而参与审批的部门有可能非常多,更复杂的情况 是,对于不同类型( 或不同金额) 的工程,要求参与审批的部门也可能不同,部门经理 签字也许没有固定的顺序,某些经理可能还需要参考其它某些部门的意见才能做决定, 而且这种交叉参考关系也是不确定的,随工程的类型、规模等的不同而不同。例如: 1 、当“工程类型”= “设备安装”时, 审批者= 设备维修部、技术部、采购部、
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030年智能办公擦鞋机行业深度调研及发展战略咨询报告
- 2025-2030年桥梁预制构件行业市场营销创新战略制定与实施分析研究报告
- 2026年铁路驾驶员岗前培训考试及答案解析
- 2026年测量安全测试题及答案解析
- 2026四川九洲投资控股集团有限公司招聘网络安全(保密)工程师1人笔试参考试题及答案详解
- 2026湖南益阳市桃江县产业发展投资集团有限公司招聘4人笔试参考试题及答案详解
- 2026年台州市属国企联合招聘(第一批)台州市国有资本运营集团有限公司招聘4人笔试备考题库及答案详解
- 2026年武汉市黄陂区幼儿园教师招聘笔试备考题库及答案解析
- 2026年宁德市蕉城区商务局招聘工作人员1人笔试参考试题及答案详解
- 2026年宜昌市虎亭区街道办人员招聘考试模拟试题及答案解析
- 2026年交管12123驾照学法减分完整版试卷附答案详解(轻巧夺冠)
- 2025-2030中国短肽型肠内营养剂行业市场现状分析及竞争格局与投资发展研究报告
- (二模)呼和浩特市2026年高三年级第二次模拟考试生物试卷(含答案)
- 2026年咸阳高新区管委会及下属公司招聘(32人)笔试参考题库及答案解析
- 2026年公立医院信息科工作人员招聘考试笔试试题(含答案)
- 内蒙古包头市2026届高三下学期二模考试(包头二模)物理+答案
- 江西省八所重点中学高三下学期联考历史试题
- 毕业设计(论文)-重锤式破碎机设计
- (二模)包头市2026年高三第二次模拟考试政治试卷(含答案)
- 管道完整性管理-洞察与解读
- 水利水电工程单元工程施工质量检验表与验收表(SLT631.5-2025)
评论
0/150
提交评论