已阅读5页,还剩46页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 本文主要针对当前工作流管理系统在实际应用中集成能力差、柔性差、互操作性 不高、模型缺乏对分布式环境的支持等缺点,提出了基于s o a 的工作流管理系统。s o a 和w e b 服务作为一种分布式计算环境,为实现分布式的工作流管理系统提供了底层基 础。基于s o a 的工作流管理系统,将s o a 和工作流管理结合起来,通过工作流管理 引擎调用w e b 服务,实现工作流的最优化。 首先,介绍了面向服务的体系结构s o a ,进而提出基于s o a 的工作流管理系统, 接着论述了目前实现s o a 的最佳技术w e b 服务。其次,研究了基于w c b 服务的工作 流的互操作问题和分布式事务管理问题,在分析传统方法的基础上,给出了合理的解 决方法。最后,本文设计了基于s o a 架构的工作流集成平台,它具有松耦合、高安全 性、高柔性、高度集成能力等优势。 关键字:工作流工作流管理系统w e b 服务s o a a b s t r a c t b e c a u s eo ft r a d i t i o n a lw o r k f l o w m a n a g e m e n ts y s t e m h a s d i s a d v a n t a g e i nt h e c o o p e r a t i o n ,f l e x i b i l i t y , i n t e g r a t i o na n ds u p p o r t i n go fd i s t r i b u t e de n v i r o n m e n t ,t h i sp a p e r p r o p o s e san e ww o r k f l o wm a n a g e m e n ts y s t e mb a s e do ns o a a sad i s t r i b u t e dc o m p u t i n g e n v i r o n m e n t ,s o aa n dw e bs e r v i c e sc a np r o v i d eac o m m u n i c a t i o ni n f r a s t r u c t u r ef o r i m p l e m e n t i n gd i s t r i b u t e d w o r k f l o wm a n a g e m e n ts y s t e m 。t h ew o r k f l o wm a n a g e m e n ts y s t e m w h i c hb a s e do ns o ac o m b i n e ss o aa n dt h ec o n c e p to fw o r k f l o w t h r o u g hu s i n gw e b s e r v i c eb yw o r k f l o we n g i n e ,i tm a k e sw o r k f l o wm a n a g e m e n t s y s t e mc o m e t oah i g h e r l e v e r f i r s t ,i n t r o d u c i n g 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 ea n dt h e n p r o p o s i n g w o r k f l o w m a n a g e m e n ts y s t e mb a s e d o ns o aa n dl a s ti n t r o d u c i n gw e bs e r v i c e sw h i c hi st h eb e s tw a y s of a rt om a k es o ac o m et r u e s e c o n d , a n a l y z et l l e p r o b l e m so fw o r k f l o wi n t e r o p e r a t i o n a n dt h ed i s t r i b u t e dt r a n s a c t i o nm a n a g e m e n tw h i c hb a s e do nw e bs e r v i c e s a f t e ra n a l y z i n g t h et r a d i t i o n a lw a y , w ep r o p o s es o m ew a y st os o l v et h e s ep r o b l e m s i nt h ef o l l o w i n g , w e d e s i g nas o l u t i o nf o ri n t e g r a t ed i s t r i b u t e da n dh e t e r o g e n e o u sw o r k f l o ws y s t e mw h i c hi s a d v a n c e di nl o o s e - c o u p l e ,h i g hs e c u r i t y ,h i g hf l e x i b i l i t y , h i g hi n t e g r a t i o na b i l i t ye t c k e yw o r d s :w o r k _ f l o w w o r k f l o wm a n a g e m e n ts y s t e mw e bs e r v i c es o a 长春理工大学硕士学位论文原创性声明 本人郑重声明:所呈交的硕士学位论文,基于s o a 的工作管理系统 研究是本人在指导教师的指导下,独立进行研究工作所取得的成果。除 文中已经注明引用的内容外,本论文不包含任何其他个人或集体已经发表 或撰写过的作品成果。对本文的研究做出重要贡献的个人和集体,均已在 文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。 作者签名:一盔蓬熬 2 盟年丛月j l 日 。 长春理工大学学位论文版权使用授权书 本学位论文作者及指导教师完全了解“长春理工大学硕士、博士学位 论文版权使用规定”,同意长春理工大学保留并向国家有关部门或机构送 交学位论文的复印件和电子版,允许论文被查阅和借阅。本人授权长春理 工大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,也 可采用影印、缩印或扫描等复制手段保存和汇编学位论文。 作者签名:莛纽应年且月互日 指导导师签名:挚牾u 孕年也月五日 1 1 课题的研究目的和意义 第一章绪论 随着分布式计算技术的迅速发展,企业的商务活动和政府活动将越来越多地依靠 i n t e r n e t ,企业内部的管理延伸发展为面向全行业的产业链管理,管理的资源从企业内 部扩展到了外部。这就要求企业不仅只关注企业内部信息化建设,还必须进行跨企业 的信息化整合。客观上要求一个企业中分散于不同地点的部门或分支机构以及相关企 业之间的协作都需要在一个统一的业务过程中完成。因此需要将以前不同部门或企业 的内部流程组合起来形成一个统一的业务流程。 工作流管理系统的概念早在8 0 年代初就已经推出,由于网络技术和计算机技术的 迅猛发展,特别是i n t e r a c t 应用的普及,工作流管理系统引起了国内外学术界和产业界 的广泛关注并展开了广泛的研究。文献归纳了以下几个比较主要的研究内容:0 ) t 作流管理系统体系结构的研究。( 2 ) m 作流过程定义与工作流过程定义语言;0 ) m 作流 的事务特征;( 4 ) 工作流实现的技术:包括面向对象技术、异构分布式计算、图形界面、 消息通信、数据库、w w v , 等在内的与工作流系统的设计实现有关的各项技术、方法; 0 ) t 作流的仿真与分析方法;( 6 ) m 作流的集成与互操作技术:研究异构应用系统的集 成以及不同工作流之间的互操作问题;仍工作流与b p r ( 业务过程重组) 。 经过多年的发展,市场上已经出现了众多较为成熟的工作流产品,但通常现有的 大型企业应用环境存在着结构的复杂性和地域的分布性,其现存的已有软件系统运行 于异构操作平台中,且基于不同的体系结构。而已有的绝大多数工作流管理系统( w f m s ) 产品和原型系统的设计是面向普通的办公室应用,而不是面向企业应用的,因此在以 下方面存在不足: 企业应用环境的异构性:工作流系统本身可能分布于不同的软件平台中,需要在 异构环境中完成流程协作。因此它必须支持在类似异构环境下的互操作性。 对异构已有软件系统的支持:企业应用可能包含很多已有的软件应用,它们可能 分布于不同的软件平台,采用不同的开发工具和语言,且很多应用不是针对工作流系 统开发的。而现有的工作流管理系统,往往只能集成某一类结构和平台的软件系统, 局限性较大。 企业应用规模和分布性:一个工作流流程( 如供应链管理流程) 可能涉及到跨越多个 地域、多个企业的不同应用系统。现有工作流系统通常只是一种协作工具,适用于小 群体间业务的工作流,在体系结构上存在缺陷,无法满足跨企业集成的需求。 基于上述分析,我们知道目i j f 工作流技术对异构的分布环境支持还是不足的。此 外许多公司花费巨款并收集大量的数据以维护它们的遗留系统。因此,对于公司来说, 找到一个快速而高效的方式来保留和重复利用这些遗留系统也是非常重要的。传统上, 公司会求助于企业应用程序集成( e a l ) 。 然而,由于e a i 解决方案的高成本和专有特性,许多公司正在寻找一种更加简易、 灵活的方式来巩固和现代化他们的应用程序。为了提供服务和与业务合作伙伴、顾客 及其它信息系统共享数据,企业必须以当前的技术更新他们的遗留系统。 随着互联网的巨大发展,w 曲应用的不断深入,将应用逻辑封装以组件形式( w e b 服务) 部署在w e b 上加以利用,成为越来越受推崇的方式。 因此,w e b 服务“1 作为一项炙手可热的技术,被广泛应用到企业的r r 系统和商业 流程之中,并给企业带来直接的经济效益,一直以来得到了国内外企业管理者的推崇。 而近几年,随着企业需求的不断变化,一种被誉为下一代w e b 服务的技术架构,再一 次引起业内关注,这就是s o a “( s e r v i c c 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 服务技术的发展和成熟,导致用工作流来建模w e b 服务应用的需求越来越迫 切,如何将工作流中的任务和w e b 服务结合起来变得十分重要。本课题正是围绕着如 何构建基于s o a 的工作流管理系统以及在使用w e b 服务组装业务流程中遇到的问题展 开的。本文首先研究了基于w e b 服务工作流的互操作问题和基于w e b 服务的分布式事 务管理的问题,在分析现有解决方法和技术的基础上,继而提出了改进方法。最后本 文提出并设计了一个基于s o a 的工作流平台的设计方案,基于此设计方案的工作流管 理系统可以方便的集成处于异地异构的子工作流系统,从而达到企业间跨部门、跨组 织的分布式应用。 1 2 国内外研究现状 1 2 1 工作流技术起源“1 工作流( w o r k f l o w ) 的概念起源于办公自动化( o a , o f f i c ca u t o ma t i o n ) 领域,是在现代 信息系统的建设中逐步形成的“1 。工作流是一个比较抽象的概念,它不同于具体的信 息流、物料流、资金流等,是包括上述概念流的业务流过程,它的设计要与企业具体 经营管理相结合。 关于工作流的概念目前还没有完全统一的定义,国际工作流联盟以及许多大公司 和院校、研究所都对工作流进行了不同的定义,但都达成的一个基本共识是:工作流 是业务过程的计算机实现。工作流从字面意思来看是一个流转过程。所谓“流”就 必须有一个动态的过程。工作流是个过程概念,“w h o ”,“w h a t ”,“w h e n ”贯穿整个经 营过程。组成了工作流管理系统的基本要素。简单的说,工作流管理就是把由人或相 关角色参与的复杂的业务过程,通过相应软件系统,使得文档资料、数据信息、人力 2 资源、包括经营管理都按一定的流程实现信息化和规范化的操作。 f r i t zn o r d s i e c k1 9 6 8 年就提出利用信息技术实现工作流程自动化的想法,2 0 世纪 7 0 年代,宾西法尼亚大学沃顿学院的m i c h a e ld z i s m a n 就开发了工作流原型系统 s c o o p ,施乐帕洛阿尔托研究中心的c l a r e n c ea e l l i s 和g a r yj n u t t 等人则开发出了 0 f f i c et a l k 系列实验系统。s c o o p 和o f f i c et a l k 系统是最早的办公自动化系统,标志 着工作流技术的开始。 商业化的工作流软件始于2 0 实际八九十年代,此后,工作流技术的研究和发展进 入了一个全新的时期。很多大的软件公司开始开发专业化的工作流系统,而且应用对 象也由开始只针对简单的文档和图像信息处理,扩展到对复杂的企业业务过程管理。 1 9 9 3 年国际工作流联盟( 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 ) 的成立标志着工作流技 术进入了一个相对成熟的阶段7 。 1 2 2 工作流技术国内外发展现状 国外现有很多公司致力于开发商业化的工作流系统,一些著名的工作流领域软件供 应商不断推出新的产品。如i b m 的h o l o s o f x 与m q s e r i e s 工作流,f u j i t s u 的i - f l o w , b e a 的w u ,s a p 的n e tw e a v e r ,s o n i c 的o r c h e s t r a t i o ns e r v e r ,l o t u s 的基于l i n u x 的d o m i n ow o r k f l o w 等,都是最新的工作流产品。国内现在许多公司也在着力开发商 业化的工作流系统,做的比较好的西安协同数码股份有限公司的s y n c h r o f l o w ,杭州信 雅达的s u n f l o w ,还有上海东兰的d l f l o 等,都是国内比较著名的工作流软件开发公 司。 目前商业开发的工作流管理系统种类繁多,因为相关标准化的制定还在完善和发展 中,所以工作流管理系统的分类方法并不统一。目前常见的几种分类方法如下: 按底层支持技术:以通信( 电子邮件) 为中心的工作流系统、以文档为中心的工作流 系统、以过程为中心的工作流系统( 对应生产型工作流) 。 按任务传递机制:基于文件的工作流系统、基于消息的工作流系统、基于w w w 的工作流系统、基于群件与套件系统的工作流。 按自动化解决方案:专业型工作流系统、通用型工作流系统、协作型工作流系统( 传 统分法,涵盖了专业型和通用型工作流系统) 。 按业务实现过程:管理型工作流系统、设定( 特定) 型工作流系统、协作型工作流系 统、生产型工作流系统。 上述分类法存在重叠和交叉之处,每种分类产品又有各自的特点,具体特点可参见 文献“1 和文献 6 1 0 相比之下,工作流技术在研究方面的进展要落后于商业应用。目前国外许多科研 机构和学校已经开展了很多相关的研究工作,也取得了不少研究成果。比较著名的有 i b m 公司a l m a d e n 研究中心研究开发的分布式工作流管理系统e x o t i c 2 j f m q m ,美国 乔治亚大学计算机系研究开发的具有自适应性的工作流管理系统m e t e o r ,欧洲许多机 3 构合作开发的基于分布式主动数据库技术的w i d e - 1 - 作流系统,瑞士联邦银行和萨尔 兰大学共同研究的基于状态和活动图的m e n t o r 工作流系统,惠普实验室的o p e n p m 工 作流系统,德国诶朗根大学的m o b i l e 工作流系统等“1 。另外,在该研究领域比较活 跃的学者有w i l v a n d e ra a l s t 和m i c h a e lz u r m u e h l e n “1 ,他们在工作流理论研究方面都 取得了不少成就。 国内关于工作流方面的研究还处于起步阶段,当前这方面研究比较多的国内主要 有清华大学的范玉顺、史美林等。此外,中科院、北京航空航天大学、浙江大学等高 校及研究所也都在工作流技术方面展开了相应的研究。 与此同时,许多工作流研究相关的组织机构也应运而生。国际上的主要有: 1 国际工作流管理联盟w f m c 2 国际工作流与重组协会w a r i a 3 国际工作流联盟姐妹站e w o r k f l o w 4 公司下属研究机构,比较著名的有i b m 公司的a l m a d e n 研究中心 。 国内这方面的专门机构比较少,主要有清华大学建立工作流网站。此外,由企业 发起的“工作流管理系统研究会”在工作流技术商业开发和一个能用标准制定方面也 做了很多工作。 1 3 论文内容和结构 1 3 1 论文内容 本文首先研究了基于w e b 服务工作流的互操作问题和基于w e b 服务的分布式事务 管理的问题,在分析现有解决方法和技术的基础上,继而提出了改进方法。最后本文 提出并设计了一个基于s o a 的工作流平台的设计方案,基于此设计方案的工作流管理 系统可以方便的集成处于异地异构的子工作流系统,从而达到企业间跨部门、跨组织 的分布式应用。具体研究内容主要包括以下几个方面: 1 分析了企业和技术两方面的发展趋势对业务过程管理的影响,指出了传统工作 流管理系统在这方面的局限性;根据工作流管理系统体系结构的演进趋势,提出了采 用基于s o a 的工作流管理系统的观点。 2 对基于w e b 服务的工作流的互操作进行了研究,提出了新的基于w e b 服务的 互操作模型。 3 对基于w e b 服务的分布式事务进行了研究,提出了通过4 次交互机制解决工作 流管理系统中分布式事务管理问题。 4 提出了一个工作流集成平台的解决方案,对平台的设计、构件设计、映射注册 中心设计给出了详细的描述。 4 1 3 2 论文结构 全文共分六章,具体结构如下: 第一章:绪论。介绍了本课题研究的目的和意义,对工作流技术的起源、当前国 内外研究现状进行了概括性阐述。 第二章:本章首先指出了传统工作流管理系统存在的问题。继而提出基于面向服 务体系架构( s o a ) 的工作流管理系统,它支持企业内、外应用以及企业门户的业务流程 集成。最后提出采用w e b 服务技术来实现s o a 系统。 第三章:本章分析了工作流互操作的必要性,概括介绍了当前工作流互操作的标 准,在对工作流互操作中需要考虑的问题进行分析后,继而提出了一种实现工作流互 操作的模型。 第四章:本章研究了工作流管理系统中一个急需解决的问题一工作流事务管理。 本章首先分析了工作流事务与传统事务的差异,指出了工作流事务的特性,在此基础 土提出通过4 次交互机制解决工作流管理系统中分布式事务管理问题。 第五章:本章给出了一个具体的基于s o a 架构的工作流集成平台的解决方案。该 方案以n e t 3 0 的w w f 工作流引擎作为全局工作流引擎,通过全局工作流发出消息由 消息队列通过w e b 服务接口转发给异构工作流的w e b 封装器,操纵异地工作流执行。 实现了企业问跨部门、跨组织的分布式应用。 第六章:总结。本章总结整个论文工作,提出了目前仍存在的问题以及下一步的 研究方向。 5 第二章基于s o a 的工作流管理系统 2 1 现有工作流管理系统中存在的问题 经过十余年的研究和发展,工作流技术非常成功,工作流的部署为企业带来了效 益,并仍然是许多公司关注的技术焦点。但是,新的挑战和革新导致了工作流概念的 延伸,传统的工作流系统,由于局限当时的业务需求和技术水平,已经不能满足当今 业务过程管理的新需求。 1 静态约束柔性差:流程定义和执行两个阶段分离,模型完全要求用户在流程执 行前后指定所有的流程信息,即流程的所有信息都是静态约束的。流程实例化后就一 成不变的执行,无法适应动态变化的能力,比如动态选择最适合的合作商等等。 2 缺乏对异构分布式环境的支持:企业级的业务流程包括许多在地理上分布的离 散执行单元,它是一个分布式系统,而现有的工作流系统缺乏对这种分布环境的支持。 3 流程模型缺乏可重用性机制:不能实现流程资源的共享。传统工作流模型虽然 也可以处理简单的子流程调用,但是不能随意组合多个流程实现更复杂的流程递归定 义。 4 互操作性差:传统工作流模型主要针对企业内部流程进行建模,对跨组织的工 作流的支持考虑很少。这样形成的工作流管理系统是一个信息孤岛,它只能调用自己 企业内部的任务。在网络技术飞速发展的今天已经有些不合时宜。 5 不能与遗留系统有效集成:企业遗留系统往往采用不同语言编写,另外,还可 能存在不同的遗留系统来完成相同的功能,从而导致混乱、分散的1 1 r 基础架构,这使 得将来的集成变得困难。由于各个系统的独特性,公司在跨企业维护和交换相关数据 方面有些困难。 总之,在企业业务和技术两个方面发展合理的促使下,工作流管理系统不断演化 和发展。要满足当前的业务需求,工作流管理系统必须采用新的技术,实现新的特征。 2 2 基于s o a 的工作流技术 2 2 1s o a 概述 s o a “1 ( 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 ,面向服务的体系结构) 是一种结构模型,它将 应用程序的不同功能单元( 称为服务) 通过这些服务之间定义良好的接1 3 和契约联系起 来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系 统和编程语言。这使得构建在各种这样的系统中的服务可以以一种统一和通用的方式 进行交互。图2 1 给出了其体系结构。 6 图2 1s o a 结构 从图中可以看出,s o a 结构中共有三种角色t 1 0 1 s e r v i c ec o n s u m e r 0 艮务请求者) :使用服务的应用程序或其它的服务。通过对注 册中心的服务进行查询,根据接口说明信息,并使用某种传输协议服务绑定来执行服 务功能。 2 s e r v i c ep r o v i d e r 0 艮务提供者) :创建服务的实体。可以从服务消费者处接受请求 并远程执行所请求的服务,通过向注册中心发布服务接口信息,以提供服务消费者发 现和访问服务。 3 s e r v i c er e g i s t r y ( 服务注册中心) :展示服务的功能。服务消费者通过查询存储有 服务信息的库的注册中心找到所需服务的接口信息。 2 2 2s o a 特点 简单的说,s o a 是“抽象、松散耦合和粗粒度”的软件架构,它可以根据需求通 过网络对松散耦合的粗粒度应用组件进行分布式部署、组合和使用。它具有以下几个 特点: 1 松散耦合:s o a 将服务使用者和服务提供者在服务实现和客户如何使用服务方 面隔离开来。这使得服务能够在完全不影响使用者的情况下进行修改。 2 租粒度的服务接口:使用者和服务层之间不必再进行多次的往复。 3 可重用的服务:为了实现可重用性,服务指工作在特定处理的上下文,独立于 底层实现和客户需求的变更。设计可重用服务是与数据库设计或通用数据建模类似的 最有价值的工作。 4 标准化的服务接口:x m l 和w e b 服务在电子商务的广泛应用和深入发展将s o a 推向更高的层面,并大大提升了s o a 的价值。 5 可从企业外部访问:通常被成为业务伙伴的外部用户也能像企业内部用户一样 访问相同的服务。 6 随时可用:当有服务使用者请求服务时,s o a 要求必须有服务提供者能够响应。 7 分级:采用不同的粗粒度等级来创建服务可以解决粗粒度服务在解决专门的业 务问题时遇到的通用性差、重用性设计困难的问题。 7 2 2 3s o a 的工作流 服务就是从业务流程的角度来看待技术的这是从上向下看的。这种角度同一 般的从可用技术所驱动的商业视角是相反的。因为服务的优势很清楚,他们会同业务 流程结合在一起,能够更加精确的表示业务模型、更好地支持业务流程。相反,我们 可以看到,以应用程序为中心的企业应用模型,迫使业务用户将其能力局限为应用程 序的能力。 s o a 的第一条准则是:业务驱动服务、服务驱动技术。s o a 关注业务流程和使用 标准接口“,为流程开发或组合应用,以服务组件的方式实现流程中的任务或活动。使 用工作流技术可把简单服务聚集为更复杂的服务,服务可链接在一起以执行较高级别 的业务功能;同时可以将s o a 看作是一个良好工作流环境,基于s o a 的工作流技术 可充分利用其松散耦合、位置透明、协议独立等特点,解决异构性、互操作性等问题, 高效的利用或重组企业现有的应用资源,适应业务和资源动态变化的需求。 与传统的企业应用集成构架的主要区别在于,基于s o a 的企业应用系统使用基于 标准的服务,并包括过程数据服务、编排和组合。基于标准的服务成了应用间的集成 点。服务的编排和组合增加了服务的灵活性、重用性和集成性。 在s o a 中,资源被作为通过标准方式访问的独立服务,提供给网络中的其他成员。 与传统的系统结构相比,s o a 规定了资源间更为灵活的松散耦合关系。 1 工作流与服务的映射模型 在工作流整个生命周期中,从生产业务流程需求到实现流程,与服务的映射模型 可以分为图2 2 中所示的四层: 8 图2 2 工作流与服务的映射模型 ( 1 ) 抽象工作流层:业务人员即提出业务需求的用户,不需要专门的领域知识,只 需要给出整个流程的总功能目标和限制规则。 ( 2 ) 具体工作流层:在总目标的拉动下,由领域专家针对领域内的具体业务逻辑将 抽象的业务流程分解为活动和它们之间的时序或条件、数据等依赖关系,即形成具体 的业务流程。对流程中的活动分别给出其目标和限制。其中目标主要指实现的功能, 限制则包括时间、资源、人员、数据等各方面的需求和限制。 ( 3 ) 服务层:完成业务流程的建模后,由专门的人员根据活动的目标与限制,选择 合适的服务进行活动( 或任务) 与服务的绑定。在服务的选择上要考虑功能和限制需求等 多方面的因素,或者按照一定的策略进行。完成流程中所有活动与服务的绑定后,可 以看作是完成了服务的编排,形成了一个服务流程序列。 ( 4 ) 实现层:在s o a 下,服务独立于应用程序和开发平台,其技术细节的实现通过 组件的组合来完成。无论是开发新应用还是集成企业的已有遗产系统,都可以以高内 聚、底耦合的方式进行组件包装。技术专家对组件进行分组和重新组合就形成了服务 的实现实体。 从抽象工作流到具体工作流实际上是一个目标功能的分解过程,下面部分给出从 具体工作流到服务层的映射关系。 9 2 工作流与服务的映射机制 利用s o a 的思想,每个企业将自己组织内的应用组件化,以服务库的形式发布到 网络上的服务注艇中心,服务注册中心提供以服务名为关键字进行服务查找的手段。 对企业内部的工作流应用,引擎直接调用企业内的服务即可,实现“自己自足”;否则, 建立好业务流程模型以后,可根据流程中的每个活动的功能需求和限制条件,到注册 中心查找适合的服务,在找到的服务中筛选出最能满足需求的服务,访问其u r l 得到 服务接口,将活动与服务绑定。 2 2 4s o a 的工作流优点 从过程模型和信息模型的角度讲,工作流活动间的控制关系与数据依赖是建立业 务流程模型时确定的,绑定活动与服务便将它们传到了服务;从组织模型角度讲,在 建立具体工作流时并不为活动指派具体的执行角色或执行者,而是在依据活动或任务 的功能和限制需求选定服务进行绑定后,才确定了活动的执行者为服务提供者。当然 这里的服务提供者是一个抽象的概念,它可能是一个大的服务包含的一系列操作或子 服务的真正执行者序列。这样,流程中的任务能被指派给任何满足需求的组织或个人, 工作流的流转不再限制于组织内部,能更好的支持跨组织的应用。 将工作流活动与服务进行合理映射,定义和执行工作流程:是把工作流的业务模 型定义与实现分开;定义时使业务人员专注于领域业务模型的构造;执行时将业务工 作流部署到s o a 环境中,以服务方式为活动分配资源合理调度,完成运行过程。 利用服务进行工作流管理:针对工作流管理系统而言,改变传统的集中式管理模 式,通过服务机制对工作流的构造、执行和监控进行分布式管理。 2 3w e b 服务 2 3 1w e b 服务概述 w e b 服务“2 1 是自描述、自包含、模块化的应用,能够与其它w e b 服务混合及匹 配。w e b 服务是基于网络、分布式的模块化组件,执行特定任务,遵守技术规范,这 些规范使w e b 服务能与其它兼容的组件进行互操作。w e b 服务描述了一些操作的接口, 这些接口隐藏了服务实现细节,独立于服务实现、独立于硬件和软件平台、独立于编 程服务语言,使基于w e b 服务的应用程序具备松散耦合、面向组件和跨技术实现的特 点,具体表现在: 1 完好的封装性:w e b 服务是一种部署在w e b 上的对象,具备对象的良好的封 装性,对于使用者而言,它能且仅能看到对象的功能列表。 2 松散耦合:当一个w e b 服务的实现发生变更的时候,调用者是不会感觉到这一 点的。对于调用者来说,只要w e b 服务的调用界面不变,w e b 服务的实现任何变更对 他们来说都是透明的。 1 0 3 使用标准协议规范:作为w e b 服务,其所有的公共的协议约定完全需要使用开 放的标准协议进行描述、传输和转换。这些标准协议具有完全免费的规范,以便由任 意方进行实现。 4 高度可集成能力:由于w e b 服务采取简单的、易理解的标准w e b 协议作为组件 界面描述和协同描述规范,完全屏蔽了不同软件平台的差异,无论是c o r b a d c o m 还是f a b 都可以通过这一种标准的协议进行互操作,实现了当前环境下最高的可集成 性。 5 互操作性:任何w e b 服务都可以与其它w e b 服务进行交互。应用s o a p ,这 是所有主要供应商都支持的新标准协议,避免了在c o r b a 、d c o m 和其它协议之间 转换的麻烦。可以使用任何语言来编写w e b 服务,因此开发者无需更改其开发环境就 可产生和使用w e b 服务。 6 普遍性:w e b 服务使用h t r p 和x m l 进行通信。因此任何支持这些技术的设 备都可以拥有和访问w e b 服务。 7 低进入屏障:w e b 服务背后的概念易于理解,并且来自m m 和微软这样的供 应商的免费工具能够让开发者快速创建和部署w e b 服务。 2 3 2w e b 服务相关协议 实现一个完整的w e b 服务体系需要有系列的协议规范来支撑。已经成为w 3 c 标准的三个技术:w s d l 、s o a p 和u d d i 都是基于x m l 制定的。 1 x m l ( e x t e n s i b l em a r k u pl a n g u a g e ) ” x m l 是w e b 服务平台中表示数据的基本格式。x m l 可以将数据与格式从网页中 分开。在x m l 中,用户可以建立任何所需要用到的标记。除了易于建立和易于分析外, x m l 主要的优点在于它既是与平台无关的,又是与厂商无关的。x m l 解决了数据表 示的问题,但它并没有定义一套标准的数据类型,更没有说怎么去扩展这套数据类型。 x m l 作为一种自描述的数据共享机制,其主要特点如下: ( 1 ) 自描述性:这个特性使差异性可以存在,使计算机可以在没有人干涉的情况下 理解数据含义。 ( 2 ) 可扩展性:文档通过d t d 或x m l s c h e m a 来定义文档结构,使其它信息系统自 动了解文档的含义。 ( 3 ) 可校验性:用户可以通过d t d 或x m l s c h e m a 来校验x m l 文档的格式是否满 足d t d 或x m l s c h e m a 的约束。 ( 4 ) 层次结构:能够保证信息的层次性描述。 ( 5 ) 多样的样式表支持:x m l 把数据内容与他们的表现形式分开,这样既可以只关 心数据的逻辑结构,也可以通过样式表来格式化数据的表现。 2 u d d i ( u n i v e r s a l d e s c r i p t i o n ,d i s c o v e r ya n di n t e g r a t i o n ) 1 u d d i 是一套基于w e b 的、分布式的、为w e b 服务提供的信息注册中心的实现标 准规范,同时也包含一组使企业能将自身提供的w e b 服务注册,以使别的企业能够发 现的访问协议的实现标准。u d d i 项目有u d d i 中心维护,服务使用者可以在服务器中 浏览和查询所需服务。 u d d i 的核心组件是u d d i 商业注册,它使用一个x m l 文档来描述企业及其提供 的w e b 服务。从概念上将,u d d i 商业注册所提供的信息包含三个部分: ( 1 ) 白页:包括了地址、联系方法和已知的企业标识。 ( 2 ) 黄页:包括了基于标准分类法的行业类别。 ( 3 ) 绿页:包括了关于该企业所提供的w e b 服务的技术信息,其形式可能是一些指 向文件或u r l ,是为服务发现机制服务的。 3 s o a p ( s i m p l eo b j e c t a c c e s sp r o t o c 0 1 ) 1 ” s o a p 是一种与底层通信方式无关的服务调用协议,它为在一个松散的、分布的环 境中使用x m l 对等的交换结构化和类型化的信息提供了一个简单的轻量级机制,它定 义了一套通过网络发送、调用并从一个应用程序返回结果的x m l 消息结构。它包括四 个部分: ( 1 ) s o a p 封装( e n v e l o p ) ,封装定义了一个描述信息中的内容是什么,是谁发送的, 谁应当接受并处理它以及如何处理的框架; ( 2 ) s o a p 编码规则( e n c o d i n gr u l e s ) ,用于表示应用程序需要使用的数据类型的实 例; 0 ) s o a pr p c 表示( r p cr e p r e s e n t a t i o n ) ,表示远程过程调用和应答的协定; ( 4 ) s o a p 绑定( b i n g d i n g ) 使用底层协议交换信息,企业的合作伙伴可以远程获得 这些服务,不必考虑他们属于哪个系统,在什么平台上运行,或是使用什么语言开发 等。 简单对象访问协议( s o a p ) 提供了标准的远程调用( r p c ) 方法来调用w e b 服务。 s o a p 规范定义了s o a p 消息的格式,以及怎样通过h t r p 协议来使用s o a p 。 4 w s d l ( w e bs e r v i c e sd e s c r i p t i o nl a n g u a g e ) 1 5 w s d l 用于描述服务端所提供服务的x m l 格式。w s d l 文件里,描述了服务端 提供的服务,提供的调用方法,以及调用时所要遵循的格式,比如调用参数和返回值 的格式等等。w s d l 将w e b 服务描述定义为一组服务访问点,客户端可以通过这些服 务访问点对包含面向文档信息或面向过程调用的服务进行访问( 类似远程过程调用) 。 w s d l 首先对访问的操作和访问时使用的请求响应消息进行抽象描述,然后将其绑定 到具体的传输协议和消息格式上以最终定义具体部署的服务访问点。相关的具体部署 的服务访问点通过组合就成为抽象的w e b 服务。w s d l 是可扩展的。它将应用的服务 接口与实现进行分离。根据应用发布的w s d l ,可以解读服务提供者提供的服务的详 细信息。因此,一个w s d l 文档在定义w e b 服务时使用如下的元素: ( 1 ) 类型( t y p e ) :定义了在文档中使用的不同的自定义数据类型。 ( 2 ) 消息( m e s s a g e ) :这部分是服务接受和返回的逻辑消息的抽象表示。 1 2 ( 3 ) 操作( o p e r a t i o n ) :服务支持的动作的抽象描述。 “) 端口类型( p o r t t y l ) c ) ;一个操作的抽象集合,该操作由一个或多个端点支持。 ( 5 ) 绑定( b i n d i n g ) :针对一个特定端口类型的具体协议规范和数据格式规范。 ( 6 ) 端口( p o r t ) :一个单一的端点,定义成一个绑定和一个网络地址的联接。 ( 7 ) 服务( s e r v i c e ) :相关的端点的集合。 2 3 3w e b 服务与s o a 的关系 w e b 服务是一种实现s o a 的架构技术,是建立在开放标准和独立于平台的协议基 础之上的分布计算单元,它使用s o a p 协议在服务提供者与服务使用者之间进行通信。 w e b 服务通过w s d l 协议定义服务接口,使用u d d i 协议进行w e b 服务注册和查找。 所有这些特性使得它是目前实现s o a 的最好方式。基于w e b 服务的动态发现、配置和 即时集成所提供的服务,已成为i n t e m e t 上的应用主流。图2 - 3 给出了w e b 服务协议栈 匹配s o a 的结构情况| 1 7 | o 图2 3 w e b 服务到s o a 的映射 从本质上来说,s o a 是一种架构模式,而w e b 服务是利用组标准实现的服务,w e b 服务是实现s o a 的方式之一,但是并不是唯一方式( 比如c o r b a ) 。用w e b 服务来实现 s o a 的好处是可以实现一个中立平台来获得服务,而随着越来越多的软件商支持越来越 多的w e b 服务规范,将会取得更好的通用型。 s o a 仅定义了服务如何相互理解和交互,并没有明确服务如何具体交互。w e b 服务 对需要交互的服务之间如何传递消息有具体的指导原则。从技术上实现s o a 模型是通 过h t t p 传递的s o a p 消息的w e b 服务模型。因此,从本质上讲,w e b 服务是实现面向服 务架构的具体方式之一。 尽管w e b 服务是实现s o a 的最好方式,但s o a 并不局限于w e b 服务,其它使用w s d l 直接实现服务接口并且通过x m l 消息进行通信的协议也可以包括在s o a 之中。 1 3 2 3 4 基于w e b 服务的s o a 实现 s o a 是一种以服务流程为中心的体系结构。流程可以分解为一系列的步骤,每个 步骤表示一个业务服务,将每个单独的服务链接起来就可以构建能够满足业务需求的 服务流程图。 基于w e b 服务的s o a 的实现关键是使用标准的服务接口和松耦合的连接。这要求 开发者从服务集成的角度来设计应用软件,并充分考虑复用现有的服务或如何让服务 被重复利用。 s o a 包含三个角色:服务请求者、服务提供者、服务注册中心。相应的操作有描 述( d e s c r i p t i o n ) 、发布( p u b l i s h ) 、查找( f i n d ) 、绑定( b i n d ) 等。服务的定义和描述 可以采用基于x m l 的w s d l ,可描述服务请求者所要请求绑定到服务提供者的细节以 及服务本身的属性,功能和参数等。 服务提供者向服务注册中心发布服务描述,以使服务使用者可以发现和调用它。 服务的需求者在进行一个服务调用之前,必须先查询服务注册中心,即客户端的程序 可以在u d d i 中查找到相应的已经被实现了的抽象接口,从而查找对应的w s d l 文件 发现具有所需服务的企业和满足其标准的服务,然后编写或配置自己的软件以便对应 的w e b 服务进行调用。 1 4 第三章基于w e b 服务工作流互操作研究 3 1 工作流互操作 3 1 1 工作流互操作概述 随着业务的扩展,企业间的合作也日益密切,一个企业往往需要一个或多个其它 企业的参与才能完成自身的业务。与此相对应,作为企业业务流程自动化支持技术的 工作流系统之间也常常要使用一个或多个其它企业工作流所提供的服务,这就是我们 要研究的工作流互操作问题产生的根源。 按照工作流管理联盟( w f m c ) 的定义“”,工作流互操作是指“是两个或多个工 作流引擎进行通信和交互的能力,从而使过程实例可以跨越这些工作流引擎执行和进 行协谪。” 在实际应用中,工作流互操作发生的情况可能会有很多种,w f m c 根据不同的标 准,对工作流互操作情形进行了划分 1 9 1 。 1 两个或多个工作流引擎之间直接互操作,如图3 1 所示: 图3 1 工作流引擎间直接互操作 2 在同一个定制服务中的两个或多个工作流引擎之间的互操作,如图3 2 所示: 图3 2 同一服务中工作流引擎的互操作 3 在工作流管理范围内的两个或多个工作流服务( 即两个或多个工作流引擎运作 在两个或多个工作流服务) 之间的互操作。如图3 3 所示: 图3 3 不同服务中工作流引擎的互操作 根据互操作程度的不同,工作流互操作可以划分为8 个层次,依次为:无互操作、 共存、单一网关、有限通用网关a p i 子集、完全工作a p i 、共享定义格式、协议兼容 和等同式。对每一个层次的互操作,这里不做详细解释,详细的解释参见w f m c 互操 作抽象标准( 文档号w f m c - t c 1 0 1 2 ) 。 基于上述研究,w f m c 定义了4 种互操作模型 2 0 1 由于这四种模型在实际的应用 中经常被使用,下面我们对此进行稍微详细的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 出租车经营权转让协议
- 技术合同在企业竞争力提升中的作用
- 2024公司房产土地转让合同
- 2024新版大学场地租赁合同(商业活动)
- 房地产项目转让协议书
- 2024混凝土管采购合同
- 住房维修工程协议书
- 2024商家联盟合作协议
- 技术合作与投资共享协议书
- 住宅小区广告投放合同
- 小记者第一课我是一名小记者
- 2024年福建省托育服务职业技能竞赛理论考试题库(含答案)
- 2024下半年江苏苏州城市学院招聘管理岗位工作人员27人历年(高频重点提升专题训练)共500题附带答案详解
- 二年级乘除法口算题大全500题(可直接打印)
- 建造节活动策划书
- sk239g报警器说明书
- 半导体芯片项目创业计划书(参考范文)
- 困难职工基本情况汇总统计表
- 档案统计台帐
- 七大浪费实战案例(消除企业中的浪费)
- 停用常压储罐管理办法
评论
0/150
提交评论