




已阅读5页,还剩74页未读, 继续免费阅读
(计算机应用技术专业论文)web+services异步调用模型的研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 随着i n t r a n e 仉n t e m e t 的迅猛发展,计算机技术在企业的生产、管理和商务等方面已经得到越来越 广泛和深入的应用。面向服务的体系结构s o a 、动态电子商务d e b 和企业应用系统集成e a l 的需求 也随之迅速兴起。w e bs e r v i c e s 作为s o a 、d e b 和e a i 的新一代基础平台技术得到了广泛的关注和支 持,并已在实际中得到较多的应用。但由于w e bs e r v i c e s 本身作为一个分布式计算平台,在其现有所 实现的服务调用模型上还并不完善,所以始终未得到大规模的_ l 业应片j 。 虽然w e bs e r v i c e s 底层可以支持多种通信协议,但由于h t t p 的广泛性和具有穿越防火墙等优点, 使得基于h 订p 底层通信协议的w e bs e r v i c e s 成为实际使用中最普遍的w e bs e i c e s 实施方案。而该 方式下的服务调用模型仅实现了单向和同步请求应答模型,对于异步调用模型a i m 和消息事件服务 m e s 都仍未有统一的标准。本文就如何完善w e bs e r v i c e s m t t p 的a i m 进行了研究,并设计和实现了 其中的回调、带a c k 的回调、轮询以及带a c k 的轮询模型。 参考现有w e bs e r v i c e s 的a i m 研究成果,设计、实现了基丁客户端多线程同步调用m t s i 模式( 包 括:网络连接每请求和网络连接池方式) 的a i m ;由于该实现模式存在客户端操作系统的线程负载大、 系统延迟时间长、占用网络连接资源多以及资源利率低等缺点,本文提出并设计实现了基于a s v n s 0 a p 模式( 包括:服务线程每请求和服务线程池方式) 的a i m ,克服m t s i 模式的不足。同时,使 用形式化工具p e t r i 网对基于m t s l 和a s y ns o a p 两种不同模式的系统进行描述,进而利用p e t “网已 有的成熟理论米分析、验证系统设计的相关性质( 主要包括:系统是否存在死锁、活锁:系统能否达 到最终期望的结果状态以及是否存在有不希望的状态) 。通过分析和验证,该两种不同模式的系统均能 够正确地实现a i m 中的四个异步服务调用子模型。 然后,参考c o r b a 中异步方法调用a m i 的用户接口描述,定义了w e bs e r v i c e s h t t p 的a i m 用 户使用界面。并在现有w s d l 到j a v a 语言的w 曲s e r v i c e s 客户端s t u b 源码自动生成上具基础上,实 现了对a i m 客户端j a v a 语言的s t u b 源码的自动生成功能。最后,分别在c e r n e t 校园网和i n t e m e t 电信网环境下,对两种不同模式的a i m 原型系统进行功能和性能( 包括:平均系统延迟时间、系统吞 吐率和服务器可接受的平均并发客户数) 测试,并对各测试结果进行了分析、比较。功能测试结果表 明,两个不同的模式均能正确地实现a i m 的四个异步服务调用子模型;性能测试结果验证了基于a s v n s o a p 模式的系统延迟时间和资源利i e | j 率等方面相对于m t s i 模式的较大优势。 关键词:w e b 服务,异步调用模型,p e t r i 网,s o a p ,h t t p 分类号:t p 3 9 3 a b s t r a c t a l o n gw i t ht h ei n c r a n e “i m e m e th a v i n gb e e nd e v e l o p e ds w i f t ly ,c o m p u t e rt e c h n 0 1 0 9 yh a sa l r e a d yg o t m o r ea n dm o r ew i d e s p r e a da n dt h o r o u g h 印p l i c a t i o ni ns u c ha s p e c t sa sp r o d u c t i o n ,m a n a g e m e n ta n d c o m m e r c i a la f f a i ro fe n t e r 口r i s e s t h ed e m a n do fs e r v i c eo r i e n t e da r c h i t e c t u r e( s o a ) , d y n a m j c e l e c t m b u s i n e s s ( d e b ) a n de n t e r p r i s ea p p l i c a t i o ni n t e g r a t i o n ( e a l ) i st h e r e u p o ns p r i n g j n gu p w e b s e r v i c e sh a sg o tb r o a dc o n c e m 柚ds u p p o r ta st h et e c h n o l o g yo f an e wb a s i cp l a t f o r mo f s o a ,d e ba n de a i a n dh a sb e e nb e e na c t u “l yo b t a i n sm a n ya p p l i c a t i o n s b u tb e c a u s ew e bs e r v i c e s ,a sad i s t r i b u t e dc o m p u t i n g p l a t f o n ,i ss t i 儿i m p e r l b c to n “ss e r “c ec a um o d e l sw h i c hi m p l e m n e t sn o w ,t h e r e f o r e h a s n o t9 0 tt h e l a 唱e s c a l ei n d u s t r i a la p p l i c a t i o nt h m u g h 。u t a l 廿l o u g hw e bs e r v i c e sc a ns “p p o r tm a n yk i n d so fn e t w o r kc o m m u n i c a t i o “p r o t o c 0 1 s ,b e c a u s eh t t p h a sm a n ya d v a n t a g e ss u c ha sw i d e s p r e a du s a g e ,a b i l i t yo fp a s s i n gt h r o u g hn r e w a l la n de t c ,m a k e sw e b s e r v i c e sb a s e do nh r r p ( w e bs e r v i c e s ,h t t p ) b e c o m et h em o s tg e n e r a la d o p t i o na c t u a l l yb u tu n d e rt h i s m o d e ,t h es e r v j c ec a l lm o d e l sh a v eo n l yb e e ni m p l e m e n t e di no n e - w a ya n ds y n c h r o n o u sr e q u e s “r e p o n s e m o d e l ,a n da st oa s y l l c h r o n o u si n v o c a t i o nm o d e l ( a i m ) a n dm e s s a g e e v e n t ss e r v i c e ( m e s ) ,i ts t 川h a v en o t u n i f o 咖r e a l i z a t i o na n ds t a n d a r d t h i st h e s i sr e s e a r c h e sh o wt oc o n s u m m a t ea l mo fw e bs e r v i c e s h t tp , d e s i g n sa 1 1 dr e a l i z e st h ea 1 1o fa 1 mi n c l u d i n gc a l l b a c k ,p o l l i n 吕c a l l b a c kw i t ha c k n o w l e d g e ( a c k ) a n d p 0 1 1 i n gw i t ha c k r e f e r r e dt oe x i s t i n gr e s e a r c hr e s u l t so fw e bs e r v i c e sa i m ,t h ep a t t e mb a s e do nm u l t i t h r e a d i n g s y n c h r o n o u si n v o c a t j o n ( m t s i ) ,讪i c hf n c l u d e sn e t w 口r kc o n n e c t j o no f e a c hr e q u e s ta n dn e t 、v o r kc 。n n e c t i o n p o o ls u b p 甜e m ,i sd e s i g n e da n dr e a l i z e d t oi m p l e m e n ta i m b e c a u s et h ep 甜e mo fm t s le x i s t sm a n y s h o r t c o m i n g ss u c ha sh e a v yt h r e a d sl o a do nc l i e n to p e 豫t i o ns y s t e m ,l o n gs y s t e md e l a yt i m e ,t “i n gt o om a n y n e t w o r kr e s o u r c e sa n dl o wr e s o u r c eu s a g er a t e ,t h en o v e ip a t t e mb a s e do na s y n c h r o n o u ss o a p ( a s y n s o a p ) ,w h i c hi n c l u d e ss e r v i c et h r e a do fe a c hr e q u e s ta n ds e r i c et h r e a d sp o o ls u b p a n e m ,i sp r o p o s e da n d r e a l i z e dt oo v e r c o m et h ed e f e c t so fm t s i m e a n w h i l e ,p e t r in e ti su s e dt od e s c r i b et h e s et w os y s t e md e s i g n s o fm t s ia n da s y ns o ap ,t h e nt h em a t u r i t yt h e o r yo fp e t r in e ti si m p o r t e dt oa n a l y s ea n dp r o v et h er e l a t e d p r o p e r t j e so fm es v s t e md e s i g n s ,w h i c hm a i n l yi n c l u d e s :w h e t h e re x i s t sd e a d1 0 c k sa n d1 i v el o c k s ,a n d w h e t h e rm es v s t e mc a na c h i e v e st h ef l n a le x p e c t e ds t a t ea sw e l la sw h e t h e rh a st h es t a t e sw h i c ha r en o t h o p e d t h r o u g h 血ea n a l y s i sa n dv e r 讯c a t i o n ,t h ec o r r e c t n e s so f t h e s et 、v os y s t e md e s i g n si sp r o v e d t h e nr e f e r r i n gt h eu s e rp r o g r a mi n t e r f a c eo fa s y n c h f o n o u sm e t l l o di n v o c a t i o n ( a m l ) i nc o r b a ,t h e u s e r i m e r f 如eo f w e bs e r v i c e s h t t p a i m i sd e f i n e d b a s e do ne x i s t j n g t 0 0 1o f w s d l t oc i i e n tp r o g r a ms t u b o fw e bs e r v i c e si nj a v a ,t h en e we x p a n d e dt 0 0 1o fw s d l 2 j a v a ,w h i c hc a na u t o m a t i c a l l yg e n e f a t et h e c o r r e s p o n d i n gc l i e n ts t u bo f a i ma c c o r d i n g t ow s d l ,i si m p l e m e n t e df i n a l l y ,u n d e rt h ec a m p u sn e t w o r ko f c e r n e ta n dt h ei n t e r n e to ft e l e c o m ,t h ef u n c t i o n sa n dp e r f o r m a n c ei t e m s ( i n c l u d e sa v e r a g es y s t e md e l a y t i m e ,t h r o u 曲p u to fs y s t e ma n da v e r a g ec l i e n tn u m b e rt h a tt h es e r v e rc a na c c e p t sc o n c u r r e n t i y ) o f - t h et w o p m t o t y p es y s t e m sb a s e do nm t s ia 1 1 da s y ns o a pp a n e m a r ee x p e r i m e n t e d ,t h e nt h et e s tr e s u l ti sc o m p a r e d a n da n a l y z e di nd e t a i la c c o r d i n gt ot h ef u n c t i o ne x p e r i m e n t ,e i t h e rp a n e mo fm t s io ra s ”s o a pc a n c o r r e c t l yi m p i e m e n t sa i m ,a n dt h ep e r f o r m a n c et e s tr e s u l th a sp r o v e dt h a tt h ep a n e mo fa s y ns o a pi s s u p e r i o rt om t s ii nm a n ya s p e c t s k e y w o r d s :w e bs e r v i c e s ,a s y n c h r o n o u si n v o c a t j o nm o d e l ,p e t r in e t ,s o ap ,h t t p i i 东南大学硕士学位论文 论文插图索弓 图1 1w e bs e r v i c e s 角色、操作和构件2 图1 2w e b 服务协议层次结构3 图1 3 w e bs e r v i c e s m t t p 的服务调用过程4 图1 4 a s a p 资源类型及其关系幽6 图2 1 单向( o n e w a y ) 模型9 图2 2 请求应答但e q u e s u r e s p o n s e ) 模型9 图2 3 回调( c a l l b a c k ) 模型1 0 图2 4 轮询( p o l l i n g ) 模型1 0 图2 - 5 带确认( a c k ) 的回调模型1 0 例2 6 带确认f a c k ) 的轮询模型1 0 图2 7 发布订阅( p u b l i s h s u b s c r i b e ) 模型l l 图2 8 带确认( a c k ) 发布订阅模型1 1 图2 9 基于j a x m 的w e bs e r v i c e s a i m 实现结构图1 2 图2 1 0 基于n e t 框架的w e bs e i c e s a i m 实现结构图13 图2 1 1 基于j m s 的w e bs e r v i c e s a i m 实现结构图13 图2 1 2 基丁f t p 的w e bs e r v i c e s a i m 实现结构图1 4 图2 1 3 基于同步多线程的w e bs e r v i c e s a i m 总体结构图15 图2 1 4 基于a s v ns o a p 的w e bs e r v i c e sa i m 总体结构幽1 5 图3 1 基于多线程技术实现客户的异步界面时序图1 7 图3 2w e bs e r v i c e s i t t p 的同步请求应答模型体系结构图】8 图3 3 基于网络连接每请求的m t s i 模式的同调模型体系结构1 9 图3 - 4 基丁网络连接每请求的m t s i 模式回调模型组件交互幽2 0 图3 5 基于网络连接每请求的m t s i 模式轮询模型体系结构2 1 图3 6 基于网络连接每请求的m t s i 模式轮询模型组件交互图2 2 图3 7 基于网络连接池的m t s i 模式回调模型p e 仃i 网描述2 4 图3 8 基于网络连接池的m t s i 模式回调模型p e t r i 网描述化简2 6 图3 9 基于网络连接池的m t s i 模式同调模型p e t r i 网可达图2 6 幽3 1 0 基于网络连接池的m t s i 模式轮询模型p e 廿i 网描述2 8 图3 11 基于网络连接池的m t s i 模式轮询模型p e l r i 网描述化简2 9 图3 1 2 基于网络连接池的m t s t 模式的轮询模型p e t r j 网可达图3 0 图4 ,l 基于服务线程每请求的a s y ns 0 a p 模式回调模型体系结构3 4 图4 2 基于服务线程每请求的a s y ns o a p 模式回调模型组件交互图3 6 图4 3 基于服务线程每请求的a s y ns o a p 模式轮询模型体系结构3 7 图4 4 基于服务线程每请求的a s y ns o a p 模式轮询模型组件交互图3 8 图4 5 基于服务线程池的a s y ns o a p 模式轮询模型p e t r i 网描述4 0 图4 6 基于服务线程池的a s y ns o a p 模式轮询模型p e t “网描述化简4 2 图4 7 基于服务线程池的a s y ns o a p 模式轮询模型p e t r i 网可达图4 3 图5 1w e bs e r v i c e 汨t t p 的异步调用模型系统实现的软件实体框图4 5 幽5 2 基于网络连接池的m t s i 模式a i m 的j a v a 实现u m l 类图4 9 图5 3 基于a s y ns o a p 模式a i m 的j a v a 实现u m l 类图5 3 图6 1 a i m 原型系统测试环境示意图5 9 图6 2 无a c k 消息的平均系统延迟时间( c e r n e t 校同网测试) 6 5 图6 3 无a c k 的回调模型平均系统延迟时间( i n t e m e t 电信网测试) 6 6 东南大学硕士学位论文 图6 4 网络连接每请求的m t s i 模式的系统吞吐率p 。i p u i ( c e r n e t 校园网测试) 图6 5 网络连接池的m t s i 模式的系统吞吐率p 。( c e r n e t 校园网测试) 图6 6 基于a s y ns o a p 模式的系统吞吐率p 。“p 。t ( c e r n e t 校园网测试) 图6 7 网络连接每请求的m t s l 模式的二柚。州( c e r n e t 校园网测试) v i 6 7 6 8 6 8 6 9 东南大学学位论文独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的研究成 果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或 撰写过的研究成果,也不包含为获得东南大学或其它教育机构的学位或证书而使用过的材 料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了 谢意。 研究生签名:噬建缕 日期:业 东南大学学位论文使用授权声明 东南大学、中国科学技术信息研究所、国家图书馆有权保留本人所送交学位论文的复 印件和电子文档,可以采用影印、缩印或其他复制手段保存论文。本人电子文档的内容和 纸质论文的内容相一致。除在保密期内的保密论文外,允许论文被查阅和借阅,可以公布 ( 包括刊登) 论文的全部或部分内容。论文的公布( 包括刊登) 授权东南大学研究生院办 理。 研究生签名:盎垒盟导师签 期:彻巧 第一章引言 第一章 1 1w e bs e n ,i c e s产生 1 1 1 面向服务的体系结构的需要 引言 面向服务的体系结构s o a 【1 2 1 ( s e r v i c eo r i e n t e d a r c h i t e c t u r e ) 是在分布计算环境下设计、开发、应 用、管理分散的逻辑( 服务) 单元的一种规范,是一种构建、设计i t 系统的方法:其核心思想就是 通过定义独立于底层技术的“服务”,使得企业应用摆脱面向具体技术解决方案的束缚,轻松应对企业 商业服务的发展、变化的需要。其“服务”采州中立的方式进行定义,它独立丁具体的硬件平台、操 作系统和编程语言的优点。这使得系统中的各个“服务”可以通过一种统一和通用的方式进行交互。 w e bs e r v i c e s 【j _ ”技术的“现,使得s o a 思想得以实现。w e bs e r v i c e s 不是基于一种特有的底层技 术或产品之上,而是设计和部署能够在任何技术娄型上运行的服务。冈此设计和开发人员可以将精 力更集中丁考虑业务需求,而不是具体技术问题。对于使用服务的用户来说,服务所在的执行环境和 技术与他们无关,因为与他们打交道的是w e bs e r v i c e s 描述,而不是执行环境。 虽然s o a 并不是一定需要w e bs e r v i c e s 来实现,并且一个基于w e bs e r v i c e s 开发出来的应片j 也 并不代表就是一个符合s o a 构架。然而,w e bs e i c e s 却是一项基于标准的、松散耦合的、具有良好 跨平台性和且操作性的、可经济实惠地实现s o a 的技术。 1 1 2 动态电子商务的需要 w 曲s e r v i c e s 也是新一代动态电子商务d e b 【”( d y n a m i ce - b u s i n e s s ) 的基础和核心。动态电子 商务是电子商务发展的方向,它着重于b 2 b 的综合性和基础设旋组成的下一代电子商务,通过调用 i n t c r n e t 标准和通用的基础设施,为企业内部与外部创造最佳效益的电子化解决方案。而且,它为企业 提供了内部商务流程动态重组,以及与外部客户信息系统间的动态延伸和连接功能。实现b 2 b 电子商 务的一个重要前提就是要在商业伙伴间以电子化的形式方便地传递商业信息。使用传统的技术( 如 e d i p l ) 虽然也能实现这个目标,但e d i 通常运行于增值网络上,运行成本高昂,并且e d i 消息标准 复杂,结构僵化( 不像目前流行的x m l 消息具有可扩展、白描述和自包含的特点) ,这进一步增加了 开发难度和维护成本。基于此,e d l 的应用始终未得到广泛普及。 w e bs e r v i c e s 技术的出现,为解决这一问题提供了一个标准、简洁、低成本的方案。它改变了企 业之间的商务运作和b 2 b 应用的设计与开发,只要通过制定的w e bs e r v i c e s 接口,其他系统可以随时 与这些w e bs e r v i c e s 连接,完成b 2 b 的各种应用,达到动态电子商务的目的。 1 1 3 企业应用集成的需要 目前,大多数企业都有以前遗留下来的异构的应h j 、商务流程以及数据源等软什系统。而且,随 着计算机技术在企业管理上的应用越来越广泛和深入,人多数企业都会拥有一种或多种企业管理应_ i j 系统,如企业信息系统e i s ( e n t e r p r i s e i n f o r n l a t i o ns y s t e m ) 、客户关系管理c r m ( c u s t o m e r r e l a t i o n s h i p m a n a g e m e n t ) 、企业资源计划e r p ( e n t e r p r i s er e s o u r c ep l a n ) 等,这些新、老系统都独立完成企业业 务管理的部分功能,但各系统之间不能互通信息、共享资源,因此阻碍了企业进一步挖掘| = | 部资源、 东南大学硕士学位论文 提供全方位决策支持的可能。在这种情况下,企业应用集成e a i 1 1 ( 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 的目标就是:将企业各个应用系统予以有机整合,使其能相互交换信息、利用各自的功能, 以便能更充分地发挥各系统的效用。它通过中间件,连接企业内外各种业务相关的异构系统、应用和 数据源,从而满足这些系统之间无缝的共享和交换数据的需求。e a l 只是提出这样的目标,并未指出 或限定其具体实现的技术或协议。 在w 曲s e r v i c e s 技术出现以前,设计和实现系统集成的方法着重考虑如何使用具体技术,设计者 要花相当一部分精力去考虑怎样将实际业务与具体技术结合,如面向对象和面向消息( 如c o r b a 【l t “j , d c o m 【i4 1 ”j ,j m s 【l “”j 等) 技术,这就导致系统与特定技术之间的紧密耦合性。以下列出了主要的几种 技术及其特点: 1 )c o r b a ,它能够在多种操作系统构成的异构分布环境中,方便地构造异构分布系统。其优点 是发展成熟,性能较好。但其客户与服务器之间连接接口较紧密,不同厂商的产品之间的互 操作性不好,属于一种程序语言级、面向对象的分布式计算模型。 2 )d c o m ,其优点是集成性能较好,与c o r b a 相比,微软提供了更为方便、快捷的开发工具。 但与c o r b a 一样,它也是属于面向对象、紧密耦合的集成技术,且它与c o r b a 之问互操 作性较差。更为重要的是,d c o m 依赖于w i n d o w s 平台。 3 )j a v a 消息服务j m s ( j a v a m e s s a g es e i c e ,它以面向消息的中间件m o m ( m e s s a g e o r i e n t e d m i d d l e w a r e ) 为信息交换平台,以异步方式运行( 但也提供模拟同步的请求应答方式) ,可 在事务模式下管理消息并确保消息的可靠传递( 但不保证传递的及时性) 。由于j m s 的客户 端建立在j a v a 技术之上,这样虽然其客户端能使h j 其它的j a v a a p i ( 如j d b c ,j a v a b e a l l ,j n d i 等) ,但也使得j m s 的客户端被限制在j a v a 语言上。而且,不同j m s 实现产品之间也存在一 定程度的兼容问题。 虽然上述各种技术的性能或某方面特性较好,但其共有的缺点是:互操作性差、紧密耦合、与平 台或产品相关等。这些缺点严重阻碍了e a i 的进一步深入和发展。w e bs e i c e s 技术以其松散耦合、 良好的跨平台性和互操作性等特点,解决了e a i 进退两难的尴尬境地。 1 2w e bs e r 、,i c e s 技术简介 首先明确两个概念:w e bs e r v i c e s 和w e bs e r v i c e 【4 j 。前者是指整个架构w 曲服务的技术框架,包 括x m l s o a p w s d l ,u d d i 等:而后者是指使用w e bs e r v i c e s 技术而构架出来的、存在于服务器端的、 用户具体实现的一个服务实例。“w e b 服务”一词在不引起混淆的情况下,也指一个具体的w e bs e r v i c e 。 l d c 将w e bs e i c e s 定义为”:通过一个基于标准的i n t e m e t 协议的统一资源标识u r i ( u n i f o r m r e s o u r c ei d e n “f y ) ,任意程序能够被定义、定位和与其它程序互访。其概念体系结构由服务请求者、 服务提供者午u 服务注册中心三者组成,其二者关系如图1 1 所示: 2 蹴嚣7 锱掣一 一 服务描述 服务r1 服务怛 竖到葡i 丽蚓堡堡 图卜1w e bs e r v i c es 角色、操作和构件 第一章引言 幽中,服务注册中心是可选的。服务提供者是提供最终w e bs e r v i c e 的供应商,它实现了一个w e b s e f v i c e ,并放置于在线服务器上供别人使用。服务注册中心是一个w e bs e r v i c e 的注册地,其主要目 的是在设计或运行阶段,给服务请求者提供服务提供者的服务描述( 包括服务的数据类型、揉作、绑 定信息和网络位置等) ,这个描述是以w e bs e r v j c e s 描述语言w s d ( w e bs e r v i c ed e s c r i p t i o n l a n 2 u a g e ) 来定义的。请求者通过通用描述、发现和集成u d d i ( u n i v e r s a id e s c r i p t i o nd i s c o v e r ya n d i m e g r a t i o n ) 协议在服务注册中心上卉找所需的服务描述,请求者也可以通过其它任何方式得到这个 w s d l ,如f t p e m a i l 等。一旦请求者得到服务的w s d l ,就可以用某种计算机语言来实现的s o a p “” 协议程序去绑定该远程的服务,并在需要的时候发起调用。在商业业务应用上,w e bs e r v i c e s 利用w s f l ( w e bs e r v i c e sf l o wl a n g u a g e ) 米定义复杂的工作流。w e bs e r v i c e s 体系的协议层次结构如图l 一2 所示: w e b 服务工作流语言( w s f l ) 且 统一描述、发现和集成( u d d i ) 服 操 1 如 f 1 7 w e b 服务描述定义语言( w s d l )宜 符质 胁 简单对象访问协议( s o a p ) 全 理 昔 泌q 栈可扩展标记语肓( x m l ) o s 通用网络协议( h t t p 等) 图卜2w e b 服务协议层次结构 w e bs e r v i c e s 使用的各项技术( 包括x m ls c h e m a 、s o a p 、w s d l 、u d d i 、w s f l 等) 都是以 x m l 为基础的。因此,w e bs e r v i c e s 秉承了x m l 语言的优势,这使w e bs e r v i c e s 完全与实现语言、 软硬平台和对象模型无关。w e bs e r v i c e s 可以使用任何语言和对象模型在任意的平台上实现,任意的 应用程序都可以使用w e bs e i c e s ,只要描述w e bs e i c e s 功能的接口、消息序列和协议保持不变, w e bs e i c e 和客户应用程序可以任意改变而不会相互影响。 在l n l e r n e t 环境中,客户机和服务器千变万化,使用不同的操作系统和不同的技术,因此把应用 系统的实现紧密地绑定在特定的组件技术上是不切实际的。传统的分布式组件技术,如c o r b a 、 d c o m 、j 2 e e 【1 6 j ,都要求在客户机和服务器上同时具有特定的基础结构,即需要在可控制的环境中使 片j 。而w e bs e r v i c e s 则不使_ j = j 特定于对象模型,使j 十j 基丁白包含、自描述的x m l 作为其整个框架的 基础,以广泛采h j 的h t t p 等作为传输通信协议,有效地克服传统分布式组件技术的缺点。它具有松 散耦合、良好的跨平台、互操作、可扩展和不拘泥于具体实现语言等优点: 1 )松散耦合性:服务提供者与请求者之间,只需通过标准的w s d l ( 基于白描述的x m l 技术) 来描述的统一接口( 类似于c o r b a 中的i d l 但i d l 属丁专有描述规范) 。只要符合这样 的描述标准,服务提供者与请求者之间就可以进行通信。同时由于松散耦合性,使得w e b s e r v i c e s 更便于设计、开发、维护和使用。 2 )互操作性:通过标准的s o a p 进行应用交互,任何w e bs e r v i c e s 都可以与其它w e bs e i c e s 进行交互,避免了在c o r b a 、d c o m 和其它协议之间转换的障碍( 实际上,不同厂商的 c o r b a 产品之间也可能存在一定的互操作兼容性问题) 。从而增强了w e bs e r v i c e s 应用系统 之间的互操作能力。 3 1普遍性:w 曲s e r v i c e s 使用h t t p 等通信协议和x m l 语言进行通信,因此,任何支持这些技 术的设备都可以拥有和访问w e bs e r v i c e s ,具有使用上的广泛性。 4 )独立于软硬件平台和实现语言:对服务提供者与服务请求者都没有强制的平台和实现语言上 的要求,不管是在w i n d o w s 、u n i x 、l i n u x 平台,还是j a v a 、c c + + 、c # 、p e r l 、d e l p h i 实现 语言,都可以方便、无缝地集成到系统中来。 5 )可扩展性好,企业投资成本低:由于其松散耦合、标准接口与协议以及与实现平台和语言无 关等优点,不但保护了企业原有的投资,也让企业更容易地将新系统融入到整个企业环境中。 东南大学硕士学位论文 同时企业也不需要在培训i 特定集成软件商产品的使用上,花费人量的时间和资金。 另一方面,虽然w e bs e r v i c e s 具有众多优点,但它并非完全取代c o r b a 等原有的技术,因为w e b s e r v i c e s 基于x m l 、s o a p 和h t t p 等标准的、高层次协议,这使得w e bs e i c e s 调用过程的执行效 率远低于c o r b a 等原有技术 2 4 】。它们各有其应用环境。 1 3w e bs e r 、,i c e s 服务调用模型现状 虽然w e bs e r v i c e s 体系标准中并没有对其底层通信协议作强制要求,但由于h t t p 作为一个标准 的通信协议被广泛使用再加上其具有穿越防火墙等优点( 这对b 2 b 的应用米说尤为重要) ,因而, 在实际w e bs e r v i c e s 的应用中,绝大多数情况下都以h t t p 作为其底层传输通信协议 4 。所以本文主 要以基于h t t p 的w e bs e r v i c e s ( w e bs e r v i c e s h t t p ) 为研究对象。 1 3 1w e bs e r v i c e s 服务调用过程 w e bs e r v i c e s m t t p 的服务提供者与服务请求者之间的服务调用交互过程如图1 3 所示( 图中省略 了查询服务注册中心,以获得服务的w s d l 的过程) : 图卜3w e bs e r v i c e s ,h t t p 的服务用过 首先,服务请求者将服务请求( 包括服务提供者的地址、服务名和相应的参数等) 以s o a p 消息 的形式,通过h t t p 网络协议发送到h t t ps e r v “;然后,h t t ps e r v e r 监听并解释这个h t t p 消息后, 将s o a p 请求传给s o a pe n g i n e ,后者再调用相应的服务提供者实现的具体服务;最后,s o a pe n g i n e 收到服务提供者返回的计算结果后,将其编码成包含s o a p 响应的h r r p 消息,并传给h 兀1 ps e r v e r , 由h 1 v r ps e r v e r 返回给s o a pc l i e n t ,后者从h t t p 响应消息中得到s o a p 响应,并解码得到请求结果, 返回给服务请求者。 1 3 2 现有w e bs e r v i c e s 调用模型的不足 现在的w e bs e r v j c e s 只提供,单向( o n e - w a y ) 模型和同步请求响应( r e q u e s 饥t e s p o n s e ) 调用模 型,但在实际应用中,不可避免的需要用到异步通信模型a c m ( a s v n c h r o n o u s c o m m u n i c a t i o n m o d e i ) , 如当客户所请求的服务需要k 时间计算或等待,甚至需要人为的介入时,同步请求,应答模型显然不够 满足需求。对丁异步通信模型,从本质上讲,它包括两个不同层次的现实需求 3 7 】:较底层的基于程序 方法级的异步调用模型a i m ( a s y n c h r o n o u si n v o c a t i o nm o d e l ) 和较高层次的基丁中间件代理的消息 事件服务m e s ( m e s s a g e e v e n t ss e r v i c e ) 。前者可以不需要消息的持久化存储转发,因而其实现简单、 使用方便、性能好,但控制功能较单一;而后者由于其存储,转发机制,使得其实现复杂、性能差,但 却可以利用其中间件的优势来提供多种消息控制策略,满足不同的复合需求口”。 考虑一个典型的b 2 b 电子商务场景:两个电子商务合作伙伴a 和b ,a 在其自动化电子商
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 张家口市中医院护理管理沟通协调考核
- 2025国有四大银行远程银行中心诚聘客服代表招聘模拟试卷及答案详解(网校专用)
- 2025贵州黔南州都匀市中小企业融资担保有限责任公司拟聘用人员考前自测高频考点模拟试题附答案详解
- 2025江西中小学教师招聘考试南昌考区模拟试卷完整参考答案详解
- 大学黛玉葬花课件
- 重庆市人民医院术前评估完整性考核
- 2025广东技术师范大学招聘辅导员40人考前自测高频考点模拟试题完整参考答案详解
- 大学课件的APP教学课件
- 唐山市人民医院肌皮瓣应用技术考核
- 天津市人民医院会阴体修补术技能考核
- 2025年屠检考务试卷及答案
- 五金材料知识培训课件
- 2025年学校少先队知识应知应会题库(含答案)
- 2026中国农业银行秋季校园招聘备考考试题库附答案解析
- 23《富贵不能淫》(公开课一等奖创新教学设计)统编版语文八年级上册
- 校园科技教育主题班会活动方案
- 世界粮食日节粮我先行节约粮食我在行动宣传课件
- 工业厂区场地平整建设方案
- 2025年秋新人教版数学二年级上册整册同步教案
- (2025秋新版)青岛版科学三年级上册全册教案
- T∕CCCMHPIE 1.2-2016 植物提取物 槟榔多糖多酚
评论
0/150
提交评论