




已阅读5页,还剩73页未读, 继续免费阅读
(计算机应用技术专业论文)基于web服务动态合成框架的服务组装引擎研究及实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 面向服务体系架构是目前最具发展藉力的大型软件系统架构,具有非常广 阔的应用前景,其松耦合,跨语言等特性为企业级系统间交互提供了很好的支 持,随着w e b 服务技术的广泛应用,使得现有w e b 服务数量迅速增长,对w e b 服务的功能需求越来越复杂,因此对w e b 服务合成的需求越来越迫切。 目前的w e b 服务规范缺乏在服务合或方面的支持,现有的技术和工具在单 个w e b 服务的处理方面具有全面的支持,而服务合成方面仅仅在静态w e b 服 务组合方面有一定的支持,因此对w e b 服务的动态合成研究具有理论意义和实 用价值。 本文在讨论业务流程执行语言和语支w e b 技术规范相结合的基础上提出了 一种基于业务流程执行语言和语义w e b 的动态服务合成模式,分别定义了动态 服务发现机制,动态服务筛选机制,毒态服务集成机制,复合服务执行机制, 以及相应的服务注册机制。并以此隽基础,提出w e b 服务动态合成框架 w s d c f 4 s e i ,对动态服务合成的解决方案进行深入研究。该框架在结构上包含 服务组装引擎w s a e 和扩展u d d i ( u d d i x ) 两部分,在功能上完整的体现了 与服务合成相关的一系列处理过程。 围绕着动态服务合成模式的一系列曩割,对服务合成过程中的关键技术进 行了深入研究,提出了领域本体库和语义查询模板的设计方案,定义了服务合 成规则体系。同时,针对框架中的w e b 吸务组装引擎子系统的模板解析模块, 服务查询分析模块,服务组装模块和b f e l 执行引擎进行了详细的模块设计。 最后以b s 模式实现了w s d c f 4 s e ! 蒙型系统,用户通过服务发布和复合服 务查询部署功能,可体验服务合成的完墼过程,并以煤质管理信息平台为支撑 进行了服务合成的实验,对本文提出的麓态服务合成解决方案具有的理论意义 与应用价值进行了验证。 关键词:面向服务,w e b 服务,服务合最业务流程执行语言,语义w e b ,u d d i a b s t r a c t s o a ( s e r v i c eo r i e n t e da r c h i t e c t u r e ) i sal a r g es c a l es o f t w a r ea r c h i t e c t u r et h a t h a so v e r w h e l m i n gp o t e n t i a la n dt h e r e f o r eh a sv e r yw i d ea p p l i c a t i o np r o s p e c t i t p r o v i d e st h ee x c e l l e n ts u p p o r tf o ri n t e r a c t i o no fd i f f e r e n te n t e r p r i s es y s t e mo w i n g t oi t sp r o p e r t i e ss u c ha sl o o s ec o u p l e ,c r o s s - l a n g u a g ea n ds oo n w i t ht h ew i d e a p p l i c a t i o no fw e bs e r v i c e s ,al a r g en u m b e ro f w e bs e r v i c e sa p p e a r , a n dm e a n w h i l e , t h e r ea r em o r ea n dm o r ec o m p l i c a t e dr e q u i r e m e n t so ft h ew e bs e r v i c ef u n c t i o n s , t h e r e f o r e ,w e bs e r v i c e sc o m p o s i t i o ni su r g e n tt oi m p l e m e n t a t e h o w e v e r , t h e r ea r en o te n o u g hs p e c i f i c a t i o n so ns e r v i c ec o m p o s i t i o na tp r e s e n t m o r e o v e r ,t h ee x i s t i n gt e c h n o l o g ya n dt o o l sf o c u s eo nh a n d l i n gs i n g l ew e bs e r v i c e , a n do n l ys u p p o r ts t a t i cc o m p o s t i o no fw e bs e r v i c e s ,t h e r e f o r ei ti sn e c e s s a r ya n d m e a n i n g f u lt or e s e a r c ho nd y n a m i cc o m p o s i t i o nf o rw e bs e r v i c e s t h i sd i s s e r t a t i o np r e s e n t sap a t t e r no fw e bs e r v i c ec o m p o s t i o n ,w h i c hi sb a s e d o nb u s i n e s sp r o c e s se x e c u t a b l el a n g u a g ea n ds e m a n t i cw e b t h i sp a t t e r ni n c l u d e s t h ed e f i n i t i o no fd y n a m i cs e r v i c ed i s c o v e r y ,f i l t e r a t i o n ,i n t e g r a t i o n ,c o m p o s i t e s e r v i c ee x e c u t i o na n dc o r r e s p o n d i n gs e r v i c er e g i s t r a t i o nm e c h a n i s m t h e n ,w e b s e r v i c ed y n a m i cc o m p o s i t i o nf r a m e w o r k ( w s c d f 4 s e i ) a st h ei m p l e m e n t a t i o n s o l u t i o nt ot h i sp a t t e r ni sp r o p o s e d ,w h i c hi sc o m p o s e db yw e bs e r v i c ea s s e m b l y e n g i n e ( w s a e ) a n du d d i - e x t e n s i o n ( u d d i - x ) ,a n dr e f l e c t st h ew h o l ep r o c e s so f s e r v i c ec o m p o s i t i o n f u r t h e r m o r e t h i sd i s s e r t a t i o na l s ot a k e st h ef u r t h e rd i s c u s s i o no nt h ec r u c i a l t e c h n i q u e sw h i c ha c c o r d i n gt ot h em e c h a n i s m sp r e s e n t e db yt h es e r v i c ed y n a m i c c o m p o s i t i o np a t t e r n i tp r o p o s e st h ed e s i g np r i n c i p l eo fd o m a i no n t o l o g yl i b r a r y a n ds e m a n t i cq u e r yt e m p l a t e ,a n dd e f i n e st h es e r v i c ea s s e m b l yr u l e s t h e ni t p r e s e n t st h em o d u l ed e s i g no fw s a e ,w h i c hi n c l u d e st e m p l a t ep a r s i n gm o d u l e , s e r v i c eq u e r ya n a l y s i sm o d u l e ,s e r v i c ea s s e m b l ym o d u l ea n db p e le n g i n e a tt h ee n d o ft h i sd i s s e r t a t i o n ,t h ew s d c f 4 s e ip r o t o t y p es y s t e mi s i m p l e m e n t e da s ab s s y s t e mw i t ht h e f u n c t i o no fs e r v i c ep u b l i s h m e n ta n d c o m p o s e ds e r v i c eq u e r ya n dd e p l o y m e n t t h e n ,o n ep r a c t i c a le x p e r i m e n tf r o mt h e p r o j e c tc o a lq u a l i t ym a n a g e m e n ti n f o r m a t i o ns y s t e m ( c q m i s ) i sc a r r i e do u to n t h i sp r o t o t y p es y s t e m a sr e s u l t ,t h et h e o r e t i c a lm e a n i n ga n da p p l i c a t i o nv a l u eo f t h es o l u t i o nt od y n a m i cw e bs e r v i c ec o m p o s i t i o ni sv e r i f i e dc o n s e q u e n t l y k e y w o r d s :s e r v i c eo r i e n t e d ,w e bs e r i c e s ,s e r v i c ec o m p o s t i o n ,b p e l ,s e m a n t i c w e b ,u d d i i l 论文图表清单 图2 1 1w 曲服务角色及互操作。6 图2 卜2w e b 服务概念性协议栈。9 图2 一l 一3s o a p 消息9 图2 - 1 - 4 可互操作的基础w 曲服务协议栈l l 图2 1 5u d d i 工作原理1 2 图2 1 6u d d i 数据结构1 3 图2 - 2 1w s b p e l 流程组合的w e b 服务1 6 图2 - 2 之语义w e b 体系结构:1 9 图3 1 1 服务发现流程图2 5 图3 1 _ 2 交通服务领域本体示意图2 6 图3 1 3 动态服务集成过程3 0 图3 1 - 4 a c t i v e b p e l 引擎架构3 l 图3 1 5 请求分发流程图3 2 图3 2 1w s d c f 4 s e i 框架结构图。3 4 图3 - 2 2w s a e 内部模块功能结构图。3 5 图4 1 - l 元概念集的类及属性图3 7 图4 2 。l 顺序及并行流程生成逻辑图。5 0 图4 3 1 模板解析模块类图。5 3 图4 3 2 领域本体处理对应类图5 3 图4 3 3 服务查询处理对应类图5 4 图4 3 - 4 服务查询处理时序图5 5 图4 3 - 5 服务组装模块类图5 6 图5 一l - l 编码环境e c l i p s ei d e 5 9 图5 1 - 2 本体设计环境巾r o t 6 醇5 9 图5 1 3w s d c f 4 s e i 原型系统登陆5 9 图5 - l - 4 服务发布管理主界面6 0 图5 1 5 发布服务基本信息注册6 0 图5 1 6 发布服务领域概念映射6 l 图5 1 - 7 发布服务量纲映射6 l 图5 1 8 发布服务部署成功6 l 图5 1 9 复合服务查询部署主界面6 2 图5 1 10 提交语义查询摸板6 2 图5 1 1 l 复合服务查询结果6 2 图5 一1 1 2 部署复合服务成功6 3 图5 2 - l 复合服务的w s d l 6 4 图5 - 2 - 2 复合服务的w s b p e l 6 5 图5 - 2 3 复合服务流程的图形化描述6 5 图5 2 4 使用复合服务生成的报表6 6 表2 - 2 一lw s b p e l 基本活动。1 7 表2 - 2 2w s b p e l 结构化活动1 7 表3 1 1 服务查询关键字2 6 表3 1 - 2q o s 匹配参数实例2 8 表4 1 1 元概念描述3 8 表4 1 2 领域概念定义示例1 3 8 表4 1 3 领域概念定义示例2 3 9 表4 1 - 4 领域关系集合的实例定义3 9 表4 1 5 语义查询模板的元素及属性定义4 0 表4 - 1 6 语义查询模板示例4 : 表4 2 1 复合服务w s d l 文档内容模板。4 3 表4 2 2 复合服务w s b p e l 文档内容模板4 5 表4 3 - ld o m a i n m o d e l f a c t o r y 类5 2 表5 2 1 语义查询模板“ 表5 - 2 2 客户程序调用w e b 服务一6 5 v l 独创性声明 本人声明所呈交的学位论文是本j 、在导师指导下进行的研究工作及取得的研究 成果。据我所知,除了文中特别加以标志和致谢的地方外,论文中不包含其他人已经 发表或撰写过的研究成果,也不包含为获得盒蟹王些太堂或其他教育机构的学 位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均己在论文 中作了明确的说明并表示谢意。 学位论文作者签字:高尚签字日期。o 刀午y 7 2 - 日 学位论文版权使用授权书 本学位论文作者完全了解盒e 曼三:些盍堂有关保留、使用学位论文的规定,有 权保留并向国家有关部门或机构送交迂文的复印件和磁盘,允许论文被查阅或借阅。 本人授权金妲王些友堂可以将学二论文的全部或郡分论文内容编入有关数据库 进行检索,可以采用影印、缩印或扫丰三等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后适用2 爰权书) 靴敝糍各铂刺f q 签字日期:刀年月2f l 鬈签名:彳 弛 婕一眵 签字日期珈。7 年6 月ft 月 工作单位:上缉7 5 丛话厚删雨隈么司电话:c r 剜钌c 嗣胁。锣 通讯地址:上鹚磨炒 柳瑶够侈蟛缮 邮编:哟 、j b 污 致谢 衷心感谢我的导师袁兆山教授在这近三年的研究生学习阶段中对我的悉心 指导和帮助,如果没有袁老师的谆谆教导,本论文是不可能顺利完成的。袁老 师以他在软件工程领域深厚的理论基础和对研究方向良好的把握,给了我意义 最深刻的指引。袁老师为我提供了良好的工作学习环境的同时,更为我创造了 在理论和实践两个方面都得到锻炼的机会,尤其是让我先后参与3 个实际项目, 并担任其中一个项目的负责人,应该说是十分来之不易的,使我不仅在学习方 面有飞速的进步,而且在诸多非智力方面得到巨大提升。袁老师认真严谨的治 学态度和工作作风将令我终身难忘,并将成为我在走上工作岗位后努力工作的 楷模。 感谢合肥工业大学研究生院及计算机与信息学院的各位领导和老师给予的 帮助。 同时特别要感谢我的父母和家人在我求学期间对我的鼓励和支持,他们的 关心使我更加坚定我走向成功的信心。 最后,还要感谢其他曾经在各方面帮助过我的同学,朋友以及实验室的兄 弟姐妹,是大家的支持才有了我的进步。 i 2 0 0 7 年5 胃 第一章绪论 1 1 面向服务体系架构概述 随着软件开发技术的不断发展,面向服务架构技术已逐渐成为继面向过程, 面向对象,面向构件等技术以后的主流技术架构。面向服务体系架构( 以下简 称s o a ) 及相关规范由i b m ,o r a c l e ,s a p , 微软等公司共同推出。 和以往的软件开发技术相比,s o a 突出的特点是粗粒度和松耦合,使得不 同的业务问可以通过跨网络,跨平台,甚至跨编程语言以服务的形式进行交互, 利用s o a 可以将业务作为链接服务或可重复业务任务集成到其他系统中,可在 需要时通过网络访问这些服务和任务。这些服务是自包含的,具有定义良好的 接口,从而被远程调用,同时由于具有松散耦合特性,使得能够将服务组合为 各种应用程序,从而大幅度提高了代码重用率,可以在增加功能的同时减少工 作量。服务与服务之间,应用程序和服务之间的交互都是基于消息进行的,而 这些消息往往以x m l 形式规范,正因为此,s o a 就具有了独特的跨越不同编 程语言的交互能力。 1 2w e b 服务 w e b 服务( w e bs e r v i c e s ) ,是用于s o a 最常见的技术标准,另外还有c o r b a , m q s e r i e sr p c 等都可以是s o a 的实现技术。随着w e b 技术的迅猛发展,全世 界对w e b 上各类资源共享需求日益增加,使得w e bs e r v i c e s 成为s o a 的主流 技术。 w 曲服务是独立的、模块化的应用程序,能够在网络( 一般是w w w ) 上 被描述、发布、查找和调用【l l 。根据s o a 的特点,w e b 服务定义了三种角色: 服务提供者、服务请求者和服务注册中l j , 2 j 。服务提供者向服务代理发布其能 够提供的服务,当服务请求者发出服务请求时,服务注册中心负责寻找对应的 服务并提供给服务请求者。 w 曲服务建立在s o a p ,w s d l 和u d d i 标准上,并包含一系列规范,用于 在服务设计,部署等情况下对服务进行约束和扩展,这些规范涉及寻址,安全, 发现策略,元数据交换,事务,合成等方面。所有规范标准均采用x m l 格式 描述,因此与服务所在的硬件环境,操作系统,应用系统,编程语言等没有任 何关系。目前越来越多的大型软件系统开始向s o a 迁移,为了更好地实现软件 系统集成,文献【3 】提出了一种w e b 服务适配器来将遗留系统中的构件转换为 w 曲服务。 1 3 服务合成的提出 w e b 服务作为新的分布式计算技术,已经被越来越广泛地接受。许多企业 已将自身的业务能力以服务的形式提供给消费者。在众多的w e b 服务出现时, 将现有的服务整合起来,形成一个完善的功能更强的服务,是很有意义的。 另一方面,在服务的设计过程中,现实中的应用一般都非常复杂,为了分 散和简化应用逻辑,提高服务可重用性,单个w e b 服务往往比较简单,业务较 为单一,为了满足用户的需求,设计新的业务系统,往往是耗费人力物力,利 用服务合成技术,将各类现有的服务“拼装”成一个新的业务环境提供给用户 使用,对于用户来说这个环境和实际的功能模块没有区别,但实际上使用的是 复合的服务,不同的服务可能运行在不同的服务器,甚至不同的平台之中。 目前服务合成技术是各大公司和研究院所w e b 服务相关研究的热点问题。 在w e b 服务的设计阶段,针对复合服务可以剩用业务流程技术进行合成,这种 合成方式称之为静态服务合成,如果候选的服务较多,实现的业务流程复杂, 使用静态服务合成方法也会大大增加服务合成的难度,同时由于是直接通过流 程语言描述,当在部署后出现变化,如业务规则变更,原子服务变化,薪的服 务的加入等,对复合服务的变更复杂度也会飞速增加,给系统维护带来负担。 在静态服务合成无法适应服务变更的需求下,动态服务合成成为当前w e b 服务合成的热点问题,相对于静态合成,动态合成缺少业界规范,发展很不成 熟,尚未出现广泛使用的企业级解决方案。动态服务合成需要考虑服务的运行 期查询,匹配,互操作控制,流程装配等问题,这些都是静念服务合成忽略的 方面。 同时,现有的服务注册,发现及查询机制缺乏语义层面支持,包括u d d i 提供的注册及查询接口,仅仅通过字符串或数值参数进行匹配,往往会出现一 些服务无法被匹配到,导致无法充分利用服务资源,而动态服务合成所采用的 墓于语义层面的服务查询绑定机制就会弥补这一点。 1 4 研究意义 目前的w e b 服务规范缺乏在服务合成方面的支持,现有的技术和工具在单 个w e b 服务的处理方面具有全面的支持,面服务合成方面仅仅在静态w e b 服 务组合方面有一定的支持,因此对w e b 服务的动态合成研究具有积极意义。 w e b 服务合成是目前s o a 架构方面的研究热点,尤其是服务动态合成,更 乏对传统的软件开发及现有w e b 服务规范及相关技术提出了更高要求和新的 蔓战。w e b 服务合成将会推动软件开发方法学的变革,实现企业级跨系统的业 务组合,提高数据的整合能力,并在未来推动软件的自动化,智能化生产,最 乏解决软件危机。 15 国内外研究现状 w e b 服务的动态合成及相关领域如服务发现,服务质量,智能w e b 服务等 2 都是目前国内外研究的热点内容,由于缺乏统一的规范支持,相关技术欠成熟, 缺乏工业界的足够支持,而学术界也是重心放在建模及形式化证明等研究方面。 e f l o w 4 】:是由h p 实验室开发的服务组合平台,它提供定义、建立和监控 组合服务的功能,提供自适应,事务及补偿等机制,具有较高的系统容错 能力。但未提供较强的的检错功能。 a g f l o w 5 1 由h p 实验室开发的基于a g e n t 的服务发现的服务组合平台。提 供了更为有效的补偿机制,可以实时更换服务提供者来完成执行任务的剩 余郝分。 s e l f s e r v t 6 】:由新南威尔士大学设计的w e b 服务组合原型系统。系统采 用五层体系结构并提出服务容器的概念,有利于大量潜在交化的服务组合 成对等的服务执行模型,但在安全性,应用范围和可靠性方面存在一定问 题: w e b t r a n s a c t ”:是巴西量约热内卢联合大学设计的w e b 服务组合原堑系统, 其采用多层的体系结构,通过扩展w s d l 提出了基于x m l 的w e b 服务事 务语言和事务模型。系统具有了一定的容错能力和可靠性。在恢复方面存 在一定问题。 m e t e o r s t 8 1 1 9 】:佐治亚大学大规模分布式信息系统实验室开发的w e b 服务 组合平台,该平台包含w e b 服务发现基础设施( m w s d i ) 和w e b 袅务合 成框架( m w s c f ) 。利用定义包含语义的抽象流程和服务模板来实蠖动态 服务匹配和合成,并且通过本体库和扩展语义的w s d l s 实现服务髓注册 和查询,最后生成b p e l 4 w s 可执行工作流,并在b p e l 4 j 弓f 擎中运 亍。该 平台具有较强的服务匹配和合成能力。 国内方面,动态服务合成的研究集中在基于a g e n t 和基于本体方面# 暑: 重于服务合成的形式化证明,如服务规划算法,服务相似度算法等。 东北大学信息科学与工程学院开发的面向w e b 服务设计的服务台邑系统 s d o w s c s 。系统利用语义w e b 和b p e l 4 w s 技术实现。包含图形化岔务建 模予系统,扩展u d d i 子系统,服务动态选取子系统和服务执行予乒;薏 提出了异构服务粘合剂和备选服务的概念,具有较高的易用性,可萝皇。 但在安全性,服务串行化及异常捕获方面存在一定问题f m i i 】。 中国科学院软件研究所开发的自动组合w e b 服务的多a g e n , i 绕 a w s c a g e n t s ,系统利用扩展了用户偏好语义描述的o w l s + ,及状:;尊 来进行w e b 服务的组合,同时借助了a g e n t 技术,使得服务合成在一 程 度上具有主动性,自治性,推理性和社会性。从而该系统具有较大:看 性和适应性,在安全性和服务匹配方面仍存在一些不足之处f 1 2 i 。 3 1 6 本文研究内容 本文的主要工作在于研究一种基于业务流程语言和语义w e b 的动态服务合 成模式,定义合成过程中的相关处理机制,同时对该模式的具体解决方案进行 了深入研究,设计w e b 服务动态合成框架( w s d c f 4 s e i ) ,并对服务合成的关 键技术进行了研究。实现的框架包含服务组装引擎( w s a e ) 和扩展u d d i ( u d d i x ) 两个子系统,其中w s a e 建立了服务的动态发现,筛选,集成和 复合服务执行等机制,u d d i x 则是对u d d i 进行了语义层面的扩展。建立基 于领域概念的服务注册和服务查询机制,从焉最终得到一种针对企业级应用的 动态服务合成解决方案。本文重点对w s a e 子系统进行了设计,并初步实现了 w s d c f 4 s e i 框架的原型系统。 1 7 论文组织 全文由六章组成。本章为绪论,介绍研究谍题背景,意义,涉及到的相关 概念,说明论文的主要内容和所做的工作以及论文的组织结构。 第二章:w e b 服务合成理论及技术基础,介绍w e b 服务相关理论,规范, 技术,介绍w e b 服务合成相关理论,技术。 第三章:w e b 服务动态合成框架关键技六研究,介绍组合模式的选择,研 究语义服务发现与筛选,服务注册,服务集& ,复合服务执行等机制,并设计 w e b 服务动态合成框架w s d c f 4 s e i 。 第四章:w e b 服务组装引擎设计与实现,设计领域本体库,建立基于领域 的概念关系集,定义语义查询模板,定义、c b 服务组装规则,并对w e b 服务 组装引擎进行模块设计。 第五章:w e b 服务合成实例应用,建立_ 警筘原型系统,为w e b 服务动态 合成框架增加表现层,使用b s 交互模式, 堕于使用者的图形化操作;同时 以项目煤质管理信息平台为基础,利用实倪歹造证服务合成效果。 第六章:总结,对全文进行总结,并指c 研究中存在的主要问题和改进方 向。 1 8 小结 本章对s o a 、w e b 服务及服务合成的柜+ 置念进行了阐述,并对服务合成 的研究必要性进行了说明,并在结合当静匡j 醑究状况的基础上,概括了本 文的研究内容及思路。 4 第二章w e b 服务合成理论及技术基础 2 1w e b 服务相关技术 2 1 w e b 服务定义 w 3 c 在w e b 服务体系结构文档中定义:w 曲服务是由u r l 标识的软件应 用程序,其公共接口和绑定使用x m l 定义和描述,服务定义可以被其它软件 系统发现,并按规定的方式使用基于因特网协议的x m l 消息与其他软件应用 程序直接交互i l ”。 w e b 服务是一种部署在w e b 上的组件,具有面向对象及面向构件技术的所 有优点,同时,w e b 服务建立在x m l 及开放w e b 规范技术基础上,因此又具 有比传统面向对象及面向构件技术更好的开放性,是建立可互操作的分布式应 用程序新平台。w e b 服务可以从以下几方面定义: 首先,w e b 服务是自包含,模块化,可复用的软件模块。w e b 服务是对软 件开发中面向对象设计的发展和升华。基于构件的模型允许开发者复用其他人 创建的代码模块,组成或扩展它们,形成新的软件。 其次,这些软件模块是松散耦合的。传统的应用软件设计模式要求各个单 元之间紧密连接,这种连接形成的复杂性要求开发者必须对连接的两端元素有 完全的了解和控制能力,而且,这种连接一旦建立后,很难从中把一个元素取 出,用另外一个元素代替。相反,松散耦合的系统,只需要很简单的协调,并 允许更加自由的配置。 再次,w e b 服务是基于网络的,分布式的模块化组件,它执行特定的任务, 遵守具体的技术规范,因而能与其它兼容的组件进行互操作。 第四,在语义角度,w e b 服务封装了离散的功能。一个w e b 服务就是一个 包含了某种特别业务能力的再现应用服务,完成单个的任务。w e b 服务的模块 使用其他软件可以理解的方式描述输入和输出,其它软件知道它能做什么,如 何调用它的功能以及返回什么样的结果。 第五,w e b 服务可以在程序中访问。和w e b 网站或桌面程序不同,w e b 服 务不是为直接与人交互设计的,它们不需要有图像化的用户界面。w e b 服务是 在代码级工作的,它们被其它软件调用,并与其它软件交换数据。不过w e b 服 务最终的目的还是形成一个能够与用户交互的应用软件。 最后,w e b 服务是在i n t e r n c t 上发布的。w e b 服务使用现有的并广泛使用的 传输协议,比如h t t p 。使用与传输w e b 内容相同的、并广泛使用的协议,不 需要调整现有的i n t e r n e t 架构,w e b 服务就可以通过防火墙进行通信。 对于外界的使用者来说,w e b 服务实际上就是一种远程组件,提供的调用 接口方法就是一个或一组远程的a p i 。具有以下特点【h j : 良好的封装性。w e b 服务是一种部署在w e b 上的对象,具备对象的良好封 装性,而对于使用者来说,仅能看到该对象提供的功能列表。 松散耦合。当一个w e b 服务的内部实现发生变更的时候,调用者是不会感 觉到的。对于调用者来说,只要w e b 服务的调用接口不变,w e b 服务实现的任 何变更对于调用者来说都是透明的。 使用标准协议规范。作为w e b 服务,其所有公共的协约完全需要使用开放 的标准协议进行描述、传输和交换。同时,相比一般对象,其界面调用更加规 范化,更易于机器理解。 高度可集成能力。由于w 曲服务采取简单的、易理解的标准协议作为组件 界面描述,所以完全屏蔽了不同软件平台的差异,无论何种技术体系,都可以 通过这一种标准的协议进行互操作,实现了在当前环境下的高度集成性。 2 1 2w e b 服务模型 w e b 服务体系结构基于三种角色一一服务提供者,服务注册中心和服务请 求者之间的交互。交互涉及发布、查找和绑定操作。这些角色和操作一起作用 于w 曲服务构件:w 曲服务软件模块及其描述。在典型情况下,服务提供者 托管可通过网络访问的软件模块( w e b 服务的一个实现) 。服务提供者定义 w 曲服务的服务描述并把它发布到服务请求者或服务注册中心。服务请求者使 用查找操作来从本地或服务注册中心检索服务描述,然后使用服务描述与服务 提供者进行绑定并调用w e b 服务实现或同它交互。服务提供者和服务请求者 角色是逻辑结构,因而服务可以表现两种特性。图2 1 1 描述了这些操作,操 作组件及它们之间的交互【l 】【1 5 】。 图2 - 1 1w e b 服务角色及互操作 图2 1 1 中的3 个角色分别为: 服务请求者( s e r v i c er e q u e s t e r ) :服务请求者是一个应用程序、一个软件模 块或需要一个服务的另一个服务。它发起对注册中心中的服务的查询,通 6 过传输绑定服务,并且执行服务功能。服务请求者根据接口契约来执行服 务。 服务提供者( s e r v i c ep r o v i d e r ) :服务提供者是一个可通过网络寻址的实体, 它接受和执行来自使用者的请求。它将自己的服务和接口契约发布到服务 注册中心,以便服务使用者可以发现和访问该服务。 服务注册中心( s e r v i c er e g i s t r y ) :服务注册中心是服务发现的支持者。它 包含一个可用服务的存储库,并允许感兴趣的服务使用者查找服务提供者 接口。 s o a 架构【1 3 j 【l5 l 【1 6 1 中的组件实体都扮演着服务提供者、使用者和注册中心这 三种角色中的某一种( 或多种) 。3 个组件之间的操作包括: 发布( p u b l i s h ) :为了使服务可访问,需要发布服务描述以使服务请求者可 以发现和调用它。 发现( f i n d ) :服务请求者定位服务,方法是查询服务注册中心来找至:满足 其标准的服务。 绑定和调用( b i n da n di n v o k e ) :在检索完服务描述之后,服务请求者继续 根据服务描述中的信息来调用服务。 服务注册中心和服务提供者提供: 服务( s e r v i c e ) :是封装成用于业务流程的可重用组件的应用程序函氩。它 提供信息或简化业务数据从一个有效的、一致的状态向另一个状态的转交。 用于实现特定服务的流程并不重要,只要它响应请求者的命令并为谚请求 提供高质量的服务就可以了。通过定义的通信协议,可以调用服务泵强调 互操作性和位置透明性。一个服务表现为一个软件组件,因为从服务请求 者的角度来看,它看起来就像是一个自包含的函数。然而,实际上焉妥 的实现可能包括在一个企业内部的不同计算机上或者许多业务合作杪哔拥 有的计算机上执行的很多步骤。就封装的软件而言,服务可能是一1 t 件, 也可能不是一个组件。如同类对象。请求者应用程序能够将服务看f ;毫一 个整体。可以通过已发布接口使用服务,并且允许服务使用者调用良辱。 服务存在就是要被服务请求者调用或者同服务请求者交互。当服务p 一;现 中利用到其它的w e b 服务时,它也可以作为请求者。 服务描述( s e r v i c e d e s c r i p t i o n ) :指定服务使用者与服务提供者交互垂乞 式: 它指定来自服务的请求和响应的格式。服务描述包含服务的接口和;t 的 细节。其中包括服务的数据类型、操作、绑定信息和网络位簧。还7 - 乏包 括可以方便服务请求者发现和利用的分类及其它元数据。服务描述: 囊 发布给服务请求者或服务注册中心。服务描述应该声明接口特征,:王指 定一组前提条件、后置条件,安全要求,事务要求和服务质量( q o s f t 别 等非功能特征。 对于利用w e b 服务的应用程序,必须发生以下三个行为:发布服务描述、 查询或查找服务描述以及根据服务描述绑定或调用服务。这些行为可以单次或 反复出现。这些操作具体为: 发布操作。为了使服务可访问,需要发布服务描述以使服务请求者可以查 找它。发布服务描述的位置可以根据应用程序的要求而变化。 查找操作。在查找操作中,服务请求者直接检索服务描述或在服务注册中 心中查询所要求的服务类型。对于服务请求者,可能会在两个不同的生命 周期阶段中牵涉到查找操作:在设计时为了程序开发而检索服务的接口描 述,而在运行时为了调用而检索服务的绑定和位置描述。 绑定操作。最后需要调用服务。在绑定操作中,服务请求者使用服务描述 中的绑定细节来定位、联系和调用服务,从而在运行时调用或启动与服务 的交互。 2 1 3w e b 服务协议栈 w e b 服务模型指明了面向服务体系架构中的角色和互操作,而w e b 服务的 协议栈则描述了w e b 服务的结构,也就是,协议是各角色自j 用来沟通的基础, 之所以称为栈,是由于这些协议是一层层垒起来的,下层为上层提供段务,上 层是建立在下层的基础之上,可调用下层完成本层的功能。 要以一种可互操作的方式执行发布、发现和绑定这三个操作,必霰有一个 包含每一层标准的w e b 服务协议栈1 1 】【1 6 l 【l 。图2 1 2 展示了一个概念性w e b 服务协议栈。上面的几层建立在下面几层提供的功能之上。垂直的条表示在协 议栈中每一层必须满足的需求。左面的文本表示协议栈的那一层所应曩的标准 技术。 下面按照由底层到高层的顺序分别介绍图2 1 2 中描述的各层。 网络层是w e b 服务协议栈的基础。w e b 服务要被服务请求者调属豪必须 是可以通过网络访问的。因特网上可以公用的w e b 服务需要使用普悬氧署的 网络协议,h t t p 凭借其普遍性,成为了因特网可用的w e b 服务真j 的标准 网络协议,而且h t t p 的请求应答模式十分符合r p c 类型调用。w e ? 爱务还 可以支持其它因特网协议,包括s m t p ( 主要用于异步方式的调用) 一f t p , 或使用可靠消息传递和调用基础结构,如m q s e r i e s ,e m a i l ,c o r e i i o p 等等。 b p e l ,w s f l u d d l u d d i w s d l s o a p h t l ef f re m a i l m q 。i i o p 等 图2 1 2w e b 服务概念性协议栈 基于x m l 的消息传递层,表示使用x m l 作为消息传递协议的基础;并 以s o a p 为协议。 s o a p 惦】( s i m p l eo b j e e ta c c e s sp r o t o c 0 1 ) 即简单对象访问协议,是在分布 式环境中通过x m l 编码进行通信的一种简单的网络协议。在网络通信世界里 面,协议是指互相交换信息的双方在通信过程中遵循的规范。 图2 - 1 3s o a p 消息 s o a p 消息由4 部分组成,如图2 1 - 3 所示: 9 ( 1 ) s o a pe n v e l o p e ,即s o a p 封套,它构造定义了一个整体的表示框架, 可用于表示在消息中的是什么,谁应当处理它,以及这是可选的还是 强制的。 ( 2 ) s o a pe n c o d i n gr u l e s ,即s o a p 编码规则,定义了一个编序机制用 子交换应用程序定义的数据类型的实例。 ( 3 ) s o a p r p c r e p r e s e n t a t i o n ,即s o a p r p c 表示,定义了一个用于表示 远程过程调用和相应的约定。 ( 4 ) s o a pb i n d i n g ,即s o a p 绑定,定义了一个使用底层传输协议来完成 在节点问交换s o a p 封套的约定。 s o a p 是一个协议规范,不仅定义了传递x m l e n c o d e d 数据时的统一方式, 还定义了使用h t t p 作为底层通信协议时执行远程调用( r p c ) 的方法。s o a p 以x m l 格式发送消息有很多好处,如完全的与提供商的无关性,允许独立于 操作系统、对象模型和编程语言的实现,这样能够确保互用性,尽管需要付出 解析和序列化x m l 文档的代价。s o a p 是s o a 实现的线缆级协议,它定义了 服务请求对象和服务提供对象之间的消息协议,实现了w e b 服务之问的消息交 换。因此,服务请求对象可以以面向对象的方式执行服务提供对象的远端方法。 选择s o a p 作为x m l 消息传递协议有以下原因: 第一,s o a p 是使用x m l 传送以文档为中心的消息以及远程过程调用的 标准化封装机制。 其次;s o a p 很简单,它基本上是一个用x m l 信封作为有效负载的h t t p p o s t 。 再次,s o a p 比对x m l 简单的h t t pp o s t 更受青睐,因为它定义了一 个标
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 ISO 17831-2:2025 EN Solid biofuels - Determination of mechanical durability of pellets and briquettes - Part 2: Briquettes
- 【正版授权】 ISO 15237:2025 EN Coal - Determination of total mercury
- 【正版授权】 IEC 62608-1:2025 RLV EN Multimedia home network configuration - Basic reference model - Part 1: System model
- 【正版授权】 ISO 13909-4:2025 EN Coal and coke - Mechanical sampling - Part 4: Preparation of test samples of coal
- 校园应急知识培训课件作文
- 债务规划面试题及答案
- 教师业务考试题及答案
- 云南b类面试题及答案
- 砌砖工程试题及答案
- 幼儿英语考试试题及答案
- 2025年事业单位工勤技能-河南-河南农机驾驶维修工一级(高级技师)历年参考题库含答案解析(5套)
- 2025年幼儿园教师岗位聘任协议(含资格认证及薪酬激励)
- 成都东部集团有限公司招聘考试真题2024
- 银行收息管理办法
- 海外房产投资项目方案(3篇)
- 消防员心理健康课件
- 2024年中级注册安全工程师《安全生产技术基础》考试真题及答案
- JJG 597-2025交流电能表检定装置检定规程
- DBJT 13-318-2025建筑施工盘扣式钢管脚手架安全技术标准
- 2025年中国儿童学习机市场竞争格局及投资战略规划报告
- 厨师专业论文
评论
0/150
提交评论