(计算机软件与理论专业论文)基于本体的语义web服务协议soap的研究.pdf_第1页
(计算机软件与理论专业论文)基于本体的语义web服务协议soap的研究.pdf_第2页
(计算机软件与理论专业论文)基于本体的语义web服务协议soap的研究.pdf_第3页
(计算机软件与理论专业论文)基于本体的语义web服务协议soap的研究.pdf_第4页
(计算机软件与理论专业论文)基于本体的语义web服务协议soap的研究.pdf_第5页
已阅读5页,还剩59页未读 继续免费阅读

(计算机软件与理论专业论文)基于本体的语义web服务协议soap的研究.pdf.pdf 免费下载

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

文档简介

太原理工大学硕士研究生学位论文 基于本体的语义w e b 服务协议s o a p 的研究 。7 摘要 语义w e b 的提出和发展给w e b 服务带来了新的活力。用语义w e b 的 知识标记手段描述w e b 服务的语义,使w e b 服务成为计算机可以理解的实 体,从而支持服务的自动发现、组合和执行等,就是倍受关注的语义w e b 服务。 目前语义w e b 服务的研究主要围绕o w l s 框架展开。它定义了一套基 于语义的服务发现、组装标准,代替了传统w e b 服务协议栈中的u d d i 和服 务组装机制,使客户能够在动态环境下寻找基于功能描述的服务。然而消 息从o w l s 层映射到服务描述层w s d l 时,w s d l 不能表达o w l s 框架中 s e r v i c eg r o u n d i n g 子类携带的语义信息,同样o w l s 难以表达w s d l 具有的 绑定信息;在消息传输层,仍使用基于x m l 的s o a p 协议,通信双方必须选 择相同的x m l 模版进行交互,否则不能理解对方的消息。由于x m l 不能赋 予信息语义,也不能理解传输的内容,所以在服务的描述和传输层缺乏语 义,不能很好的支持上层基于语义的服务描述框架。发展滞后的w s d l 和 s o a p 技术阻碍了w e b 服务语义化发展,使语义w e b 服务体系结构中出现了 语义传输断层。 论文对w e b 服务的语义化问题进行了广泛、深入的调研,发现有些单独 太原理工大学硕士研究生学位论文 针对s o a p 或者w s d l 添加语义的研究,但都没有彻底解决语义w e b 服务体 系结构中语义断层的问题。同时,作者考虑到本体是目前语义w e b 中最能表 达语义的技术,所以,论文提出改进语义w e b 服务的体系结构,使其基于 o n t o l o g y o w l ;并研究其关键技术语义s o a p 协议,对目前的s o a p 协 议进行概念抽取和本体建模,进而建立s o a p 本体使其能直接传输o w l s 中s e r v i c eg r o u n d i n g 携带的语义信息,而不需转化成w s d l 描述的x m l 文 档,从而弥补当前语义w e b 服务中语义传输断层的不足。 论文针对改进后的语义w e b 服务体系结构,设计实现了其中的核心功能 模块基于语义s o a p 本体的文档消息传输系统,使其可以发送、接收基 于语义s o a p 本体的文本消息。实验表明使用基于本体的语义s o a p 协议进 行通信,可以确保通信安全、根据通信历史处理消息以及缩短消息路由时 间。该实验系统为使用语义s o a p 协议传输o w l s 子类s e r v i c eg r o u n i n d i n g 中的语义信息奠定了基础,在一定程度上推进了w e b 服务的语义化发展。 关键词:语义w e b 服务,s o a p ,本体,o w l s 太原理工大学硕士研究生学位论文 r e s e a r c ho no n t o l o g y b a s e d s o a pf o rs e i a t i cw e bs e r v i c e s a b s t r a c t a l o n gw i t ht h ew o r dw i d ew e b sd e v e l o p m e n t ,t w op a r a l l e le f f o r t sh a v e e m e r g e di nr e c e n ty e a r st h a ta r es e m a n t i cw e b a n dw e b s e r v i c e s i d e a l l y , t h e s e t w oe f f o r t ss u p p o r te a c ho t h e r t h es e m a n t i cw e bp r o v i d e st o o l sf o re x p l i c i t m a r k u po fw e bc o n t e n t , a n dw e bs e r v i c e sc r e a t ean e t w o r ki nw h i c hp r o g r a m s a c t 勰i n d e p e n d e n ta g e n t st h a tp r o d u c ea n dc o n s u m ei n f o r m a t i o n i nr e c e n t y e a r s , s o m ee f f o r t sh a v ef o c u s e do ns e m a n t i cw e bs e r v i c e s ( s w s ) w h i c h c o m b i n es e m a n t i cw e ba n dw e bs e r v i c e s t h ei n f l u e n t i a lp r o j e c ti n v o l v e di ns w si so w l s ,w h i c hf o c u s e so nt h e o n t o l o g yo fw e bs e r v i c ed e s c r i p t i o n i tc a nb ea p p l i e df o rs e r v i c ed i s c o v e r y , c o m p o s i t i o n ,e x e c u t i o na n di n t e r o p e r a t i o n h o w e v e r , t h el o w e rl a y e r , s u c ha s t h ew e bs e r v i c e s d e s c r i p t i o nl a y e r - w s d l c a n n o te x p r e s st h es e m a n t i c i n f o r m a t i o nd e f i n e db yo w l sb e c a u s ei ti sx m l - b a s e d ;l e ta l o n et h em e s s a g e l a y e r - s o a pw h i c hi s t h ef o u n d a t i o n a l l a y e ro fw e bs e r v i c e s ,s i n c ei t i s x m l b a s e d ,t o o i t sw e l lk n o w nt h a tx m lc a n n o te x p r e s ss e m a n t i c sa n di t c a n n o tu n d e r s t a n dw h a ti sb e i n gt r a n s p o r t e d ,s ot h ew e bs e r v i c ed e s c r i p t i o n l a y e ra n dm e s s a g el a y e rl a c ks e m a n t i c s t h e yc a n n o ts u p p o r tt h eh i g h e rl a y e ro f i i i 太原理工大学硕士研究生学位论文 s w sw e l l f i r s t l y , t h er e l a t e dt e c h n o l o g ya n dr e s e a r c ht r e n d sw e r es t u d i e da n di t s f o u n dt h a ts o m er e s e a r c h e so na d d i n gs e m a n t i ci n t ow s d lo rs o a ph a db e e n c a r r i e do u t ,b u tt h e yh a v en o tg r a b b e db r o a d a t t e n t i o n f u r t h e r m o r e ,o n l ya d d i n g s e m a n t i ci n t oe i t h e ro f t h e mc a n n o ts o l v et h i sp r o b l e md r a s t i c a l l y s e c o n d l y , a f t e rs t u d i e dt h er e l a t i o n s h i pa m o n go w l s ,w s d la n ds o a p , am o d i f i e di n f r a s t r u c t u r eo fs w sw a sp r o p o s e d ,t h ep o s s i b i l i t yo fa d d i n g s e m a n t i c st os o a pw a sc o n s i d e r e da n di to c c u r r e dt om et h a to n t o l o g yi st h e m o s tp o w e r f u lt e c h n o l o g yt o e x p r e s ss e m a n t i c s ,s ow ep r o p o s et h a tt h e c o m b i n a t i o no fo n t o l o g ya n ds o a pi su s e f u lf o rb u i l d i n gs w s t h u s ,t h e s e m a n t i cs o a pt r a n s p o r t so w l si n f o r m a t i o nd i r e c t l y ;t h e r e sn on e e dt o t r a n s l a t et h ei n f o r m a t i o ni n t ow s d la g a i n a c t u a l l y , a d d i n gs e m a n t i c si n t o s o a p m e s s a g e sw o u l do b t a i nm a n y b e n e f i t ss u c ha si m p r o v i n gc o m m u n i c a t i o n q u a l i t yo nt h eh i 曲l a y e r , e n h a n c i n ga u t o m a t i c a l l ys e r v i c ei n t e r o p e r a t i o na n d i n t e g r a t i o nf l e x i b i l i t y , r e d u c i n gi n t e r a c t i o na m b i g u i t ya n ds oo n a f t e rt h a t ,a p r o t o t y p eo fs o a po n t o l o g yw a sc r e a t e d a n dt h es e m a n t i c so ft h eo n t o l o g y w e r ee x p l a i n e de x p l i c i t l y f i n a l l y , i no r d e rt oi m p l e m e n tt h em o d i f i e di n f r a s t r u c t u r eo fs w s ,w e a n a l y z e dt h ew h o l es y s t e ma n dd e s i g n e dt h r e ef u n c t i o nm o d u l e s t h e c o r e f u n c t i o nm o d u l ew a si m p l e m e n t e da n da p p l i e dt ot r a n s p o r td o c u m e n tm e s s a g e b a s e do ns o a po n t o l o g y t h e e x p e r i m e n ts y s t e m i n d i c a t e st h a tt h e i v 太原理工大学硕士研究生学位论文 o n t o l o g y - b a s ds o a pc a ne n s u r et h em e s s a g es e o 1 l e ,d e a lw i t ht h em e s s a g e a c c o r d i n gt ot h eh i s t o r yr e c o r d sa n ds a v er o u t i n gt i m e ,e t c a tt h es a m et i m e , t h i se x p e r i m e n ts y s t e ml a y saf i r mf o u n d a t i o nf o rt r a n s p o r t i n gt h es e m a n t i c so f s e r v i c eg r o u n d i n gi no w l su s i n go n t o l o g y b a s e ds o a pa n dp u s h e sf o r w a r d t h ed e v e l o p m e n to f t h es e m a n t i cw e bs e r v i c e s ,t o o k e yw o r d s :s e m a n t i cw e bs e r v i c e s ,s o a p , o n t o l o g y ,o w l - s v 声明 本人郑重声明:所呈交的学位论文,是本人在指导教师的指导下, 独立进行研究所取得的成果。除文中已经注明引用的内容外,本论文 不包含其他个人或集体已经发表或撰写过的科研成果。对本文的研究 做出重要贡献的个人和集体,均已在文中以明确方式标明。本声明的 法律责任由本人承担。 论文作者签名:王薹至耋日期:墨塑! i 关于学位论文使用权的说明 本人完全了解太原理工大学有关保管、使用学位论文的规定,其 中包括:学校有权保管、并向有关部门送交学位论文的原件与复印 件;学校可以采用影印、缩印或其它复制手段复制并保存学位论文; 学校可允许学位论文被查阅或借阅;学校可以学术交流为目的, 复制赠送和交换学位论文;学校可以公布学位论文的全部或部分内 容【保密学位论文在解密后遵守此规定) 。 签名: 导师签名: 至乏丝 日期:j 杪j - ,z 日期: 太原理工大学硕士研究生学位论文 1 1 研究背景 第一章绪论 1 1 1 语义w e b 服务的出现和发展 语义w e b 1 1 技术把定义良好的语义赋予w e b 中的信息,使计算机能够理解和处理, 从而使人和计算机能更好地协作,充分发挥w w w 这个巨大的分布式信息系统的潜力; 同时,也为w 曲服务带来了新的活力。用语义w 曲的知识标记手段来描述服务的语义, 使w 如服务成为计算机可以理解的实体,从而支持服务的自动发现、执行和组合等, 形成了目前倍受关注的语义w e b 服务 2 3 , 4 1 。研究w 曲服务的核心技术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 ,统一发现描述整合) ,w s d l ( w e bs e r v i c e d e s c r i p t i o nl a u g u a g e ,w e b 服务描述语言) ,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 o l ,简 单对象访问协议) 等对语义w e b 服务的发展具有重要的意义。 1 1 2 语义w e b 服务的发展现状 目前语义w e b 服务的研究主要集中在基于语义的服务发现和服务复合( 5 1 ,主要的研 究框架是o w l - s ( w e bo n t o l o g yl a n g u a g ef o rs e r v i c e ) ,它是用o w l 语言描述的w e b s e r v i c e 本体。在o w l - s 中,描述服务的基本信息主要有三类本体:s e r v i c e p m f i l e , s e r v i c e m o d e l 和s c r v i c e g r o u n d i n g 。 o w l - s 定义了一套基于语义的服务发现、复合标准,代替了传统w e b 服务协议栈 中的u d d i 和服务复合机制,使w e b 服务能够在开放、动态环境下实现基于服务功能 描述的自动发现和执行。 w s d l 为服务提供者提供以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 b 服 务体系结构中,基于o w l s 的服务之间并不能直接通信,而是通过o w l s 向w e b 服务描 太原理工大学硕士研究生学位论文 述层w s d l 映射,然后借助s o a p 进行消息传送 然而,在o w l - s 和w s d l 映射时,w s d l 不能表达o w l s 模型中s e r v i c ec r r o u n d i n g 子类所携带的语义信息,同样o w l s 没有办法表达w s d l 所具有的绑定信息;语义w e b 服务的消息传输层,使用基于) m i l 的s o a p 协议。虽然x m l 允许用户定义自己的标签, 但它不能赋予信息语义,不能理解传输的内容,不能智能的支持当前语义w e b 服务的传 输。 所以语义w e b 服务的服务描述和消息传输层缺乏语义,不能很好的支持上层基于 语义的服务描述框架,使w e b 服务体系结构中出现语义传输断层 总之,w e b 服务在转变为语义w e b 服务的过程中,各个核心技术的语义化发展程 度不同,发展滞后的技术阻碍了w 曲服务的语义化发展。 1 1 3 国内外研究现状 在课题调研阶段,作者发现针对语义w e b 服务的语义断层问题存在相关研究。许 多学者尝试添加语义到服务传输协议s o a p 和描述语言w s d l 中,使w s d l 或者s o a p 能够表达语义。主要研究成果如下: ( 1 ) s o a p 以x m l 的形式提供了一个简单、轻量的用于在松散的、分布的环境中交 换结构化数据和类型信息的机制。s o a p 本身并没有定义任何应用语义。实际上,它只 提供一个有标准组件的包模型和在模块中进行数据编码的机制。 由于x m l 只能够让用户定义自己的标记,扩展使用空间,而不能定义一种机器能够 理解和处理的语义。s o a p 标准允许s o a p 任意选择编码格式,这就提供了用其它具有语 义的编码语言作为s o a p 编码的依据。i b m t 作组成员o g b u j i 提出“u s i n gr d fw i t h s o a p ”,并列举了两种将r d f 嵌到s o a p 中的格式川。w 3 c 组织也曾在s o a p l 2 的官方文 档1 8 】中给出一个用r d f 作为编码格式的s o a p 消息示例。r d f 虽然提供了修改s c h e m a 的 方法,但无法适应w e b 迅速变化的特点,所以r d f 的出现并没有解决x m l 缺乏语义的问 题。 ( 2 ) 在语义w e b n 艮务的发展中,瑞典l i i l k 6 p i n g 大学的y 酞i a o z h a o 提出为s o a p 建立 本体把o w l 和s o a p 结合的思想【9 】。文中提及把s o a p 本体用w h o ,a c t 和w h e r e - - - 个属性 2 太原理工大学硕士研究生学位论文 来描述,同时需要针对某个领域建立w h o 、a c t 、w h e r e 本体库。该文献是基于e - p r o d u c e 领域的,目前也正在研究中,文中提到建成的这种语义s o a p 只在通信双方初次会话时 使用,对于常规的通信仍采用当前基于x m l 的w e b 服务方式。该文献为s o a p 的发展提 出了新思路,但它没有从根本上把s o a p 语义化,解决w e b 服务传输层缺乏语义的问题。 ( 3 ) 传统的w e b 服务利用w e b 服务描述语言( w s d l ) 对外发布接口,告知外界 程序其实现的功能、通过什么方法来调用及返回的结果。但这仅仅是语法层面上的,程 序需要理解其中的x m l 标记元素的意义,才可以更好地理解w e b 服务要做什么,而不 仅仅是怎样做。它试图以抽象的定义方式来将服务从用于实现的具体数据格式和协议中 分离开来,并在抽象描述和特定实现之问定义如何绑定,从而w s d l 文档在通信层面 上描述了w e b 服务使用的所有技术方面但它不能很好地表达语义例如尽管它有一 个由x s d 定义的输入输出类型的概念,它仍然不支持定义输入输出参数在逻辑上的限 制。随着w e b 服务的发展,m m 工作组成员o g b u j i 论证了w s d l 描述如何用r d f 表 达【1 0 1 ,其好处在于经过r d f 编码的w s d l 描述的所有元素由一个u r i 来确定,因此允 许其它r d f 文档来声明这些元素,能在w s d l 文档的外部完全地定义语义连接。然而 不利之处在于编码过的w s d l 文档丧失了完整性,需要同步地维护x m l 编码的文档和 砌) f 编码的w s d l 文档。 ( 4 ) 在语义w e b 服务提出之后,针对w s d l 缺乏语义的问题,合肥工业大学硕 士研究生王长宁采用对元素进行注解的方法表达其语义,并使用儿命名空间提供的 扩展机制,来将语义注解以s e m a n t i c 前缀附在命名空间上的方式来声呼1 1 1 。通过利用 x m l 语言自身的语法格式,将w s d l 和本体提供的语义较好地结合在了一起。语义注 解的方法可以用自动推理的方式来建立相应的本体,但如何规范本体所使用的元素为各 方共知,这都是需要深入研究,并且手动注释的方法相对于w e b 上的海量信息也是不 现实的。 以上工作对语义w e b 服务的发展有一定的推动作用,但这些研究没有受到普遍的 重视;而且单独针对s o a p 或w s d l 添加语义,都没有彻底解决语义w e b 服务体系结 构语义断层的问题,所以需要综合考虑s o a p 、w s d l 和语义w e b 服务体系结构的关 系,提出一种新的思路解决语义w e b 服务语义断层问题。 3 太原理工大学硕士研究生学位论文 1 2 课题的提出和意义 本课题通过对当前语义w e b 服务体系结构进行深入研究,认真剖析了o w l - s 、 w s d l 和s o a p 等核心技术,抛弃单独对w s d l 或s o a p 添加语义的方法,考虑到本 体是当前语义w e b 中最有力的语义表达工具所以,论文提出改进语义w e b 服务体系 结构,使其自上到下各层都基于o w l o n t o l o g y :研究改进后的体系结构中的通信协议, 提出基于本体的知识传输协议s s o a p ( s e m a n t i cs o a p ) ,建立语义s o a p 本体,修改 后的s s o a p 可以直接传输o w l s 子类s e r v i c eg r o 吼d i n g 中描述服务的信息,不需要 映射成w s d l 的信息。 s o a p 是w e b 服务的核心技术,它基于x m l 语言,在底层使用h t t p 协议的一种 跨平台、语言无关的互调用方式,它提供了在异构系统中进行信息交换的描述格式和传 输机制;本体是语义w e b 的知识表示技术,改进使用不同术语的系统之间的交流方式, 为i n t e m e t 上的资源提供机器可以理解的语义,实现网上资源的语义层次上的互连,并 在此基础上实现资源共享和智能应用。 将本体和s o a p 技术相结合,在w e b 服务描述格式及服务传输中应用语义w e b 中 的知识表示技术,可以提高机器自动发现、传输、处理消息的能力,提高w e b 服务的 语义化程度。也为上层基于语义的w 曲服务描述框架0 w l s 提供了底层的技术支撑, 为语义w e b 服务的发展起到一定的推进作用。 1 3 论文的组织结构 论文主要包括七个部分。第一章介绍了语义w e b 服务的出现和发展以及存在的问 题,进而提出课题的思想。第二章详细介绍了s o a p 技术并简单介绍了w e b 服务,着 重讨论了s o a p 和w e b 服务的关系。第三章论述本体技术的相关理论和方法,主要从 本体的基础理论入手,阐述了该课题选择本体作为关键技术的依据,然后介绍了w e b 本体描述语言o w l 以及w e b 本体框架o w l s 。第四章从体系结构的角度阐述了w e b 服务的发展,分析现阶段语义w e b 服务体系结构中存在的问题。提出改进语义w e b 服 务的体系结构,使其基于o w l o n t o l o g y 。第五章讨论了改进后的w 曲服务体系结构中 4 太原理工大学硕士研究生学位论文 的技术语义s o a p 协议,讨论了语义s o a p 本体的概念抽取、建模方法和语义解释, 建立了语义s o a p 本体原型。第六章为课题思想的实现部分,课题完成了核心功能模块 的编程,并进行实例通信,运用它发送接收基于语义s o a p 本体的文本消息,该模块的 完成为实现改进后的体系结构提供了有力支持,在一定程度上推进了w e b 服务的语义 化进程。第七章结论与展望总结了全文,并指出下一步的研究方向。 5 太原理工大学硕士研究生学位论文 第二章s o a p 及w e b 服务 2 1 简单对象访问协议一s o a p 2 1 1s o a p 的由来 各种分布式技术以及组件模型的发展过程中,采用c o m 、c o r b a 或者e j b 等技 术来开发分布式应用系统时,开发人员都必须选择使用一种组件模型,再来决定如何集 成系统中的各个不同的元素【1 2 1 。例如一旦开发人员决定使用c o r b a ,那么当c o r b a 要和其它系统( 比如基于c o m 的系统) 链接时,开发人员就必须想办法让两种不同的 技术能够互相调用,来使用对方的功能。 造成这种现象的原因是每一个组件模型都使用了自己的数据封包方式以及通信协 议,因此当不同的组件模型想要集成到一起的时候,难以克服的技术难题就在于了解对 方的数据封包格式和使用的通信协议。虽然e j b 组件在这方面已经做了一些改进,让 e j b 可以和c o r b a 互相沟通,但是不同厂商之间的e j b 和c o r b a 在互动上仍然存在 很大的困难。因为这些技术都由特定的组件模型决定的,软件人员一旦决定了使用某种 组件模型,也就自然接受了这种组件模型的限制。但是,随着网络的不断进步,如何让 用户能够自由的使用服务,如何在更大规模上集成各种不同的子系统,而不受底层的影 响才是最重要的。 在1 9 9 9 年9 月,由d o nb o x 起草,制定了一个使用标准数据封装技术x m l 和广 为流行的h t t p 协议为基础的新规则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 o l ,简单对 象访问协议) 。这个规则的目的就是让所有在i n t e m e t i n t r a n a 上的对象都能够使用它来 调用彼此的功能,以提供给用户统一的信息服务。由于x m l 已经是业界标准的数据封 装技术,而h t t p 又是i n t e m e t g i n t r a n e t 上所有厂商支持的通信协议,因此这个新规则的 作用就是把调用信息以x m l 格式封装,然后用h r r p 进行传送,不管系统是使用什么 技术和平台,都能彼此沟通。由于s o a p 使用x m l 和标准规范来定义不同系统之间 的沟通封包、通信协议,并且通过h t r p 传送到远程的系统中,因此它可以解决许多以 6 太原理工大学硕士研究生学位论文 往难以解决的集成困难。 s o a p 很快被广泛接受f 1 3 l ,并且有了国际标准s o a p t 0 ,并在2 0 0 3 年6 月更新为 s o a p1 2 【。 2 1 2s o a p 技术概述 s o a p 协议是在x m l 的基础上,提供了在一个松散的、分布的环境中对等地通过 交换结构化、类型化的调用信息描述而完成远程过程对象调用的一个简单机制。它本 身并没有定义任何应用语义,如编程模型或特定语义实现。只是规定了一个模块化的包 装模型和对模块中特定格式编码的数据的重编码机制。s o a p 用x m l 来格式化消息, 用h t t p 来承载消息。它是一种运行在一种操作系统下的应用程序和运行在另一操作系 统下的应用程序进行通信的方法。 使用s o a p ,两个系统不需要运行于相同的平台上,也不需要用同一种语言编写就 可以互相通信,提高了i n t e r n e t 上的互操作性。s o a p 包不需要特定的协议调用,而是 4 使用一种开放性的语法进行调用,这种语法就是x m l 。s o a p 使用h t t p 协议作为传 输载体,因为这种网络协议为大多数操作系统所支持,所以使用这种方法可以方便地进 行通信。 简单的理解,s o a p 就是这样的一个开放协议s o a p = h t r p + x m l :s o a p 采用 芏 h t r p 作为底层通信协议,把x m l 的使用代码化为请求和响应参数编码模式,允许服 务提供者和服务客户经过防火墙在i n t e m e t 进行通信交互,提供了更高层次上的抽象, 与平台和环境无关【”】具体她讲,个s o a p 方法可以简单地看作遵循s o a p 编码规 则的h t i v 请求和响应。一个s o a p 终端则可以看作一个基于h t r p 的u r l ,它用来 识别方法调用的且标。s o a p 不需要具体的对象被绑定到一个给定的终端,而是由具体 实现程序来决定怎样把对象终端标识符映射到服务器端的对象。尽管h t t p 不是有效率 的通信协议,而且x m l 还需要额外的文件解析,两者使得交易的速度大大低于其它方 案。但是x m l 是一个开放、健全的消息机制,请求应用程序和被请求对象之间的所有 信息都是以标记数据形式存在的x m l 流,这个流是纯文本的对象;而且s o a p 文档在 h t t p 上传输,绝大多数防火墙的设置都允许这种请求消息通过,因此可以使用h t t p 7 太原理工大学硕士研究生学位论文 进行传输而不会被防火墙阻隔,从而使s o a p 得到了广泛的应用。 为了更好的理解s o a p ,先对s o a p 的运行机制作简单介绍,如图2 1 所示: 图2 一is o a p 运行机制 f i g 2 it h ef u n c t i o nm e c h a n i s mo f s o a p 从图中可以看出,一个s o a p 客户端通过h t t p 提交一个请求文档给一个位于其 它地方的“监听”s o a p 服务端。这个监听服务器捕获到这个消息,解析这个请求消息, 然后调用它的域中某个对象的方法。这个对象通过我们的应用服务器返回给正在等待的 客户程序一个期望的结构,其执行过程如下: ( 1 ) 一个作为s o a p 客户端的程序发送请求时,不管客户端是什么平台,首先把 请求转换成x m l 文档格式,其中包括远程调用方法所需要的信息。一个s o a p 客户端 可以是w e b 服务器,或者是一些基于服务器的应用程序,仅仅用来提交请求给s o a p 服务端。 ( 2 ) 转化成x m l 格式后,s o a p 终端名( 远程调用方法名) 及其它的一些协议标 识信息被封装成h t t p 请求,然后发送给服务器。 ( 3 ) 一个监听应用程序( 被定义为一个s o a p 服务器) 接收到这个消息。这个应 用程序通常是一个w e b 服务器,它监听请求的s o a p 消息。s o a p 服务器解析s o a p 包,然后调用相应的对象,作为s o a p 文档中的参数传送。 ( 4 ) 服务对象执行请求的方法并返回信息给s o a p 服务端。s o a p 服务端把响应 打包在s o a p 信封内。 ( 5 ) 响应对象被传送给请求端。同样的,s o a p 文档被封装在h r r p 响应的头部。 ( 6 ) s o a p 客户端等待响应对象的到来当s o a p 客户端接收到这个对象后,它 8 太原理工大学硕士研究生学位论文 解包s o a p 信封,并把响应文档发送给等待它的应用程序。 被调用的对象不需要做任何修改。8 0 a p 服务器的工作就是解析通过h r r p 连接传 送过来的s o a p 、x m l 文档,然后把它转换成程序可以理解的语言。s o a p 服务器作为 一个翻译员,在s o a p 语言和被调用对象语言之间进行解释。因此,对象可以在任何平 台上使用任何程序语言编写。所有的通信过程通过使用符合x m l 语法的文档进行。 2 1 3s o a p 协议规范 s o a p 消息从内容上主要包括下面四个部分: ( 1 ) s o a p 信封( e n v e l o p e ) ,它构造了一个整体的s o a p 消息表示框架,可用于 表示消息中的内容是什么,是谁发送的,谁应当接受并处理它,以及这些处理操作是可 选的还是必须的等。 ( 2 ) s o a p 编码规则( e n c o d i n gr u l e s ) ,它定义了一个数据的编码机制,通过这 样一个编码机制来定义应用程序中需要使用的数据类型,并可用于交换由这些应用程序 定义的数据类型所衍生的实例。 ( 3 ) s o a p r p c 表示( r p cr 卵r e 蚓1 协t i o n ) ,定义了一个用于表示远端过程调用和 响应的约定,例如,如何使用m t p 或s m r p 协议与s o a p 绑定,如何传输过程调用, 在具体传输协议的哪个部分传输过程响应,比如我们可以在h t t p 的响应的时候传递过 程响应。 ( 4 ) s o a p 绑定( b i n d i n g ) ,定义了一个使用底层传输协议来完成在节点间交换 s o a p 信封的约定。s o a p 只是定义了消息,而消息的传输依靠底层的传输协议,s o a p 与传输层的协议都能进行绑定。 虽然s 0 a p 的这四部分是作为一个整体定义的,但这四部分在功能上是彼此独立 的。特别的,信封和编码规则是被定义在不同的x m l 命名域( n a m e s p a e e ) q a ,这样有利 于通过模块化获得定义和实现的简明性。 一个s o a p 消息描述了将要调用的方法和调用需要的数据,如图2 - 2 所示s o a p 消息包含一个s o a p 信封e n v e l o p e ,该信封是一个x m l 文档。e n v e l o p e 是x m l 文档 的顶级元素,它包含了两个子元素:s o a p 消息头部h e a d e r 和s o a p 消息体b o d y 。 9 太原理工大学硕士研究生学位论文 图2 - 2 s o a p 消息结构 f i g 2 2t h es t r u c t u r eo fs o a pm e a s a g c s o a p h e a d e r 元素是这个对象模型中的一个可选项,这个信息是用户自定义的,用 来承载与应用关系不大而需底层环境平台处理的信息,例如:公共密钥加密信息、事务 处理顺序标识符、参与处理的各方所需的信息以及远程s o a p 处理程序在管理远程请求 时将会需要的其它元数据。 s o a pb o d y 元素是信封的第二个子元素。对于s o a p 请求来讲,请求体中包括被 调用方法定义的标签,这些标签中包含方法完成其工作所需要的信息,是s o a p 消息的 必不可少的部分。对于s o a p 响应文档来讲,s o a pb o d y 元素包含作为消息结果的数 据。信封中的消息体部分总是用于最终接收的消息,而头部项目可以确定执行中间处理 的目标节点。附件、二进制数字以及其他项目可以附加到消息体上。 s o a p 提供了一种让客户端指定哪个中间处理节点必须处理头部项目的方法。由于 s o a p 消息头部与s o a p 消息的主体内容是互不相关的,所以可用它们给消息添加信息, 而不会影响对消息报文的处理。例如,报头可用于为报文中包含的请求提供数字签名。 在这种情形下,身份验证授权服务器可以处理独立于消息体的消息头部项目,并可以 剥离信息以验证签名。通过验证后,信封的其余部分将被传递给s o a p 服务器,它将对 s o a p 消息体进行处理。 s o a p 消息本质上是一种从发送方到接收方的单向传输,但是s o a p 经常和请求 响应机制结合。其实s o a p 目的之一就是利用x m l 的扩展性和灵活性来封装和交换 r p c 调用。要让r p c 使用s o a p ,必须遵循几条规则。首先,请求和响应消息必须被 编码成纱构类毽。对一个操作的每一个输入参数,都必须有一个同名元素( 或输入结构 1 0 太原理工大学硕士研究生学位论文 的成员) 作为参数。对每一个输出参数,都必须有一个名称匹配的元素( 或输出结构的 成员) 。 通过s o a p 传送目标对象的u r l 、方法名、方法的参数、头数据( 可选) ,以进行 方法调用。r p c 方法调用和响应都包含在s o a pb o d y 元素中。方法调用和响应结构可 以按照规则编码,或者用e n c o d i n g s t y l c 属性指定编码方式。在r p c 响应中不同时包含 返回结果和错误。在r p c 编码中,可能会有与方法请求有关但不是正规的方法s i g n a t u r e 的附加信息。如果这样,它必须作为s o a p 头部的子元素。 2 i 4s o a p 请求响应消息示例 ( 1 ) s o a p 调用请求: d i s 啪m :g e 蝴m d e p r i e e 太原理工大学硕士研究生学位论文 2 2 w e b 服务简介 目前对w e b 服务1 1 6 1 1 7 1 比较统一的定义是由i b m 公司提出的:“w 曲服务( w e b s e r v i c e s ) 是独立的、模块化的应用程序,能够在网络( 一般是w w w ) 上被描述、发布、 查找和调用”。 w e bs e r v i c e 整个体系围绕服务的发布、查找和绑定展开。从语义上看它封装了离 散的功能模块,并且在i n t e m e t 上发布后能够通过标准的i n t e m e t 协议在程序中访问。 从体系结构上看,所有的应用实体都被抽象成服务。其中包括三个实体和三种操作。 三个实体分别是: ( 1 ) 服务提供者( s e r v i c ep r o v i d e r ) :它是指服务的所有者,从体系结构上看它是指 提供服务的平台。 ( 2 ) 服务请求者( s e r v i c er e q u e s t e r ) :它是指需要特定功能的企业,从体系结构上 看它是指查找、调用服务或与服务交互的客户端应用程序。 ( 3 ) 服务注册中一l , ( s e r v i c er e g i s t r y ) :它是指用来存储服务描述信息的信息库 ( r e p o s i t o r y ) 。服务提供方在这里发布他们的服务。服务请求方在这里查找服务,获取 服务的绑定信息。 图2 - 3w e b 服务结构图 f i g 2 - 3t h ea r c h i t e c t u r eo f w 曲s e r v i c e s 与w e bs e r v i c e s 有关的操作主要有以下三种: ( 1 ) 发布( p u b l i s h ) :服务提供者需要首先将服务进行一定描述并发布到注册服务 器上。在发布操作中,服务提供者需要通过注册服务器的身份验证,才能对服务描述信 息进行发布和修改。 1 2 太原理工大学硕士研究生学位论文 ( 2 ) 查找( f i n d ) :服务请求方根据服务注册器提供的规范接口发出查询请求,以获 取绑定服务所需的相关信息。在设计时,请求方为了程序开发而检索服务的接口描述, 而在运行时,则为了调用w e b 服务而检索服务的绑定和位置描述。 ( 3 ) 绑定( b i n d ) :服务请求方通过分析从注册服务器中得到的服务绑定信息,包

温馨提示

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

评论

0/150

提交评论