(计算机应用技术专业论文)基于qos约束保证的web服务合成应用研究.pdf_第1页
(计算机应用技术专业论文)基于qos约束保证的web服务合成应用研究.pdf_第2页
(计算机应用技术专业论文)基于qos约束保证的web服务合成应用研究.pdf_第3页
(计算机应用技术专业论文)基于qos约束保证的web服务合成应用研究.pdf_第4页
(计算机应用技术专业论文)基于qos约束保证的web服务合成应用研究.pdf_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

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

文档简介

基于q o s 约束保证的w r e b 服务合成应用 研究 专业:计算机应用技术 研究生:王建峰 导师:钱雪忠 摘要 随着w e b 服务的广泛应用,服务质量( q u a l i t yo fs e r v i c e 。0 0 s ) 已成为一个判定服 务提供者是否成功的重要因素。0 0 s 决定服务的可用性和效用,而这两方面都会影响到 服务的普及。 本课题目的在于在满足用户基本需求及保证o d s 约束的情况下定义流程中的每个 w e b 服务,并且在流程执行时从注册中心中选择用户所需要的w e b 服务。用户对服务 质量的要求影响了服务被选择的可能性。在服务查找过程中,消费者通过u d d i 代理选 择功能相同但质量较高的服务。但是单个w e b 服务的q o s 约束并不能保证整条w e b 服 务执行路径的全局q o s 约束。由于每个用户对各0 0 s 维度的需求不同,不同的用户对 整条执行路径的0 0 s 也有着不同的需求 本文对基于0 0 s 约束保证的w e b 服务合成进行了应用研究。基于u d d i 的w e b 服 务合成框架,给出了一种基于q o s 约束保证的w e b 服务合成系统模型- - w s c m q c ( w e b s e r v i c ec o m p o s i t i o nm o d e lb a s e do l aq o sc o n s t r a i n t s ) 。该模型既能在无约束状况下 a s p n e t 界面下实现最优o o s 的w e b 服务工作流;提出了新的合成策略,运用q i s o 算法实现支持q o s 全局约束的w e b 服务合成的最优路径选择。实验表明,该算法实现 选择的速度较快,准确性较高。 本文对w e b 服务在动态电子商务上的应用起到了抛砖引玉的作用,基于w e b 服务的 整个领域一包括金融服务、高科技和媒体以及娱乐领域未来都将建立起支持o o s 约束 的服务收费机制以满足不同层次用户的需要。 关键字:w e b 服务、o o s 、合成、选择 江南大学硕士学位论文 s t u d y o nq o sc o n s t r a i n t sg u a r a n t e e dw e b s e r v i c ec o m p o s i t i o n m a j o r :c o m p u t e ra p p l i c a t i o nt e c h n o l o g y n a m e : w a n gj i a n f e n g s u p e r v i s o r : q i a nx u e z h o n g a b s t r a c t q o s ( q u a l i t yo fs e r v i c e ) h a sb e c o m ea ni m p o r t a n tf a c t o ri nt h es u c c e s so fw e bs e r v i c e s u p p l i e rw i mt h ew i d e s p r e a du s eo fw e bs e r v i c e & a v a i l a b i l i t ya n du t i l i t yo fs e r v i c ei s d e t e r m i n e db y o o s 。a n d t h e s e t w oa s p e c t s w i l la f f e c t t h e p o p u l a r i t y o f s e r v i c e o u rs t u d ya l i n st od e 妇e v e r yw e bs e r v i c ei nt h ep r o c e s s s e t r i c e s w h i c hu s e i sn e e da n d m u s tb ec o n s t r a i n e db y0 0 s ,w i l lb es e l e c t e df r o mr c g i s t e rc e n t e rd u r i n gt h ee x e c u t i o no f p r o c e s s n ep u s s i b i l i t yo fs e r v i c e s b e i n gs e l e c t e di sa f f e c t e db yu s e r sr e q u i r e m e n t so f0 0 s i nt h ep r o c e s so fs e r v i c ed i s c o v e r y , c o n s u l n c l xs e l e c ts e r v i c e st h a th a v es a n l ef u n c t i o n sb u t b e t t e rq u a l i t yt h r o u g hu d d ib r o k e nh o w e v e r , g l o b a lo o sc o n s t r a i n t so ft h ew h o l ew e b i n i c ce x e c u t i o np a t hc a n n o tb eg u a r a n t e e db yi n d i v i d u a ls e r v i c e s t h eo o sn e e do fw h o l e e x e c u t i o np a t hf r o mv a r i o mu s e nd i f f e 搀c e r t a i n l yb f c a u s co ft h ed i f f e r e n to o sd i m e n s i o no f r e s p e c t i v eu s e r s a p p l i e dr e s e a r c ho nw e bs e r v i c ec o m p o s i t i o ns u p p o r t i n g0 0 sc o n s t r a i n t sg u a r a n t e ei s s t u d i e di no u rt h e s i s w i t hu d d l - b a s e dw e bs e r v i c ec o m p o s i t i o nf r a m e w o r k , aw e bs e r v i c e c o m p o s i t i o nm o d e lb a s e do no o sc o n s t r a i n t s , w h i c hi sc a l l e dw s c m q c ( w e bs e r v i c e c o m p o s i t i o nm o d e lb a s e do nq o sc o n s t r a i n t s ) , i sd e l i v e r e d i nt h i sm o d e l n o to n l yb e s tb u t u o uo o ss u p p o r t i n gw e bs e r v i c ew o r k f l o ws e l e , c t i o ni sc a r r i e do u ti na s e n e t , b u ta l s oan e w c o m p o s i t i o np o l i c y i s p u tf o r w a r da n db e s te x e c u t i o np a t h s e l e c t i o no fw e bs e r v i c e c o m p o s i t i o ns u p p o a i n go o sg l o b a lc o n s t r a i n t si sa c h i e v e db yq p s oa l g o r i t h m 1 k e x p e r i m e n ts h o w st h a ts e l e c t i o ni m p l e m e n t e db yt h i sa l g u f i t h mi sc o m p a r a t i v e l yf a s ta n d a c c u r a t e 删sa r t i c l ei n t e n d st os t a r f u r t h e rd i s c u s s i o no rw e bs e r v i c e a p p l i c a t i o n i nd y n a m i c e - c o m n l g r c e i no r d e rt os a t i s f yu 辩鹅f r o md i f f e r e n tl e v e l s , 缸t h ef u t u r e o o ss u p p o r t i n g s e r v i c ec h a r g em e c h a n i s mw i l lb ee s t a b l i s h e di nt h ew h o l ew e bs e r v i c eb a s e da r e a , i n c l u d i n g f i n a n c i a ls e r v i c e ,a d v a n c e dt e c h n o l o g y , m e d i aa n de n t e r t a i n m e n ta r e a k e yw o r d s :w e bs e r v i c e ,o o s ,c o m p o s i t i o n ,s e l e c t i o n 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。尽我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 本人为获得江南大学或其它教育机构的学位或证书而使用过的材料。 与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明 确的说明并表示谢意。 签名:兰啦日期:砷7 年? 月夕目 关于论文使用授权的说明 本学位论文作者完全了解江南大学有关保留、使用学位论文的规 定:江南大学有权保留并向国家有关部门或机构送交论文的复印件和 磁盘,允许论文被查阅和借阅,可以将学位论文的全部或部分内容编 入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、 汇编学位论文,并且本人电子文档的内容和纸质论文的内容相一致。 保密的学位论文在解密后也遵守此规定。 签名:导师签名:丝丝 日期:砷钆秒日 第一章绪论 第一章绪论 1 1 课题研究的实用价值和理论意义 w e b 服务作为一种集成网络上其他应用程序的w e b 应用,能够被网络上的其他软件 和服务独立地进行部署和调用。企业利用其功能将内部业务及执行复杂事务的外部w e b 服务进行整合。整合的效率和灵活性对于服务合成至关重要。由于一些w e b 服务提供相 同的功能,服务质量( q o s ) 就是区别它们的关键因素。整个业务流程的q o s 必须满足 用户的需求。 随着w e b 服务在商业中越来越广泛的使用,逐步将建立起收费机制。企业提供由w e b 服务合成后的应用程序。用户要消费流程中的各个w e b 服务,必须付出一定的费用以获 得较高的服务质量。每个用户的消费水平又是不同的,则在不同的q o s 的约束下,需要 一种策略来选择约束情况下的最优w e b 服务流程。在小规模的状况下,可以运用线性算 法对它进行实现;而在流程w e b 服务中数量不断增长的情况下,使用遗传等非线性算法 比较合适。本文提出了一种新的合成策略,它的选择速度快,结果也比较接近最优路径。 1 2 相关工作 对于w e b 服务合成有很多解决方案”一,包括了面向流程的合成、基于语义的合成、 基于组件的合成、基于代数过程的合成以及基于p e t r i 网的合成等。 1 中还比较了各 种方法的优劣,指出由于服务合成发展的方向是建立一个行业标准。在上面提到的几种 合成方法中,尤其以前两者最为常见。 由于b p e l 4 w s 2 “已经被认为是w e b 服务合成语言的标准,因此很多面向流程的合 成都是基于b p e l 4 骼的。包括网格服务的合成“”以及网格服务、w e b 服务的混合合 成“”以及面向方面“的和面向上下文“”的w e b 服务合成等。本文的工作就是属于面向流 程的合成。 国内外对基于q o s 属性的w e b 服务合成研究,主要分为: ( 1 ) 构建支持q o s 约束的w e b 服务合成框架。研究者们大多是建立一个代理服务 “”,并通过该代理将提供的服务与用户联系起来。 6 中构造了一个q o s 代理,包括 服务信息管理器、选择管理器、合成管理器及自适应管理器,它们分别执行收集、合成, 选择及自适应任务,实现了服务跟踪、动态服务合成、动态服务选择、动态的服务自适 应调整等功能。该框架较为全面地说明了调用合成后的w e b 服务过程中一系列需要实现 的功能,但没有涉及具体实现。由于w e b 服务也处于网络中,因此实际执行时会出现各 种偏差,比如连接失败、或者网络负载过于严重。此时w e b 服务的0 0 s 值也会发生变化, 那么最优的w e b 服务也在实时发生变化。 7 通过代理服务有效地实现了组合服务的动 态绑定与重新规划,使w e b 服务流程的选择实时最优或接近最优,避免了由于网络故障 导致不能获得最佳的服务质量。 ( 2 ) 基于o o s 的组合服务选择策略。这些方法有些是建立在( 1 ) 中提到的框架的基础 之上的,都是对框架中o o s 代理的主要功能的实现比如: 6 中的选择管理器就将w e b 服务的选择看成多选择背包问题,然后用p i s i n g e r 的算法解决问题,并且扩展c s p 算法 江南大学硕士学位论文 为c s p b o c s p r ,生成晟优路径,并提供自适应的服务选择。 7 在代理服务的基础上提 出工作流切片的概念,并设计了重新规划触发算法,决定w e b 服务工作流最佳路径重新 规划何时被触发,同时设计了切片计算算法以形成新的最优路径;还有一些研究者仅仅 提出或运用适当的算法到合成策略,选择w e b 服务合成的最优路径。 8 不仅提出了曲 服务的q o s 模型,还用整数规划解决了q o s 约束情况下e b 服务的最优合成。e 9 j 给出了两 种o - 1 整数规划的方法,并对它们各自计算资源的耗费做了比较。 1 0 提出w e b 服务在服 务群中相对服务质量的计算方法,把w e b 服务集成抽象为多段图问题,给出采用动态规 划的求解策略。计算整个执行路径q o s 的方法除了上述的类似整数规划的线性规划外, 还可以运用 1 1 1 给出的遗传算法来解决支持q o s 约束w e b 服务合成问题。虽然其计算速度 较慢,但随着具体w e b 服务数量逐渐增大,其耗费的资源相对较少。 1 3 本文的主要工作 本文第一部分阐述了课题研究的意义以及国内外对于w e b 服务合成的研究;第二部 分介绍了w e b 服务及其合成的基本概念,几种常见的合成方法以及执行方式,l f e b 服务 及其合成的o o s 模型,即对合成前后的w e b 服务进行评估。第三部分设计出了一种支持 q o s 约束的w e b 服务合成代理模型,实现了根据服务质量决定服务的选择,并对其工作 流程进行了阐述;利用企业级的i j d d i 环境上实现了无约束状态下的最优w e b 服务选择。 第四部分提出了一种在约束状态下基于q p s o 算法的合成策略,即实现第三部分中所给 出的模型中o o s 代理的服务选择功能,并描述了数据结构及其接口。第五部分通过“旅 行计划”的实例来演示w s c m o c 的实现。并且,多次实验的结果表明该选择策略能较 快地找到最优或是接近最优的w e b 服务执行路径。最后总结了我们的工作,并预测该课 题将来的发展方向。 2 第二章w e b 服务合成的o o s 模型 2 1w e b 服务 2 1 1 定义 第二章w e b 服务合成的o o s 模型 w e b 服务是描述一些操作( 利用标准化的x ) f l , 消息传递机制可以通过网络访问这些 一 操作) 的接口,是用标准的、规范的) 矾,概念描述的。这一描述囊括了与服务交互需要 的全部细节,包括消息格式( 详细描述操作) 、传输协议和位置。该接口隐藏了实现服 务的细节,允许独立于实现服务基于的硬件或软件平台和编写服务所用的编程语言使用 服务,允许并支持基于w e b 服务的应用程序成为松散耦合、面向组件和跨平台技术的实 现。w e b 服务履行一项特定的任务或一组任务,也可以单独或同其它w e b 服务一起用于 实现复杂的聚集或商业交易。 2 1 2 模型 w 曲服务体系结构”基于三种角色( 服务提供者、服务注册中心和服务请求者) 之间的交互。交互涉及发布、查找和绑定操作。这些角色和操作一起作用于w e b 服务构 件:曲服务软件模块及其描述。在典型情况下,服务提供者托管可通过网络访问的软 件模块( w e b 服务的一个实现) 。服务提供者定义w e b 服务的服务描述并把它发布到服务 请求者或服务注册中心。服务请求者使用查找操作来从本地或服务注册中心检索服务描 述,然后使用服务描述与服务提供者进行绑定并调用w e b 服务实现或同它交互。服务提 供者和服务请求者角色是逻辑结构,因而服务可以表现两种特性。图1 描述了这些操作, 提供这些操作的组件及它们之间的交互 2 1 3 角色及操作 图1w e b 服务体系结构 ( 1 ) 服务提供者:即服务的所有者为了使服务可访问,需要发布服务及其描述, 使得服务请求者可以查找它发布服务描述的位置可以根据应用程序的要求而变化 ( 2 ) 服务请求者:即服务的消费者。寻找并调用服务,或启动与服务交互的应用程 序。该角色可以由铡览器来担当,由人或无用户界面的程序( 例如,另外一个w e b 服务) 3 江南大学硕士学位论文 来控制它在查找操作中,服务请求者直接检索服务描述或在服务注册中心中查询所要 求的服务类型。 ( 3 ) 服务注册中心:即可搜索的服务描述注册中心,服务提供者在此发布他们的服 务描述在静态绑定开发或动态绑定执行期间,服务请求者查找服务并获得服务的绑定 信息( 在服务描述中) 。对于静态绑定的服务请求者,服务注册中心是体系结构中的可 选角色,因为服务提供者可以把描述直接发送给服务请求者。在绑定操作中,服务请求 者使用注册中心中服务描述的绑定细节来定位、联系和调用服务,从而在运行时调用或 启动与服务的交互。 2 1 4w e b 服务协议栈 s o a p ”目 s o a p ( s i m p l eo b j e c ta c c e s sp r o t o c 0 1 ) 简单对象访问协议是在分散或分布式的环 境中交换信息的简单的协议它以x m l 形式提供了一个简单的、轻量级的可以在分散的 环境,或者是分布式的环境中点对点地交换结构化和类型化信息的一种机制。h t t p 的普 及和s o a p 的简单性使用户几乎可以从任何环境调用它们,因此成为w e b 服务的理想基础。 s o a p 由四部分组成: s o a p 。e n v e l o p ( s o a p 信封) ,它构造定义了一个整体的表示框架,可用于表示在消息 ( e s s a g e ) 中的是什么,谁应当处理它,以及这是可选的还是强制的; s o a pe n c o d i n gr u l e s ( s o a p 编码规则) ,定义了用于表示应用定义的数据类型的编 码规则; s o a pr p cr e p r e s e n t a t i o n ( s o a pr p c 表示) ,定义了一个表示远程过程调用和返回 的约定; s o a pb i n d i n g ( s o a p 绑定) ,定义了一个使用底层传输协议来完成在结点问交换s o a p 信封的约定。 虽然这四个部分都作为s o a p 的一部分,作为一个整体定义的,但他们在功能上是 相交的、彼此独立的。特别是信封和编码规则被定义在不同的瑚l 命名空间( n a m e s p a c e ) 中,这样使得定义更加简单。 s o a p 的两个主要设计目标是简单性和可扩展性。这就意味着有一些传统消息系统或 分布式对象系统中的某些性质将不是s o a p 规范的一部分。比如:分布式垃圾收集 ( d i s t r i b u t e dg a r b a g ec o l l e c t i o n ) 、成批传送消息( b o x c a r r i n go rb a t c h i n go f m e s s a g e s ) 、对象引用( o b j e c t s - b y - r e f e r e n c e ,依赖分布式垃圾收集) 、对象激活 ( a c t i v a t i o n ,依赖对象引用) 。 对s o a p 简单的理解,就是这样一个开放协议s o p :r p c + h t t p + ) n 也:采用h t t p 作为 底层通讯协议:r p c 作为一致性的调用途径,儿作为数据传送的格式。允许服务提供 者和消费者经过防火墙在i n t e r n e t 进行通讯交互。r p c 的描叙可能不大准确,因为s o a p 一开始构思就是要实现平台与环境的无关性和独立性。每一个通过网络的远程调用都可 以通过s o a p 封装起来,包括分布式计算环境中的r p cc a l l s ,c o m v c o uc a l l s 。c o r b a c a l l s j a v ac a l l s 等。 s o a p 使用 r r r p 传送x 虬,尽管 n 1 甲不是有效率的通讯协议,而且x m l 还需要额外 的文件解析( p a r s e ) ,两者使得交易的速度大大低于其它方案。但是x 虬是一个开放、 健全、有语义的讯息机制,而h t t p 是一个广泛又能避免许多关于防火墙的问题,从而 使s o a p 得到了广泛的应用。但是如果效率对你来说很重要,那么你应该多考虑其它的 方式,而不要用s o a p 。 4 第二章w e b 服务合成的q o s 模型 骼d l 骼d l ( - 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 ) 是描述w e b 服务的语言,它将w e b 服 务定义为服务访问点或端口的集合。在骼d l 中,由于服务访问点和消息的抽象定义已 从具体的服务部署或数据格式绑定中分离出来,因此可以对抽象定义进行再次使用:消 息,指对交换数据的抽象描述;而端口类型,指操作的抽象集合。用于特定端口类型的 具体协议和数据格式规范构成了可以再次使用的绑定。将w e b 访问地址与可再次使用的 绑定相关联,可以定义一个端口,而端口的集合则定义为服务。因此,骼d l 文档在w e b 服务的定义中使用下列元素: t y p e s 一数据类型定义的容器,它使用某种类型系统( 一般地使用x m ls c h e m a 中的类型系统) 。 m e s s a g e 一通信消息的数据结构的抽象类型化定义。使用t y p e s 所定义的类型 来定义整个消息的数据结构。包含了一组p a r t 元素,每个p e r t 元素都是最终消息的一 个组成部分,每个p a r t 都会引用一个d a t a t y p e 来表示它的结构。p a r t 元素不支持嵌套 ( 可以使用d a t a t y p e 来完成这方面的需要) ,都是并列出现。 o p e r a t i o n 一对服务中所支持的操作的抽象描述,一般单个o p e r a t i o n 描述了 一个访问入口的请求响应消息对。 p o r t t y p e 一对于某个访问入口点类型所支持的操作的抽象集合,这些操作可 以由一个或多个服务访问点来支持。而一个o p e r a t i o n 则是指访问入口支持的一种类型 的调用。在骼d l 里面支持四种访问入口调用的模式:1 单请求;2 单响应;3 请求响 应;4 响应请求。 b i n d i n g 一特定端口类型的具体协议和数据格式规范的绑定。从这一层次开始, 描述的内容就与具体服务的部署相关了比如可以将p o r t t y p e 与s 0 a p h t t p 绑定,也 可以将p o r t t y p e 与m i 艇跏t p 相绑定等。 p o r t 一定义为协议数据格式绑定与具体w e b 访问地址组合的单个服务访问 点,包括通过哪个w e b 地址( u r l ) 来访问,应当使用怎样的消息调用模式来访问等。其 中消息调用模式则是使用b i n d i n g 结构来表示 s e r v i c e 一相关服务访问点的集合。一个s e r v i c e 往往会包含多个服务访问入 口,而每个访问入口都会使用一个p o r t 元素来描述。 u d d i “ u d d i ( 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 ) 是一套基于w e b 的、 分布式的、为w e b 服务提供信息注册中心的实现标准规范,同时也包含了一组使企业能 够将自身提供的w e b 服务加以注册以使得别的企业能够发现的访问协议的实现标准。对 于那些需要与不同顾客建立许多种关系的厂家来说,每家都有自己的一套标准与协议, u d d l 支持一种适应性极强的服务描述,几乎可以使用任何接口。规范允许企业在注册中 心中发布它所提供的服务,这样发现企业及服务就变得高效而且简单了;而对于b 2 b 交 易场所提供者,他们需要获得这一行业内的供应商的分类数据,以及它们与计费服务、 包装商、运输商、保险公司等之问的关系,u d d i 允许动态发现相关的w e b 服务并将其集 成到聚合的业务过程中。 u d d i 构建于网络传输层和基于s o a p 的x m l 消息传输层之上。诸如w e b 服务描述语言 ( 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 ,w s d l ) 之类的服务描述语言提供了统一的l 词 汇( 与交互式数据语言( i n t e r a c t i v ed a t al a n g u a g e ,i d l ) 类似) 供描述w e b 服务及其 接口使用。它提供了一种编程模型和模式,定义与注册中心通信的规则。u d d i 规范中所 有a p i 都用x m l 来定义,包装在s o a p 信封中,在h t t p 上传输。 5 江南大学硕士学位论文 图2u d d i 消息在客户机和注册中心之间的流动 图2 说明了u d d i 消息的传输,通过h t t p 从客户机的s o a p 请求传到注册中心节点,然 后再反向传输。注册中心的s o a p 服务器接收u d o is o a p 消息,进行处理,然后把s o a p 响 应返回给客户机。 u d d i 注册中心建立在顾客提供的数据的基础之上。软件公司和标准组织定义关于在 u d d i 中注册的行业或企业的规范时,开始向注册中心发布其业务及其提供的服务的描 述。u d d i 注册中心会给每个实体指定一个在程序中唯一的标识符,叫做唯一通用标识符 ( u n i q u eu n i v e r s a li d e n t i f i e r ,删i d ) 键,从而能随时了解所有这些实体的情况。 i j u i d 键必须是唯一的,并且在一个u d d i 注册中心中从来都不会变化。那么,客户机与商 业应用程序( 例如,基于工作流聚合起来的w e b 服务) 使用u d d i 注册中心来发现它们感 兴趣的服务。接着,另外的企业就可以调用这些服务,简便的进行动态集成。 2 2w e b 服务合成 随着w e b 服务的迅速发展,单个w e bs e r v i c e 的能力有限。w e b 服务的抽象、组织和 复合越来越重要,由此出现了w e b 服务的合成。 2 2 1 定义 - e b 服务合成“1 是指支持业务流程逻辑的一组w e b 服务,其本身既可以是最终的应 用,也可以是新的w e b 服务,合成是通过确定不同的w e b 服务的执行顺序和w e b 服务之间 的复杂交互实现w e b 服务合成必须满足一定的要求这些要求也成为了w e b 服务合成中 的研究难点它包括: 能够动态地发现满足需求的服务 能够顺利地执行复合服务 能够对复合服务进行事务处理 高度动态的商务应用环境使得w e b 服务合成应该具有高可用性,高可靠性和高度自 适应性 6 第二章w e b 服务合成的o o s 模型 2 2 2 分类 w e b 服务合成根据流程产生的时段一般认为可以分成静态合成和动态合成两大类。 静态服务合成 在静态合成中,复合服务在设计阶段就被定义。因此合成过程对于服务请求者来说 是透明的。服务请求者可以像调用基本服务那样调用复合服务。比如在某个特定商品定 购系统,它应包括可用商品信息查询、信用卡信息查询、更新数据库并将商品提交到传 递给顾客这几个功能不同的服务。由于这项复合服务的使用频率会很高,服务提供者若 将这三个服务事先集成在一起要比在每次客户请求时都创建一次复合服务更符合应用 的需要。静态服务合成的典型系统有b i z t a l k s e r v e r ,b e a 公司的w e b l o g i ci n t e g r a t i o n 等。 动态服务合成 动态服务合成中,复合服务的过程是在运行时刻选择和调用所需服务并将之合成。 动态的服务合成取决于服务发现过程是否能够自动实现。这里的自动发现,不仅要在功 能上满足要求,还有一些其它的要素,例如服务的费用、执行时间等q o s 属性都有可能 需要考虑。比如在第5 章实现的旅行计划实例,它包括地址服务、酒店搜索服务、酒店 信息服务几个功能不同的抽象服务,每一个抽象服务都有很多具体的服务,它们具有不 同的b o s 属性,根据用户的q o s 约束选择动态的乳b 服务工作流。 对w e b 服务检索的方法只有关键字查询和分类查询这两种,基于这些方法的服务检 索可能会返回过多的结果,以至于无法对所需的w e b 服务进行有效地选择。研究者们希 望通过在服务描述中引入包含上下文信息的语义描述来提高服务检索的能力,使得服务 请求者和提供者具有共同的语义理解,从而驱动服务的动态发现和合成。因此,提出了 基于语义的w e b 服务合成 语义w e b 服务”1 的主要方法是利用本体来描述w e b 服务,然后通过这些带有语义信 息的描述实现w e b 服务来实现服务的自动发现,调用和组装。o w l - s 是连接语义和w e b 服务两大技术的桥梁,目前语义的研究主要围绕o w ls 展开o w l - s ( w e bo n t o l o g y l a n g u a g ef o rs e r v i c e s ) ,是用o w l 语言描述的w e bs e r v i c e 的本体在o w ls 中,一 个s e r v i c e 由三部分来描述s e r v i c e p r o f i l e ,s e r v i c e m o d e l ,s e r v i c e g r o u d i n g 。简单 来说,s e r v i c e p r o f i l e 描述服务是做什么的,s e r v i c e h o d e l 描述服务是怎么做的, s e r v i c e g r o u n d i n g 描述怎么访问服务。一个s e r v i c e 最多被一个s e r v i c e m o d e l 描述, 一个s e r v i c e 6 r o u n d i n g 必须和一个s e r v i c e 相关联。 2 2 3 合成的方法 w e b 服务的合成方法“按抽象层次可以分为四个层次:硬编码模式、用特定的服务组 合定义语言定义组合服务模式、模型驱动模式、根据目标推理服务组合方案模式。硬编 码模式将服务组合以硬编码的方式来实现,是组合服务最原始的方法,也最不灵活,形 成的组合服务适应性差。w e b 服务是动态变化且自治的,当某一服务组件产生错误时, 需要修改形成的组合服务工作量大,另一方面该方法也不能适应应用需求的动态变化 基于b p e l 4 邪的w e b 服务组合 b p e l 4 骼( 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 r 曲s e r v i c e s ,w e b 服务的 商业流程执行语言) 是专为整合w e b 服务而制定的一项规范标准。b p e l 4 w s 的作用是将一 组现有的服务整合起来,从而定义一个新的w e b 服务。它能够将w e b 服务调用、操作数据、 7 江南大学硕士学位论文 抛出故障或终止一个流程等不同的活动连接起来,从而创造出复杂的流程,这些活动可 以嵌套到结构化活动中,结构化活动定义了活动的运行方式和控制流程。b p e l 4 w s 可将 一组现有的服务整合起来,从而定义一个新的w e b 服务 模型驱动的w e b 服务组合 在用特定语言定义组合服务的基础上,提出用模型驱动的方法来开发、管理动态服 务组合,模型驱动方法将软件开发方法学应用到服务组合中。该方法最大的特点是将组 合逻辑与组合规范分离开,使用u 札描述服务组合,使得能在更抽象的层次将w e b 服务组 合模型化,该组合定义随后可自动地映射到特定的规范如b p e l 4 w s 上,进而再关联到实 际具体的w e b 服务上。 基于a i 规划的w e b 服务组合 o w l - s 的出现为基于a i 规划的组合方法提供了可能,将乳b 服务看成a i 中的动作,通 过输入输出参数、前提和结果等来描述e b 服务在服务组合时,只要将w e b 服务的这些 描述映射为动作形式化描述,在w e b 服务空间中以构造w e b 服务组合为目标,通过形式化 的推理来得出w e b 服务的组合序列,动态形成服务组合方案,同时也能够保证规划结果的 正确性和完整性。基于a i 的规划方法包括情景演算规划法、层次任务网规划法和基于规 则的规划法。 2 2 4 合成服务的执行 复合服务的执行是指按照事先定义好的顺序逐个调用构件服务的过程一般有两种 模式实现这个过程:中央调度和分布式调度。1 中央调度模式 中央调度模式是在服务提供者的控制之下执行w e b 复合服务的。在这种模式中,服 务提供者持有一个复合服务调度程序,它根据复合服务的定义指导自己的行为。当复合 服务被调用时,一个调度程序的实例就被创建,它按照一定的顺序和一定的条件调用各 构件服务。运行中的调度程序将接收和处理与服务实例相关的事件。为了使服务实现和 服务接口分离,调度程序可以使用外部代理来处理进出的服务请求,远程过程调用和其 他分布相关问题都将由外部的代理软件去实现。目前如e f l o w , g f i o 一2 4 合成系统的复 合服务是采用中央调度的模式来执行的 分布式调度模式 在分布式调度模式中。复合服务一样是由自己的调度程序来控制。所不同的是,为 了能够在p e e r - t o - p e e r 对等环境下执行复合服务,系统将使用特定的协调程序来包装每 个构件服务。协调程序能够接收从其它协调程序发来的消息,并在必要的时候调用它的 构件服务。复合服务的完成或中断将依赖于其流程中所有相关的协调程序。同时协调程 序还应该有能力为每个构件服务定义一些前置条件和后处理行为当且仅当前置条件被 满足时,协调程序才会调用该构件服务,并且通知所有负责后继服务的协调程序,让它 们做好准备。分布式服务执行大大降低了消息交换的数量,却又容易引起另外的一个问 题:所有构件服务的协调程序必须是事前建立好的,但是由于服务驻留在不同的服务提 供者的站点上。因此这种情况下,只能采取静态绑定的方式执行复合服务 2 2 5 现有的模型 有关w e b 服务发现及合成的问题,目前尚没有统一的解决方案。下面介绍两种比较 典型的模型本文所给出的框架正是建立在以下两种模型的基础之上的。 8 第二章w e b 服务合成的o o s 模型 w s d m - q 模型“” 一种支持q o s 约束的w e b 服务发现模型( w s d m - q ) 该模型定义了一组描述e b 服务q o s 及信誉度的分类t u o d e l ,引入了q o s 量化的概念,采用了q o s 协商和反馈机制,支持携带 q o s 描述信息的服务发布和基于o o s 约束的服务发现。协商机制允许服务提供者根据运行 时的状态对服务请求进行接纳控制,反馈机制允许服务注册中心对服务提供, q o s 的信誉 度进行动态评估和调整。该模型不需要改变u d d i 的内部实现,能够直接在现有的u d d i 服 务上进行扩展。 图3 髂删一q 模型 w s d m 2 q 模型在现有的s o a 指导框架基础之上新增了一种名为q o s 认证中心的角色以 及角色之间进行交互的4 种操作量化、协商、反馈和排名( 图3 ) 模型中涉及的各 种角色和相应操作如下: ( 1 ) 服务提供者( s e r v i c ep r o v i d e r ) 。提供一组w e b 服务,执行服务请求,并通过 接纳控制向消费者提供有保证的服务质量。服务提供者遵循“q u a n t i f y - p u b l i s h ”模式, 首先通过q o s 认证中心对w e b 服务所能提供的q o s 进行量化,然后将携带q o s 分类信息的服 务描述信息发布到u d d i ,从而允许服务消费者发现并调用服务。 。 ( 2 ) 服务消费者( s e r v i c ec o n s u m e r ) 调用w e b 服务的应用程序、软件模块或其它 - e b 服务。服务消费者遵循“q u a n t i f y f i n d - n e g o t i a t e b i n d - i n v o k e ”模式,首先通过 o o s 认证中心对q o s 需求进行量化,然后根据约束条件从u d d i 查找服务,接着与目标服务 提供者进行协商,最后进行协议绑定,并调用目标服务。 ( 3 ) 服务注册中心( s e r v i c er e g i s t r y ) 提供服务注册和发现功能。为了支持基于 q o s 的服务发现,服务注册表要能够支持对w e b 服务q o s 的描述。当前的u d d i 规范和实现 不提供这些功能,该模型采用了一组分类t m o d e l 来描述w e b 服务的q o s 属性 ( 4 ) q 0 s 认证中心( o o sa u t h o r i t y ) 对服务提供者的o o s 通告或服务消费者的o o s 需 求进行量化,接受来自服务消费者的q o s 反馈,并根据反馈信息对w e b 服务的信誉度进行 动态评估和调整。 基于代理的w e b 服务合成模型 【6 提出了一种基于代理的框架模型,使得支持端到端q o s 约束保证的语义w e b 服务 能动态集成及自适应调整最优路径。该框架的主要目的是部署一个代理,根据用户的请 求做出选择的决定,并执行服务合成,简化了企业的系统工程。 9 江南大学硕士学位论文 图4 基于代理的框架模型 图4 为该代理的架构模型。它包括以下4 个部分: ( 1 ) 服务信息管理器:收集候选的w e b 服务,用户在服务库中对所需要的服务进行 调用。服务库包括服务和q o s 统计数据两个数据表。 ( 2 ) 合成管理器:维护存储流程计划的流程库。流程计划为一系列服务的集合及它 们之间的关系;接受用户的请求,生成执行计划。 ( 3 ) 选择管理器:实现动态服务选择。合成管理器生成的执行计划还只是抽象的图。 为了初始化为具体的业务流程,选择管理器需要在最优路径上选择具体的服务及服务 层。这样的选择基于用户的q o s 需求,并将w e b 服务合成看作是多选择的背包问题 ( 4 ) 自适应管理器:实现合成的动态自适应性。选择的结果发送给服务的请求者。 服务请求者初始化业务流程执行引擎( 比如b p e l ) 。根据生成的最优的业务流程,执行 引擎整合组建服务,执行业务流程的实例。运行时,执行引擎监控着每一步的执行,如 每个服务的反应时间、网络传输延迟等。 2 3w e b 服务合成的q o s 模型 2 3 1 支持w e b 服务中的o o s 的主要需求 可用性:可用性是质量的一个方面,指w e b 服务是否存在或是否已就绪可供立即使 用。可用性表示服务可用的可能性。较大的值表示服务一直可供使用,而较小的值表示 无法预知在某个特定时刻服务是否可用。与可用性有关的还有修复时间 ( t i m e - t o - r e p a i r t 豫) t t r 表示修复已经失效的服务要花费的时间。理想情况下,较 小的t n l 值是合乎需要的 可访问性:可访问性是服务质量的一个方面,表示能够为w e b 服务请求提供服务的 程度。它可以表示为一种可能性尺度,用来表示在某个时间点上成功地实例化服务的成 功率或机会。w e b 服务可用但却无法访问这

温馨提示

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

评论

0/150

提交评论