




已阅读5页,还剩66页未读, 继续免费阅读
(计算机应用技术专业论文)基于web服务的多实例工作流的设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于w e b 服务的多实例t 作流的设计与实现 摘璺 摘要 随着i n t e m e t 的快速发展,面向服务的体系结构( s e r v i c e - o r i e n t e da r c h i t e c t u r e , s o a ) 作为一种新的分布式计算技术应运而生,主要应用于企业应用集成和电子商务 处理领域。w e b 服务中的业务流程可以看作是传统的工作流技术在s o a 中的延伸和 发展。因此,有必要对w e b 服务业务流程中所体现出的工作流模式进行分析和研究。 多实例m i ( m u l t i p l ei n s t a n c e s ) 模式是一种重要的工作流模式。本文在以 b p e i a w s ( b u s i n e s sp r o c e s se x e c u t i o nl a n g u a g ef o rw e bs e r v i c e s ,w e b 服务的业务流 程执行语言) 为主要的分析语言的基础上,从面向服务的角度出发,对基于w e b 服务 的m i 模式进行了分析和归类;并进一步提出了m p m i 模式( m u l t i p l ep a r t n e r s m u l t i p l e i n s t a n c e s ) 的概念及其解决方案:在多实例流程与多实例伙伴之间引入了“伙伴域代 理”,由该代理来实现多实例伙伴的自动匹配和定位。随后,本文详细介绍了“伙伴 域代理”在实现基于语义匹配查询时所采用的关键技术:基于本体的“伙伴一组织一角 色”分类模型、基于u d d i 规范的具有能力扩展的“伙伴注册中心”、基于语义的多 实例伙伴匹配算法。最后,本文介绍了基于以上技术的m p m i 原型的具体实现,并 就基于w e b 服务的m i 模式的进一步研究进行了展望。 关键词:多实例工作流模式;w e b 服务;代理;语义匹配;本体模型 作者:刘利 指导老师:徐汀荣 a b s t r a c tt h ed e s i g na n di m p l e m e n t a t i o no f w o r k f l o wi n v o l v i n gm u l t i p l ei n s t a n c e sb a s e do nw e bs e r v l c e a b s t r a c t w i t ht h eg r e a td e v e l o p m e n to ft h ei n t e r n e t ,t h es e r v i c e o r i e n t e da r c h i t e c t u r e ( s o a f o rs h o r t ) i sp r o p o s e dr e a s o n a b l ya san o v e ld i s t r i b u t e dc o m p u t i n gt e c h n i q u e ,w h i c hi s w i d e l ya p p l i e di ne a ia n de l e c t r o n i cb u s i n e s s b u s i n e s sp r o c e s s e si nw e bs e r v i c e sc o u l d h er e g a r d e da st h ee x t e n s i o na n dd e v e l o p m e n to ft r a d i t i o n a lw o r k f l o wt e c h n i q u ei nt h e s o a t h e r e f o r e ,i tw i l lb eo fg r e a ts i g n i f i c a n c et oh a v ea n a l y s i sa n dr e s e a r c hi nt h e w o r k f l o wp a t t e r n sa c c o m p a n y i n gt h eb u s i n e s sp r o c e s s e si nw e bs e r v i c e m i ( m u l t i p l ei n s t a n c e s ) p a t t e r ni sap o p u l a rw o r k f l o wp a t t e r n t oh e # nw i t h , b a s e d u p o nt h eb p e l 4 w s ( b u s m e s sp r o c e s se x e c u t i o nl a n g u a g ef o rw e bs e r v i c e s ) a n do r i e n t e d t os e r v i c e s ,m ip a t t e r n sb a s e do i lw e bs e r v i c ea r ed i s c u s s e da n dc l a s s i f i e d a d d i t i o n a l l y , t h ec o n c e p t i o no fm p m i ( m u l t i p l ep a r t n e r s m u l t i p l ei n s t a n c e s ) p a t t e mi sp r o p o s e d a n ds o d o e si t sr e s o l v e n t , n a m e l yi n t r o d u c i n g p a r t n e r - r e a l mb r o k e r b e t w e e nm ip r o c e s s e sa n d m pp a r t n e r s ,a n dt h eb r o k e rb e i n gi nc h a r g eo fa u t o m a t i cm a t c ha n dl o c a t i o nf o rt h e p a r t n e r s a n dt h e nt h et h e s i sd e s c r i b e st h ek e yt e c h n i q u e si nd e t a i lw h i c ha r eu s e df o r s e m a n t i cm a t c ha n dl o c a t i o n , i n c l u d i n gt h ec l a s s i l y i n gm o d e lo f p a r t n e r - g r o u p r o l e b a s e d o no n t o l o g y , t h ee x t e n s i b l e “p a r t n e rr e g i s t r y ”b a s e do nu d d i ,t h ea l g o r i t h mo fs e m a n t i c m a t c hf o rm u l t i p l ep a r t n e r s f i n a l l y , t h ei m p l e m e n t a t i o no ft h em p m ip r o t o t y p eb a s e do n t h ea b o v et e c h n i q u e si sd e p i c t e dc o n c r e t e l y ,a sw e l la st h eo u t l o o kf o rf u r t h e ri n v e s t i g a t i o n o nt h em ip a t t e r n sb a s e do i lw e bs e r v i c e si sp r e s e n t e d k e yw o r d s :w o r k f l o wp a t t e r n si n v o l v i n gm u l t i p l ei n s t a n c e s ;w e bs e r v i c e ;b r o k e r ; s e m a n t i cm a t c h ;o n t o l o g ym o d e l n w r i t t e nb yl i ul i s u p e r v i s e db yx ut i n g r o n g y9 5 7 0 0 6 苏州大学学位论文独创性声明及使用授权声明 学位论文独创性声明 本人郑重声明:所提交的学位论文是本人在导师的指导下,独立进行 研究工作所取得的成果。除文中已经注明引用的内容外,本论文不含其他 个人或集体已经发表或撰写过的研究成果,也不含为获得苏州大学或其它 教育机构的学位证书而使用过的材料。对本文的研究作出重要贡献的个人 和集体,均己在文中以明确方式标明。本人承担本声明的法律责任。 研究生签名:丛剁日期:兰! :! :! ! 兰! 学位论文使用授权声明 苏州大学、中国科学技术信息研究所、国家图书馆、清华大学论文合 作部、中国社科院文献信息情报中心有权保留本人所送交学位论文的复印 件和电子文档,可以采用影印、缩印或其他复制手段保存论文。本人电子 文档的内容和纸质论文的内容相一致。除在保密期内的保密论文外,允许 论文被查阅和借阅,可以公布( 包括刊登) 论文的全部或部分内容。论文 的公布( 包括刊登) 授权苏州大学学位办办理。 研究生签名:塞i 垒! 日 导师签名:羞垒盗茎 日 期:兰! :! :! 苎:! ! 期:! :堕 基于w e b 服务的多实例工作流的设计与实现 第一章绪论 1 1 课题的背景 第一章绪论 在i n t e m e t 时代,基于w e b 的应用程序取得了巨大成功,使商业活动从砖瓦型的 基础结构转为可以运行在不同系统和位置的全天候在线活动。随着技术的进一步发 展,w e b 服务应运而生。w e b 服务建立在面向服务的体系结构( s e r v i c e o r i e n t e d a r c h i t e c t u r e ,简写s o a ) 基础之上。s o a 是最新的分布式计算技术,可以将软件组 件发布为服务。由于w e b 服务使用开放的标准和灵活的协议,所以可以利用它的相 关技术创建一种通用的平台,以方便商业进程、应用程序、企业、合作伙伴、客户等 之间进行有效的集成。建立在x m l 标准和i n t e m e t 协议基础上的w e b 服务是分布式 计算的下一步发展方向。w e b 服务为那些由不同资源构建的商业应用程序之间的通信 和协作带来了光明的前景,从而使它们可以彼此协作,而不受各自底层实现方案的影 响【”。 当前应用w e b 服务技术的领域可分为两大类:企业应用集成( e n t e r p r i s e a p p l i c a t i o ni n t e g r a t i o n ,简写e a i ) 和经由互联网的b 2 b 的电子商务的伙伴集成【2 】。一 系列位于w e b 服务协议栈高层中的标准、技术和工具将会被制定开发,从而使得世 界上或大或小的商务实体能够很容易地在企业内部或企业之间实现无缝、自动的集 成,以达到支持跨企业或部门的业务流程管理( b u s i n e s sp r o c e s sm a n a g e m e n t ,简写 b p m ) 的目的。 支持b p m 的另一项技术就是工作流技术,它是实现企业业务过程建模、业务过 程仿真分析、业务过程优化、业务过程管理与集成,从而最终实现业务过程的自动化 的核心技术 3 1 。工作流技术经过几十年的发展已逐渐走向成熟,目前,已经成功运用 于银行、电信、生产制造等诸多行业和领域。 随着w e b 服务技术与工作流技术在相关领域的交叉,w e b 服务世界的业务流程 在某种程度上就可以看作是工作流技术在s o a 中的延伸和发展。怎样将一组w e b 服 务组织和协调起来,使它们成为一个整体的商务处理或工作流,以实现更加复杂的功 能,成为w e b 服务整合标准规范亟待解决的问题。 如今业界各厂家或研究机构已经陆续的推出了相关的标准、技术和工具,有 1 第一章绪论 基于w e b 服务的多实例工作流的设计与实现 w s c i n 、b p m l 5 l 、b p e i a w s 6 1 、b p s s l 7 等。这些标准可以看作是一种计算机可接受 的形式化描述语言,可以对w e b 服务之间互操作的协议和流程进行规范化的描述和 建模,而且这个模型能够被相应的引擎驱动执行。当把它们作为一种业务流程的建模 语言使用时,就有必要对它们进行一次基于某个通用标准的评估,以限定他们的能力 。 性和约束性,以及检测存在的矛盾性和模糊性。w i lm p v a nd e ra a l s t 等在“p a t t e r n b a s e d a n a l y s i so f b p e l 4 w s ”嘲中做了相关的工作,文中的评估是基于工作流模式的, 以b p e i a w s 为主要分析语言,其分析结果可以作为在选择其它w e b 服务整合语言 时的参考。 工作流模式( w o r k f l o wp a t t e r n s ) 【9 】指的是人们在针对具体的业务流程建立工作 流模型时,发现有些工作流模型反复出现,具有代表性,将这些反复出现的模型从具 体的工作流描述语言中抽取出来,形成了工作流模式的概念。工作流模式是与具体的 流程语言无关的,可以用来评估不同的工作流建模语言的形式化描述能力。 多实例m i ( m u l t i p l ei n s t a n c e ) 工作流模式是一种重要的工作流模式,在具体的 商业流程或企业集成间,很容易见到这种流程结构。它指的是当一个业务模型被实例 化,从而产生了一个具体业务流程时,模型中的某一个活动在该流程中被激活成多个 实例。m i 模式对实际流程中的这一类复杂场景进行了高度抽象,存在此种模式的流 程将具有很强的动态性。在业务流程模型定义阶段引入m i 活动,就是为了简化建模 时的复杂度,使所建立的模型清晰易读、具有更强的动态性能,同时使建模者把精力 集中在具体的业务逻辑上,而不用过多的关注特定的建模语言的表达技巧。 一个活动在一个流程中如何同时生成多个实例? 多实例的数目在建模时可知该 如何处理? 在运行时可知又该如何处理? 产生的多个实例要不要求同步? 如果要求 同步应该如何处理? 这些都是要在一个流程模型中表达m i 模式时所必须考虑解 决的问题。一般传统的工作流管理系统都不能全面支持m i 模式,而当前的几种主流 的w e b 服务整合语言也都不能直接支持m i 模式的逻辑结构。 w e b 服务整合语言是在s o a 的大背景下定义,以b p e l 4 w s 为例,其所描述的 业务流程与传统的工作流系统有一定的区别:i l 哪 ! 基于状态与面向消息:基于状态的工作流系统以状态( 或者活动) 概念为中 心。工作流引擎维护状态并计算从一个状态到另一个状态的迁移。由 2 基于w e b 服务的多实例工作流的设计与实现 第一章绪论 b p e i a w s 描述的流程转移则是由消息驱动的,而不是基于状态的。一个 b p e l 流程实例的激活,即是由收到( r e c e i v e ) 一个具体消息开始;消息在 流程中的各节点间流动传递,参加流程的各独立的w e b 服务对收到的消息做 出响应,推进流程的进一步执行。 2 流程实例i d 与消息相关性处理:工作流系统在每个流程实例生成同时生成 了实例i d ,客户端在后续调用引擎a p i 时使用这个i d 。由于w e b 服务是无 状态的,所以由b p e i a w s 描述的流程必须说明b p e l 引擎如何从输入消息 中确定具体流程的标识,也就是定义输入消息的相关集( c o r r e l a t i o ns e t s ) 匹 配。b p e l 业务流程的复杂性之一就是来自于消息相关性的处理。 3 工作流引擎a p i 与抽象服务端点( e n d p o i n t ) :i 作流系统提供一组集中的 a p i ,客户端通过调用a p i 完成与所有流程实例的交互。由b p e i a w s 描述 的流程本身就是一个w e b 服务,与流程实例交互就意味着通过一个访闯点访 问w 曲服务。 所以,在对w e b 服务的整合描述语言进行相关的评估和分析时,需要注意到它 们与传统的工作流系统的区别。资料( 8 】中,在评估b p e i a w s 对于m i 模式的支持性 能时,也只是沿用了分析传统的工作流模式的方法,而没有针对b p e i a w s 作为一种 w e b 服务整合语言所具有的面向服务的特点。 针对以上的情况,本文将从面向服务的角度出发,对基于w e b 服务的业务流程 描述语言中的m i 模式进行研究分析,并试图给出该模式在面向服务环境中的解决方 案。由于b p e i a w s 在w e b 服务整合语言规范中具有优势,渐已成为业界主流标准, 所以本文将其作为主要的分析语言。 1 2 课题的内容 本文将以b p e l 4 w s 为基础,以面向服务的观点,对基于w e b 服务的m i 模式进 行相关的分析研究,提出相应的解决方案,最后给予原型实现。本课题的内容如下: 1 从面向服务的观点出发,不囿于传统的工作流模式的分析方法,对b p e i a w s 中 的m i 模式进行重新划分,以多实例活动在产生多实例时,与其交易的伙伴是否 是多实例产生的要素为标准,将b p e i a w s 中的m l 模式分成两类。重点研究了 第一章绪论摹于w e b 服务的多实例丁作流的设计与实现 “交易伙伴是多实例产生的要素”的m i 模式,在此基础上。提出了m p m i ( m u l t i p l ep a r t n e r s m u l t i p l ei n s t a n c e s ) 模式的概念,并进行了相关的定义工作。 2 分析了b p e l 4 w s 对于m p m i 的支持性能,指出其不足之处。提出了针对m p m i 模式的合理解决方案:在b p e l 流程与m i 伙伴之间引入一个“伙伴域”代理层 和一个能由“伙伴域”代理层访问的伙伴注册中心,由“伙伴域”代理层实现伙 伴的自动绑定。在该解决方案的基础上,设计一个m p m i 原型。给出了m p m i 原型中各组件的详细设计,提出了一个三级粒度的组织角色模型用于支持“伙伴 域”代理层的伙伴定位功能。 3 设计了“伙伴域”代理中的匹配器,实现其基于组织角色语义的匹配定位功能: 使用o w l 语言对组织角色模型进行了基于本体的建模;定义了建模成功后的本 体模型向u d d i 数据结构的映射方法;描述了基于该本体模型的语义匹配算法; 分析了匹配算法的匹配度和响应时间,对算法进行了相应的改进;给出了对 n i p m i 原型进行语义扩展的框架图。 4 以一个模拟的电子商务市场为场景,使用相关的w e b 服务技术和工具实现了 m p - m i 原型的主要组件功能,并通过实验数据验证了该原型的可行性。 1 3 课题的意义 1 本课题从面向服务的角度出发,对基于w e b 服务的m i 模式进行了分析和研究。 这一分析思路不同于已有的传统m i 工作流模式的相关研究工作,把研究的重点 放在s o a 中业务流程的m i 模式表达上。相关的分析结果对于该特定领域内的相 关问题的研究有一定的参考价值。 2 提出了m p m i 模式的概念,通过引入一个代理层,设计和实现了m p m i 原型。 虽然该原型还需要进一步的研究和完善,但在其之上已经可以完成实际的m p - m i 业务流程的运行;其体系结构及设计思想可以为解决基于w e b 服务的m p m i 模 式的描述及实现问题提供有价值的参考,具有现实的意义。 3 设计了m p m i 原型中的组织角色模型的本体库,定义了在u d d i 注册中心中引 入该本体库的映射方法;设计了基于组织角色语义进行伙伴自动定位的匹配算 法,并在分析语义匹配度和响应时间的基础上,对匹配算法进行了改进。在进行 4 基于w e b 服务的多实例工作流的设计与实现第一章绪论 其它类似语义匹配功能的设计时,m p m i 原型中的相关技术可以起到借鉴的作 用。 1 4 本文的组织安排 第一章介绍了本文研究的课题背景、内容意义及组织安排。 第二章介绍了工作流的相关概念、工作流模式;重点介绍了多实例模式的概念。 第三章介绍了w 曲服务的相关概念、b p e l 4 w s 的相关概念和语法结构、 b p e l 4 w s 对于m i 工作流模式和通信模式的支持性能。 第四章首先从面向服务的角度对b p e l 4 w s 中的m i 模式进行了分类;提出了 m p m i 模式的概念并给出了相关定义说明;给出了m p m i 模式的解决方案;详细设 计了m p - m i 原型中各个组件的功能和结构。 第五章首先引入了本体的概念;介绍了基于本体的组织角色建模;定义了将本体 模型映射成u d d i 数据结构的方法;设计了基于组织角色本体库的语义匹配算法,并 对其进行了性能分析和优化;给出了对m p m i 原型进行语义扩展的框图。 第六章通过一个具体的场景实例描述,详细介绍了m p m i 原型的具体实现方法。 第七章对本课题的内容进行总结,并就进一步的研究工作做了展望。 5 第二章工作流及工作流模式基于w e b 服务的多实例t 作流的设计与实现 第二章工作流及工作流模式 2 1 工作流基本概念嘲 2 1 1 工作流 工作流的概念起源于生产组织和办公自动化领域。它是针对日常工作中具有固定 程序的活动而提出的一个概念。目的是通过将工作分解成定义良好的任务、角色,按 照一定的规则和过程来执行这些任务并对它们进行监控,达到提高办事效率,降低生 产成本、提高企业生产经营管理水平和企业竞争力。 工作流管理联盟( w o r k f l o wm a n a g e m e n tc o a h t i o n ,简写w f m c ) 给出的工作流定 义是:工作流是一类能够完全或者部分自动执行的经营过程,它根据一系列过程规则、 文档、信息或任务能够在不同的执行者之间进行传递与执行。 工作流能够在信息技术的支持下实现基于人工和计算机活动组成的业务过程的 自动化,可以实现不同自动化程度( 人工操作、半自动化、自动化过程) 的规范化业 务管理功能,具有良好的适应性。如今,工作流已在企业业务过程建模、业务过程仿 真分析、业务过程优化、业务过程管理与集成中得到了广泛的应用。随着对工作流产 品需求的不断扩大,许多公司纷纷推出了不同的工作流产品,这些工作流产品都有自 己的特点,也有自己的协议和接口标准,它们在不同的应用领域进行了应用。 2 1 2 工作流管理系统 w f m c 给出的工作流管理系统的定义是:工作流管理系统是支持企业经营过程高 效执行并监控其执行过程的计算机软件系统。 通常工作流管理系统指运行在一个或多个称为工作流引擎的软件上的用于定义、 实现和管理工作流运行的一套软件系统,它和工作流执行者( 人、应用) 交互,推进 工作流实例的执行,并监控工作流的运行状态。 不同的工作流管理系统具有不同的应用范围和不同的实施方式。从比较高的层次 上来抽象考察,工作流管理系统一般都提供了3 种功能: 6 基于w e b 服务的多实例工作流的设计与实现第二_ 章丁作流及丁作流摸式 1 建立阶段功能:主要考虑工作流过程和相关活动的定义和建模功能。 2 运行阶段的控制功能:在一定的运行环境下,执行工作流过程,并完成每个 过程中活动的排序和调度功能。 3 运行阶段的人机交互功能:实现各种活动执行过程中用户与i t 应用工具之 间的交互。 工作流管理系统三个主要功能之间的关系如图2 1 所示: 2 1 3 工作流模型 图2 1 工作流管理系统的特性 工作流管理系统建立阶段的功能主要完成业务过程的计算机化的定义。在这个 阶段,利用一个或多个建模技术与工具,完成实际的经营过程到计算机可处理的形式 化定义的转化,这个得到的定义就是工作流模型。图2 2 为工作流管理联盟定义的过 程元模型,该模型中包含了以下几个基本实体: 1 工作流定义:即工作流模型。 2 活动:工作流中的执行的功能操作。 3 转换条件:为工作流实例的推进提供导航依据,如活动的执行条件等。 4 i 作流相关数据:工作流引擎根据工作流相关数据和转换条件推进工作流执 行。 5 角色:描述了工作流的参加人员和组织单位。 7 第二章工作流及工作流模式基于w e b 服务的多实例t 作流的设计与实现 6 需要激活的应用程序:描述了用于完成企业经营过程所采用的工具或手段。 用 图2 2 过程定义元模型 一般使用一个可视化的建模工具进行工作流模型的建立。建模工具输出一个能 被工作流引擎解释并执行的流程定义,该定义使用某种形式化的过程定义语言来描 述。目前比较流行的工作流建模语言是x p d l 1 l 】语言。 2 2 工作流模式相关概念 2 2 1 工作流模式1 9 】 工作流语言描述了工作流的流程控制逻辑。当前,大多数工作流语言支持诸如 顺序、选择分支、a n d 汇聚等简单的流程结构。为了能够给这些常见的控制流结构 个标准的阐述,同时能够对于复杂的流程需求给出一个清晰的表达,w m pv a i ld e r a a l s t 等提出了“工作流模式”( w o r k f l o wp a t t e r n s ) 的概念。工作流模式是特定具体的 工作流中反复出现的模型的抽象,它与具体的工作流语言无关。w m p v a l ld e ra a l s t 收集研究了二十种常用的工作流模式。这些工作流模式为进一步深入的比较各种不同 的商业化工作流管理系统提供了基础。同时,对工作流模式的支持能力也可作为评估 工作流语言的表达能力和适应能力的一个标准。 二十种常用的工作流模式如表2 1 所示: s 基于w e b 服务的多实例工作流的设计与实现 第一章丁作流及工作流模式 表2 1 - 作流模式分类表 模式分类模式名称模式说明 基本 模 式 s e q u e n c e 串行模式 ( b a s i cc o n t r o lf l o w p a r a l l e ls p h t并行分支模式( 与分支 p a t t e r n s ) a n d s p l i t ) s y n e h r o m z a t i o n 同步模式( 与汇合a n d - j o i n ) e x c l u s i v ec h o i c e 唯一选择模式( x o r s p l i t ) s i m p l em e r g e 简单合并模式( x o r - o m ) 高级分支、同步模 m u j t 卜c h o l c e 多选择模式( 或分支o r - s p l i t ) 式( a d v a n c e db r a n c h i n gs y n c h r o m z i n gm e r g e同步合并模式 a n ds y n c h r o r n z a t i o np a t m u l t i m e r g e 重复组合模式 t e r n s )d i s c r l m i n a t o r 鉴别器模式( m o u t - o f - n 模式) 结构化模式 a r b i t r a r yc y c l e s 任意循环模式 ( s t r n e t u r a lp a h e m s )l m p l i c l it e r m m a o o n 隐式终止模式 多实例模式m u l t i p l ei n s t a n c e sw i t h o u t非同步多实例模式 ( p a t t e m si n v o l v i n g s y n c h r o n i z a t i o n m u l t i p l ei n s t a n c e s ) m u l t i p l ei n s t a n c e sw i t ha 设计时预先可知的多实例模式 p f i o dd e s i g nt i m ek n o w l e d g e m u l t i p l ei n s t a n c e sw i t ha 运行时预先可知的多实例模式 p n o nr u n t l m ek n o w l e d g e m u l t i p l ei n s t a n c e sw i t h o u ta运行时预先不可知的多实例模式 p r i o r ir u n t i m ek n o w l e d g e 基于状态的模 d e 挹r r e dc h o i c e 延期选择模式 式( s t a t e - b a s e x lp a r e m s ) i n t e r l e a v e dp a r a l l e lp a t t e r n交叉并行模式 m d e s t o n e 里程碑模式 取消模式( c a n c e l l a t i o nc a n c e la c t i v i t y活动取消模式 p a t t e r n s )c a l i c e ic a s e 取消案例模式 2 2 2 多实例模式 多实例( m u l t i p l ei n s t a n c e s ,简写m i ) 模式是一种特定常见的工作流模式,与 具体的工作流语言实现无关。从理论的角度来看,多实例模式的概念指的是对于多个 执行线程共享一个活动定义。从实践的角度来看,多实例意味着一个工作流图中的一 个活动,能够在运行时,同时激活多个实例。如图2 3 所示: 9 第二章工作流及工作流模式 基于w e b 服务的多实例工作斑的设计与实现 图23多实例映射图 多实例模式是在特定环境下出现的状况。设计约束和需求的不可预知性是实现 这种模式所必须面临的问题。因而,大多数工作流引擎都不允许同一个活动在执行的 同时产生多个实例。 在研究多实例模式时,需要考虑两点。第一,处理一个活动或子流程装载多个 实例;第二,处理这些实例的同步及后继。第一点是多实例必须满足的要求,第二点 在装载的多个实例不需要同步的情况下可以忽略。但当考虑多实例的同步问题时,一 个活动的多实例数目将成为一个重要因素。如果这个数目是在设计时就固定可知的, 那么同步就很简单。如果实例化的数目是在运行时才决定的甚至是在处理实例时动态 改变的,那么同步将变的非常困难。因而,将多实例模式按照是否需要同步分成两类: 同步的多实例模式和非同步的多实例模式。同步的多实例模式又按照多实例数目是否 设计时可知分成三类。 1 m u l t i p l ei n s t a n c e sw i t h o u ts y n c h r o n i z a t i o n 模式: 定义;非同步多实例模式:在一个工作流实例的环境中,一个动作的多个实例 可以被创建,也就是可以扩展新的控制线程。这些线程相互独立,不需要同步。 举例:在网上购书的流程中,客户可以同时对不同的书下订单。周一份订单处 理将被分为多个实例,以处理每本书的库存修改、发货运输等。如果在订购时没有要 求同步,则这些实例间就不需要同步。 这种多实例模式是最简单易读的一种多实例模式,可以使用循环或并行分支结 构表达描述。有些工作流语言支持某种扩展的结构,允许设计者建立一个从主流程扩 展的分支并让它们并发的执行,这样也相当于支持了这种多实例模式的实现。大多数 工作流管理系统都支持这种多实例模式。 2 m u l t i p l ei n s t a n c e sw 1 i ha p r i o r id e s i g nt i m ek n o w l e d g e 模式 1 0 基于w e b 服务的多实例丁作流的设计与实现 第一章工f r 流及t 作流模式 定义:设计时预先可知的多实例模式:在一个流程实例中,一个活动被实例化 的次数在设计时是可知的。一旦所有已知的实例完成,流程中后继的活动需要被执行。 多实例需要同步。 举例:某种危险材料的申请需要三次不同的批准。 当多实例的数目在设计时可知,这个多实例模式的实现就变的相当简单了。将 多个实例定义成多个并发的流程,然后使用一个简单的同步活动就可以表达。 3 m u l t i p l ei n s t a n c e sw i t hap r i o r ir u n t i m ek n o w l e d g e 模式: 定义:运行时预先可知的多实例模式:在一个流程实例中,一个活动被实例化 的次数在设计时是不可知的,它依赖于场景特征或者资源可用性,仅在流程实例运行 时的某个阶段可知。所有的多实例完成后,必须有一个后继活动。多实例需要同步。 举例1 :在一个评审团对科学论文的评审流程中,评审的动作被激活的次数依赖 于论文的内容、评审团人员的能力、作者的信誉。只有当所有的评审返回了结果,这 个流程才能继续。 举例2 :当审批一个具有多项条款的申请时,每个条款都必须被不同的工作流用 户单独审批。当所有的条款被审批完毕后,流程才能继续。 当一个指定活动实例化的数目在设计时是不可知,而只能在流程运行的某个时 段可知时,就不能在工作流模型中设计一个简单的并发流程。当前仅有少数几个工作 流管理系统允许在某个给定时间激活单个活动的多个实例。 4 m u l t i p l ei n s t a n c e sw i t h o u tap r i o r ir u n t i m ek n o w l e d g e 模式: 定义:运行时不可知的多实例模式:在一个流程实例中,一个活动被实例化的 次数在设计时是不可知的,在流程运行的任何过程中也是不可知的。所有的实例完成 后,流程需要有后继活动,多实例需要同步。该模式与 m u l t i p l ei n s t a n c e sw i t hap n o nr u n t i m ek n o w l e d g e 模式的区别就在于:当活动的某些 实例被执行或已经完成时,新的实例才被确认激活。 举例:在1 0 0 台计算机的运输流程中,每次运输的计算机的台数是不可知的, 因此整个的运输次数也是预先不可知的。在每次运输之后,通过比较已运输的计算机 数和尚需运输的计算机数,才能决定下一次运输。在所有的计算机都被运输完毕后, 整个流程才能关闭。 在大多数工作流管理系统中,该模式很难被直接有效的支持。 第三章w e b 服务相关概念 摹于w e b 膳务的多实例工作流的设计与实现 3 1w e b 服务简介 第三章w e b 服务相关概念 从技术角度而言,w e b 服务是对象组件技术在i n t e r n e t 中的延伸1 2 1 。它是一个自 描述自包含的面向服务的软件应用,向外提供了一个描述了一组操作的软件接口,可 以在网络上通过标准化的x m l 消息传递来访问这组操作。 如图3 1 所示,任何一个面向服务的体系结构都包含三个角色:服务请求者、服 务提供者和服务注册处i l j 。 服务提供者( s e r v i c ep r o v i d e r ) 负责创建服务描述,将服务描述发布到一个或多个服 务注册处,并接收来自一个或多个服务请求者的w e b 服务调用信息。 服务请求者( s e r v i c er e q u e s t o r ) 负责查找发布在一个或多个服务注册处的服务描 述,并负责利用服务描述,束定或调用由服务提供者提供的w e b 服务。 服务注册处( s e r v i c er e g i s t r y ) ,服务提供者可在注册处发布服务描述,服务注册处 负责为其作宣传,并允许服务请求者搜索服务注册处所包含的服务描述集合。 图3 1 面向服务的体系结构 支持w e b 服务的技术核心都是完全基于x m l 的标准。它们主要包括: s o a p 1 3 ( s i m p l eo b j 叱ta c c e s sp r o t o c o l 简单对象访问协议1 、w s d l l l 4 1 ( w e bs e r v i c e s d e s c r i p t i o nl a n g u a g ew 曲服务描述语言) 和u d d i l l s ( u n i v e r s a ld e s c r i p t i o n d i s c o v e r y a n di n t e g r a t i o n 统一描述、发现和集成) 。 s o a p 提供了一个基于x m l 形式的在分布松散的环境中交换结构化信息的机制。 w s d l 定义了一套x m l 语法,来将w 曲服务描述成一个能交换消息的通讯端口集合。 u d d i 通过建立标准的注船中心提供了注册和检索w e b 服务的机制。从概念上来说, 1 2 基于w e b 服务的多实例工作流的世计与实现第三章w e b 服务相关概念 u d d i 商业注册所提供的信息包含三个部分:白页( w h i t ep a g e ) 包括了地址、联系 方式和已知的企业标识;黄页( y e l l o w p a g e ) 包括了基于标准分类法的行业类别;绿 页( g r e e np a g e ) 则包括了该企业所提供的w e b 服务的技术信息。 待开发的安全、事务等协议r o u f i n g r e l i a b i l i t ya n d t r a n s a c t i o n 服务组装( w o r l d l o w )b p e l 4 w so 暮 二 岂 伪 服务发布与发现 u d d i 薯 巷 嘿 皇 服务描述w s d l 譬 夏 莲 g 鼍 服务消息 s o a p 孝 。 服务传输h t 糯f r e s m t p i n t e r n e l 。 i p v 4 ,i p v 6 图3 2 w e b 服务协议栈 图3 2 是包含每一层标准的w e b 服务协议栈f 1 6 j 。其中服务组装层又叫做w e b 服 务的工作流层。该层用于组装w e b 服务成为新的服务,这些被组装起来的服务一般 体现了一定的业务流程。在这一层里,目前业界已出现了许多协议标准,其中的w e b 服务的业务流程执行语言( b u s i n e s sp r o c e s se x e c u t i o nl a n g u a g ef o rw e bs e r v i c e s , b p e l 4 w s ) 规范是由m i c r o s o f t 、i b m ,以及b e a 等业内主要厂商通力合作推出的描 述w e b 服务整合的语言规范。b p e l 4 w s 融合了i b m 的w s f l ( w 曲s e r v i c e sf l o w l a n g u a g e ) 【1 刀和m i c r o s o f t 的x l a n g ( w 曲s e r v i c e sf o rb u s i n e s sp r o c e s sd e s i g n ) 1 8 1 规范并取代它们( 前者支持面向图形的流程,后者则支持流程的结构化构造) ,极有 可能成为w e b 服务整合标准的基础。 3 3b p e l 4 w s 简介 3 3 1b p e l 4 w s 规范 b p e l 4 w s 支持两种截然不同的使用情形:实现可执行的业务流程( e x e c u t a b l e p r o c e s s ) 和描述不可执行的抽象流程( a b s t r a c tp r o c e s s ) 。可执行业务流程可以模拟业务 交互中的参与者的实际行为。抽象流程又被称为业务协议的流程描述。业务协议使用 流程描述来指定涉及协议的每一方能相互看到的消息交换行为,但并不公开他们的内 第三章w e b 服务相关概念基fw e b 服务的多实例工作流的设计与实现 部行为。 作为可执行流程的实现语占,b p e i a w s 的作用是将一组现有的服务整合起来, 从而定义一个新的w e b 服务。所以说,b p e l 4 w s 实际上就是一种描述w e b 服务整 合的语言。与其它任何w e b 服务一样,由整合而得的服务的接口也被描述为w s d l p o r t t y p e 的集合。整合流程指明了当流程执行时,参加整合的w e b 服务与其配合的 情况。图3 3 说明了这种整合后的w e b 服务的视图”9 l : 图3 3 作为b p e l 4 w s 流程实现的w e b 服务的视图 b p e i a w s 过程本身是一种图形化的流程,它描述了构建一个过程的一系列“活 动”( a c t i v i t y ) 的执行顺序及在这些“活动”间交换的“消息”( m e s s a g e ) ,还描述了“错 误”( f a u l t ) 和“异常处理”( e x c e p t i o nh a n d l i n g ) ,它们指的是在遇到错误和异常的情况 下的行为。 b p e l 4 w s 中的“活动”分为简单活动( p r i m i t i v ea c t i v i t y ) 和结构活动( s t r u c t u r e d a c t i v i t y ) 。简单活动集包括:i n v o k e ,调用某个w e b 服务的一个操作;r e c e i v e ,等待 接收从外部资源传来的消息;r e p l y ,向外部资源返回消息:w a i t ,等待一段时间;a s s i g n , 从一个变量向另一个拷贝数据;t h r o w ,声明在执行中的错误;t e r m i n a t e ,中断整个
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- (2025年标准)股权合并协议书
- 2025年机关车队车辆维护管理知识模拟题及答案详解
- 部编版三年级下册语文第四单元习作范文
- 节前物业安全知识培训课件
- 2025年法律专业招聘考试模拟题与答案版
- 金融智能投顾-洞察及研究
- 水母毒素生物标志物-洞察及研究
- 耐久性劣化机理研究-洞察及研究
- 普通话能力提升培训心得体会
- 跑酷智能辅助系统-洞察及研究
- 2025年基孔肯雅热和登革热防控知识考试试题及参考答案
- 2025-2026学年第一学期安全主题教育
- 汽车美容承包合同(标准版)
- 管道设计培训课件
- 2025-2026学年新交际英语(2024)小学英语一年级上册教学计划及进度表
- 会务服务考试试题及答案
- 《心系国防 强国有我》 课件-2024-2025学年高一上学期开学第一课国防教育主题班会
- 《创伤失血性休克中国急诊专家共识(2023)》解读课件
- 私募基金份额代持协议范文
- 资料管理方案5篇
- 《退役军人保障法》知识考试题库(含各题型)
评论
0/150
提交评论