已阅读5页,还剩55页未读, 继续免费阅读
(测试计量技术及仪器专业论文)移动设备上开发web服务应用研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
南京邮电大学 硕士学位论文摘要 学科、专业:工学测试计量技术及仪器 研究方向: 虚拟仪器在通信信息系统中的应用 作 者:j 壁堕级研究生郭艳辉指导教师至要 题目:移动设备上开发w e b 服务应用研究 英文题目:r e s e a r c ho fa p p l i c a t i o na b o u tw e bs e r v i c eo nm o b i l e d e v i c e 主题词:w e b 服务j a v a 缩微版移动设备信息描述 真正简单联合供稿系统w e b 服务标准开发包 k e y w o r d s : w e bs e r v i c ej 2 m em i d pr s sw s a 南京邮电大学学位论文独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究 工作及取得的研究成果。尽我所知,除了文中特= ;lj l j t 以标注和致谢的 地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包 含为获得南京邮电大学或其它教育机构的学位或证书而使用过的材 料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了 明确的说明并表示了谢意。 研究生签名 髯整牡吼 南京邮电大学学位论文使用授权声明 南京邮电大学、中国科学技术信息研究所、国家图书馆有权保留 本人所送交学位论文的复印件和电子文档,可以采用影印、缩印或其 他复制手段保存论文。本人电子文档的内容和纸质论文的内容相一 致。除在保密期内的保密论文外,允许论文被查阅和借阅,可以公布 ( 包括刊登) 论文的全部或部分内容。论文的公布( 包括刊登) 授权 南京邮电大学研究生部办理。 研究生签名:醒整鳖导师签名: 1 日期 南京邮电大学硕士研究生学位论文 摘要 近年来,随着互联网和无线网络技术的飞速发展,各种移动应用业务为人们提供了随 时随地访问i n t e m e t 并从i n t e m e t 获取信息和处理信息的能力。随着移动开发平台的不断发 展,无线设备变得越来越可定制。人们不再满足于使用w a p 浏览器访问固定的站点,浏览 格式化的页面,而对网络应用提出了更高的定制要求,希望能够将网络应用集成到应用程 序中,使网络访问更便捷,界面更友好。 本论文针对目前流行的网络应用r s s ,人们最熟悉的b l o g ( 博客) 就是r s s 资源的 一种,利用w e b 服务和j 2 m e 移动开发平台完成了个r s s 资源管理和阅读的应用。 本论文描述了w e b 服务的基本架构,以及里面的重要协议:x m l ,s o a p ,w s d l 和 u d d i 。利用w e b 服务的实现框架a x i s 和应用服务器t o m c a t 相结合,开发了管理用户和 管理r s s 资源的应用,并以w e b 服务的方式在应用服务器上发布。 本论文还研究了当前主流的移动开发平台j 2 m e ,讨论了它的体系结构和程序的开发。 着重研究了j 2 m e 调用w e b 服务的方式,详细说明了j 2 m e 平台上的w e b 服务的标准开发 包。使用这个开发包,开发了移动设备上的w e b 服务客户端程序,用于调用上文所发布的 w e b 服务。在这个客户端上,可以直接完成对用户的管理和r s s 资源的管理。 南京邮电大学硕士研究生毕业论文a b s t r a c t a b s t r a c t w i t ht h er a p i dd e v e l o p m e n to fi n t e r n e ta n dw i r e l e s sn e t w o r km o b i l ea p p l i c a t i o n s h a v ep r o v i d em u c hc a p a b i l i t ya b o u ta c c e s st oi n t e m e ti nr e c e n ty e a r s ,a n dw i r e l e s s d e v i c e sc o u l db em o r ec u s t o m i z e dt h r o u g ht h et e c h n o l o g yo fm o b i l ed e v e l o p m e n t p l a t f o r me v o l u t i o n p e o p l eh a v em o r ei n t e r e s t sw i t ht h i sn e wa p p l i c a t i o nt h a ns i m p l y a c c e s sw a ps t a t i o ne v e rb e f o r e t h ep a p e rp a y sa t t e n t i o nt on e t w o r ka p p l i c a t i o nr s sw h i c hi sp o p u l a rn o w a n dt o p e o p l et h ef a m i l i a ru s eo fr s sr e s o u r c ei sb l o g a na p p l i c a t i o na b o u tr s sr e s o u r c e m a n a g e m e n ta n dr e a d i n gi sa c c o m p l i s h e di nt h i sa r t i c l eu s i n gt h ew e bs e r v i c ea n d j 2 m em o b i l ed e v e l o p m e n tp l a t f o r m t h ep a p e rd e s c r i b e sw e bs e r v i c es y s t e ma n di t si m p o r t a n tp r o t o c o l s ,w h i c hi s x m l ,s o a p , w s d l ,u d d i u s i n gt h ec o m b i n a t i o no fw e bs e r v i c ef r a m e w o r ka x i sa n d s e r v e rt o m c a t ,t h ea p p l i c a t i o nc a na c h i e v em a n a g e m e n ta b o u tu s e ra n dr s sr e s o u r c e a n dt h ea p p l i c a t i o ni sp u b l i s h e da ts e r v e rb yw e bs e r v i c e t h ea r t i c l ea l s od i s c u s sj 2 m e s y s t e mf r a m e w o r ka n dm e t h o da b o u tp r o g r a m m i n g i t l a ym u c he m p h a s e so nt h em o d eo fj 2 m ei n v o k i n gw e bs e r v i c ea n de x p l a i nw s a i n d e t a i la sw e l la s t h ec l i e n ta p p l i c a t i o np r o g r a mi sf i n i s h e du s i n gw s aa n di tc a r lu s et h e s e r v i c ew h i c hi sp u b l i s h e da ts e r v e r , b yw h i c ht h ec l i e n tc a na c h i e v em a n a g e m e n ta b o u t u s e ra n dr s sr e s o u r c e i i 南京邮电丈学硕十研充生学位论文第一章绪论 1 1 引言 第一章绪论 在过去的几年里,无线通信业正在快速发展,从模拟网络到数字网络,手机也向体积 小型化、功能复杂化方向发展,并且价格不断降低而为广大消费者所接受。无线通信己成 为世界上最热门和发展速度最快的技术。有关资料显示,到2 0 0 5 年全球移动电话将超过 1 4 亿部。 另一方面,i n t e r a c t 的出现也改变了现代计算机的前景。人们已经越柬越依赖于通过 i n t e m e t 来得到所需要的信息,而且希望不仅可以通过个人计算机,也能够通过移动和无线 设各来访问i n t e m e t 上的信息。个性化、移动性成为日益增长的需求,无线通信和i n t e r a c t 的结合已是不可避免的发展趋势。 在向无线环境转变的过程中,移动i n t e r a c t 设备将会从根本上改变通信网络、设备以 及服务的前景及其体系结构,无线设备变得越来越可定制,而不僚过去那样,来自工厂的 无线设备典型的是一种带有固定编码特点的装置。通过无线网络下载新应用和新特性的可 能性将会完全挖掘设备制造商、网络运营商、服务和内容供应商以及设备使用者本身具有 的新的潜能。 目前大多数的手机有自己的浏览器。经由w a p 提供交互式的内容。尽管w a p 访问因 特网会很高教,但是w a p 协议被证明是功能有限的和不适合的,并且它最大的问题在于 定制性。w a p 浏览器能访问的服务器限于w a p 站点,内容也完全是站点提供,不能做任 何变化。 在这种情况下。移动设备应用程序直接上网成为一个更好的选择。使用能处理x m l 的移动设备,开发w e b 服务的客户端,可以直接使用i n t e m e t 上各个公司提供的w e b 服务, 例如:搜索( g e o g l es e a r c ha p d ,定位( g o o g l em a pa p i ) ,信息阅读( r s s ) 等功能。这 样,可以通过开发个性化的客户端,来使用i n t e r a c t 上提供的丰富资源。 1 2 论文的主要内容 本论文的主要内容如下 本论文的主要内容如下 壹室坚皇查堂堡主堑基生兰垡堡兰 塑二皇堕丝 第一章介绍了一下论文的背景。 第二章介绍了w e b 服务技术的内容,主要介绍了w e b 服务的概念、体系结构、模型 和协议栈,然后详细介绍了w e b 服务使用的x m l 、s o a p 、w s d l 、u d d i 协议。 第三章介绍了当前主流的移动应用开发平台:b r e w 、n e t 和j 2 m e ,并对三种平台 做了比较。从跨平台、成本以及目前应用的规模,选择j 2 m e 作为开发移动w e b 服务的客 户端平台。 第四章是关于j 2 m e 技术的概述,介绍了j 2 m e 及其体系结构,重点介绍m i d p 。 第五章介绍的是j 2 m e 平台上使用w e b 服务的具体方法:k s o a p 和j s r l 7 2 ,重点是 j s r l 7 2 技术的内容及使用方法。 第六章介绍软件的背景和软件的总体架构。软件包括提供r s s 资源管理w e b 服务的 服务器和访问服务器的客户端程序。r s s 即r e a l l ys i m p l es y n d i c a t i o n ( 真正简单联合供稿 系统) ,是种用来聚集搜集新闻标题或是提供网页内容的格式,以x m l 可扩展标记语言 为基础。目前流行的b l o g ( 博客) 就是r s s 的一个典型应用。 第七章是服务器端的设计与实现,叙述了服务器的功能设计和使用t o m c a t - i - a x i s 开发 w e b 服务的具体步骤。 第八章是客户端的设计与实现,叙述了客户端的设计和客户端的实现。 南京邮电大学硕士研究生学位论文 第二章w e b 服务技术 2 1w e b 服务的概念 第二章w e b 服务技术 w e b 服务是自包含的、模块化的应用程序,可以在网络上( 通常是w e b 上) 描述、 发布、查找和调用。在w e b 服务架构中,每个组件都被看作是一个服务,它封装了行为并 提供可在网络上访问该行为的a p i 。这是电子商务中面向对象技术( 封装,消息传递,动 态绑定与映像) 的逻辑进化。 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 服务的实现平台从 j 2 e e 迁移到了n e t 或者是相反的迁移流程,用户都可以对此一无所知。对于松散耦 合而言,尤其是在i n t e m e t 环境下的w e b 服务而言,需要有一种适合i n t e m e t 环境的 消息交换协议。而x m l s o a p 正是e l 前最为适合的消息交换协议。 夺使用协约的规范性。这一特征从对象而来,但相比一般对象其界面规范更加规范化和 易于机器理解。首先,作为w e b 服务,对象界面所提供的功能应当使用标准的描述语 言来描述( 比如w s d l ) :其次,由标准描述语言描述的服务界面应当是能够被发现 的,因此这一描述文档需要被存储在私有的或公共的注册库里面。同时,使用标准描 述语言描述的使用协约将不仅仅是服务界面,它将被延伸到w e b 服务的聚合、跨w e b 3 亘塞塑皇查兰堡主塑塞圭兰垡堡苎笙三兰兰! 竺堑彗查 服务的事务、工作流等,而这些又都需要服务质量( q o s ) 的保障。其次,安全机制 对于松散耦合的对象环境非常重要,因此需要对诸如授权认证、数据完整性( 比如签 名机制) 、消息源认证以及事务的不可否认性等运用规范的方法来描述、传输和交换。 最后,在所有层次的处理都应当是可管理的,因此需要对管理协约运用同样的机制。 夺使用标准协议规范。作为w e b 服务,其所有公共的协约完全需要使用开放的标准协议 进行描述、传输和交换。这些标准协议具有完全免费的规范,以便由任意方进行实现。 一般而言,绝大多数规范将最终有w 3 c 或o a s i s 作为最终版本的发布方和维护方。 夺高度可集成能力。由于w e b 服务采取简单的、易理解的标准w e b 协议作为组件界面 描述和协同描述规范,完全屏蔽了不同软件平台的差异,无论是c o r b a ,d c o m 还 是e j b 都可以通过这一种标准的协议进行互操作,实现了在当前环境下最高的可集成 性。 2 2w e b 服务模型 w e b 服务体系结构基于三种角色( 服务提供者、服务注册中心和服务请求者) 之间的 交互。交互涉及发布、查找和绑定操作。这些角色和操作一起作用于w e b 服务构件:w e b 服务软件模块及其描述。在典型情况下,服务提供者托管可通过网络访问的软件模块( w e b 服务的一个实现) 。服务提供者定义w e b 服务的服务描述并把它发布到服务请求者或服务 注册中一心。服务请求者使用查找操作来从本地或服务注册中心检索服务描述,然后使用服 务描述与服务提供者进行绑定并调用w e b 服务实现或同它交互。服务提供者和服务请求者 角色是逻辑结构,因而服务可以表现两种特性。图2 - 1 显示了这些操作、提供这些操作的 组件及它们之间的交互。 图2 - 1w e b 服务的角色、操作和构件 2 2 1w | e b 服务体系结构中的角色 夺服务提供者。从企业的角度看,这是服务的所有者。从体系结构的角度看,这是托管 塑塞坚皇查兰塑主塑壅兰兰垒堡苎蔓三雯鉴! 堡墨垫查 访问服务的平台。 夺 服务请求者。从企业的角度看,这是要求满足特定功能的企业。从体系结构的角度看, 这是寻找并调用服务,或启动与服务的交互的应用程序。服务请求者角色可以由浏览 器来担当,由人或无用户界面的程序( 例如,另外一个w e b 服务) 来控制它。 夺 服务注册中心。这是可搜索的服务描述注册中心,服务提供者在此发布他们的服务描 述。在静态绑定开发或动态绑定执行期间,服务请求者查找服务并获得服务的绑定信 息( 在服务描述中) 。对于静态绑定的服务请求者,服务注册中心是体系结构中的可 选角色,因为服务提供者可以把描述直接发送给服务请求者。同样,服务请求者可以 从服务注册中心以外的其它来源得到服务描述,例如本地文件、f t p 站点、w e b 站点、 服务的广告和发现( a d v e r t i s e m e n ta n dd i s c o v e r yo fs e r v i c e s , a d s ) 或w e b 服务发 现( d i s c o v e r yo f w e bs e r v i c e s ) 。 2 2 2w e b 服务体系结构中的操作 对于利用w e b 服务的应用程序,必须发生以下三个行为:发布服务描述、查询或查找 服务描述以及根据服务描述绑定或调用服务。这些行为可以单次或反复出现。这些操作具 体为: 夺发布。为了使服务可访问,需要发布服务描述以使服务请求者可以查找它。发布服务 描述的位置可以根据应用程序的要求而变化。 夺查找。在查找操作中,服务请求者直接检索服务描述或在服务注册中心中查询所要求 的服务类型。对于服务请求者,可能会在两个不同的生命周期阶段中牵涉到查找操作: 在设计时为了程序开发而检索服务的接z i 描述,而在运行时为了调用而检索服务的绑 定和位置描述。 绑定。最后需要调用服务。在绑定操作中,服务请求者使用服务描述中的绑定细节来 定位、联系和调用服务,从而在运行时调用或启动与服务的交互。 2 2 3w e b 服务的构件 夺服务。在这里,w e b 服务是一个由服务描述来描述的接口,服务描述的实现就是该服 务。服务是一个软件模块,它部署在由服务提供者提供的可以通过网络访问的平台上。 服务存在就是要被服务请求者调用或者同服务请求者交互。当服务的实现中利用到其 它的w e b 服务时,它也可以作为请求者。 5 亘塞堕皇查兰堡主里塾竺兰竺丝兰墨三童些! 堡墨垫垄 夺服务描述。服务描述包含服务的接口和实现的细节。其中包括服务的数据类型、操作、 绑定信息和网络位置。还可能包括可以方便服务请求者发现和利用的分类及其它元数 据。服务描述可以被发布给服务请求者或服务注册中心。 2 3w e b 服务开发生命周期 w e b 服务开发生命周期包括了设计和部署以及在运行时对服务注册中心、服务提供 者和服务请求者每一个角色的要求。每个角色对开发生命周期的每一元素都有特定要求。 开发生命周期有以下四个阶段: 1 、构建 生命周期的构建阶段包括开发和测试w e b 服务实现、定义服务接口描述和定义服务实 现描述。可以通过创建新的w e b 服务、把现有的应用程序变成w e b 服务和由其它w e b 服 务和应用程序组成新的w e b 服务等方式提供w e b 服务的实现。 2 、部署 部署阶段包括向服务请求者或服务注册中心发布服务接口和服务实现的定义,以及把 w e b 服务的可执行文件部署到执行环境( 典型情况下,w e b 应用服务器) 中。 3 、运行 在运行阶段,可以调用w e b 服务。在此,w e b 服务完全部署、可操作并且服务提供者 可以通过网络访问服务。现在服务请求者可以进行查找和绑定操作。 4 、管理 管理阶段包括持续的管理和经营w e b 服务应用程序。安全性、可用性、性能、服务质 量和业务流程问题都必须被解决。 2 4w e b 服务协议栈 要以一种可互操作的方式执行发布、发现和绑定这三个操作,必须有一个包含每一层 标准的w e b 服务协议栈。图2 2 展示了一个w e b 服务协议栈。上面的层建立在下面层提供 的功能之上。 南京邮电大学硕士研究生学位论文 第二章w e b 服务技术 r d i 曲瓶嗽t h _ 曲晌卜h p 嘲 w m l d l o ww s n d i 韩u d d i w s 妇即 量 h d 吨w s - r o u 畦曩g w s - r e f e m d 暑 曼 s c c u f i k y删舟f 蛳粥- l k e m e 暑 萋 鼋 m e q 面撼 s 。 t n m s 砷r t i f n t 丌t s m t p 】a 州i m 1 p v 6 2 4 1 传输网络 图2 - 2 w e b 服务协议栈 w e b 服务协议栈的基础是网络层。w e b 服务要被服务请求者调用,就必须是可以通过 网络访问的。该层可表示任意多个网络协议:h t r p , f t p , s m t p 、消息排队( m e s s a g e q u e u i n g ) 、因特网o r b 间协议( i n t e m e ti n t e ro r bp r o t o c o l ,h o p ) 上的远程方法调用 ( r e m o t em e t h o di n v o c a t i o n ,r m i ) 、电子邮件等等。在任何给定的情况下使用的网络协 议都依赖于应用程序需求。 w e b 服务可采用因特网上普遍使用的网络协议。h t t p 凭借其普遍性,成为了因特网 可用的w e b 服务真正的标准网络协议。 w e b 服务的好处之一在于,它为专用内部网和公用因特网服务的开发和使用提供了统 一的编程模型。所以,网络技术的选择对服务开发者来说是透明的。 2 4 2 基于x m l 的消息 下一层是基于x m l 的消息传递,它表示使用x m l 作为消息传递协议的基础。选择 s o a p 作为x m l 消息传递协议有很多原因: 夺它是使用x m l 传送以文档为中心的消息以及远程过程调用的标准化封装机制。 令s o a p 很简单,它基本上是一个用x m l 信封作为有效负载的h t t pp o s t 。 夺s o a p 比对x m l 简单的h t t pp o s t 更受青睐,因为它定义了一个标准机制,这个机 制将正交扩展( o r t h o g o n a le x t e n s i o n ) 合并为使用s o a p 报头和对操作或函数进行标准 编码的消息。 夺s o a p 消息支持w e b 服务体系结构中的发布、查找和绑定操作。 南京邮电太学硕士研究生学位论文 第二章w e b 服务技术 2 4 3 服务描述 服务描述层实际上是描述文档的一个协议栈。首先,w s d l 是基于x m l 的服务描述 的真正标准。这是支持可互操作的w e b 服务所需的最小标准服务描述。w s d l 定义了服务 交互的接口和结构。要指定业务环境、服务质量和服务之问的关系,还需要另外的描述。 w s d l 文档可以由其它服务描述文档来补充,从而描述w e b 服务的这些更高级的方面。例 如,描述业务环境除了使用w s d l 文档,还要使用u d d i 数据结构。 因为w e b 服务被定义为可以通过s o a p 从网络进行访问,并由服务描述表示,所以该 协议栈中的前三层是必须提供的。最简单的协议栈将包括网络层的h t t p ,x m l 消息传 递层的s o a p 协议以及服务描述层的w s d l 。所有企业问或公用w e b 服务都应该支持这种 可互操作的基础协议栈。w e b 服务,特别是企业内部或专用w e b 服务,能够支持其它的网 络协议和分布式计算技术。 协议栈的最下面这三层确立了保证致性和互操作性的技术,而服务发布和服务发 现,可以用多种解决方案来实现。 2 4 4 服务发布与发现 任何能够让服务请求者使用w s d l 文档的操作,不管它处于服务请求者生命周期的哪 个阶段,都符合服务发布的标准。该层中最简单、最静态的示例就是服务提供者直接向服 务请求者发送w s d l 文档。这被称为直接发布。电子邮件是直接发布的载体之一,直接发 布对静态绑定的应用程序来说很有用。另外,服务提供者还可以将描述服务的文档发布到 主机本地w s d l 注册中心、专用u d d i 注册中心或u d d i 运营商节点。 因为w e b 服务如果没有被发布就不能被发现,所以说服务发现依赖于服务发布。该层 的各种发现机制和一组发布机制互相平行。任何允许服务请求者获得对服务描述的访问 权,并在运行时使应用程序能够使用该服务描述的机制都符合服务发现的标准。最简单、 最静态的发现的示例是静态发现,其中服务请求者从本地文件获取w s d l 文档。这通常都 是通过直接发布获取的w s d l 文档,或者前面查找操作的结果。另外,也可以通过使用本 地w s d l 注册中心、专用u d d i 注册中心或u d d i 运营商节点在设计时或运行时发现服务。 目前u d d i 技术在w e b 服务发布与发现中得到了较广泛的应用。 南京邮电大学硕士研究生学位论文第二章w e b 服务技术 2 。5 x m l x m l ( 可扩展标识语言) ,同h t m l 一样,是通用标识语言标准( s g m l ) 的一个子 集,它是描述网络上的数据内容和结构的标准。尽管如此,x m l 不像h t m l ,h t m l 仅 仅提供了在页面上显示信息的通用方法( 没有上下文相关和动态功能) ,x m l 则对数据赋 予上下文相关功能,它继承了s g m l 的大部分功能,却使用了不太复杂的技术。 为了使得s g m l 显得用户友好,x m l 重新定义了s g m l 的一些内部值和参数,去掉 了大量的很少用到的功能,这些繁杂的功能使得s g m l 在设计网站时显得复杂化。x m l 保留了s g m l 的结构化功能,这样就使得网站设计者可以定义自己的文档类型,x m l 同 时也推出种新型文档类型,使得开发者也可以不必定义文档类型。 因为x m l 是w 3 c 制定的,x m l 的标准化工作由w 3 c 的x m l 工作组负责,该小组 成员由来自各个地方和行业的专家组成,他们通过e m a i l 交流对x m l 标准的意见,并提出 自己的看法( w w w w 3 o r e , t r w d x m l ) 。因为x m l 是个公共格式,( 它不专属于任何一 家公司) ,所以不必担心x m l 技术会成为少数公司的盈利工具,x m l 不是一个依附于特 定浏览器的语言。 x m l 的优势是很显然的,因为x m l 语言可以充分利用网站内容的标准及其结构化描 述。x m l 可以使搜索引擎设计得更加有成效。使得索引不再有必要。x m l 也可以实现网 站内容的个人化观看风格,这样,用户可以按照个人习惯和兴趣来查看标准文档中的相关 信息。x m l 带来的最后一个好处是,动态出版服务器可以同时从几个服务器中,提取内容, 如同管理静态内容一样,网站设计者可以通过x m l 来管理信息。 x m l 定义了内容而不是表现形式,这是h t m l 和x m l 的基本区别。这样,在你的 浏览器中观看x m l 页时,其显示格式仅仅取决于开发者的设计。换句话说,控制x m l 页的输出格式是开发者,而不是浏览器。例如,i e4 0 使用了x m l 解析器,可以读入x m l 页,并且可以从x m l 页中提取数据,供另外的程序访问。你可以用传统的h t m l 来显示 数据。 你可以对任何数据( 例如颜色,名称或者地点) 赋予其属性,这种属性称为x m l 文 档描述,或者称为元数据。元数据也代表更抽象的概念,例如同特定的文档相联系的某行 业术语。你也可以使用x m l 对任何现有的元数据标准进行编码。 因为x m l 不依赖于任何特定类型的元数据格式,各种技术厂家的用户组织定义出自 己的元数据标准,并不会有什么风险。换句话,你不能够把x m l 变成特定类型数据的专 有产品。资源描述框架( r d f ) 标准,目前处于建议阶段,其目的就是把所有的元数据集 q 堕塞塑皇查兰堡主里壅兰兰垡丝兰蔓三皇鉴! 璺塑垫苎 中到一起。这样,数据可以被大家共享。 为了使用x m l ,网站设计者们必须对要标记的文档进行分析,然后,两件事情,选做 其中的一件,一件事情是借用一家工业集团制定的称为的文件类型定义的标准( d t d ) , 它用来描述出现在文档中的元素。另外一件事情是自己创建标记,设计出自己的一套标记 集合,例如, 或者 ,来满足实际应用的需求。 2 6s o a p s o a p 为在一个松散的、分布的环境中使用x m l 对等地交换结构化的和类型化的信 息提供了一个简单的轻量级机制。s o a p 本身并不定义任何应用语义,如编程模型或特定 语义实现,它只是定义了一种简单的机制,通过一个模块化的包装模型和对模块中特定格 式编码的数据重编码机制来表示应用语义。s o a p 的这项能力使得它可被很多类型的系统 用于从消息系统到r p c ( r e m o t e p r o c e d u r e c a l l ) 的延伸。 s o a p 规范主要由三部分组成: 夺s o a p 信封( e n v e l o p ) ,它构造定义了一个整体的s o a p 消息表示框架,可用于表示消 息中的内容是什么,是谁发送酌,谁应当接受并处理它,以及这些处理操作是可选的 还是必须的等。 夺s o a p 编码规则( e n c o d i n gr u l e s ) ,定义了一个数据的编码机制,通过这样一个编码机 制来定义应用程序中需要使用的数据类型,并可用于交抉由这些应用程序定义的数据 类型所衍生的实例。例如可能应订单服务的需要,使用s o a p 编码规则定义了订单的 数据类型,并可以在订单生成的客户端与订单服务之间交换订单实例。 夺s o a pr p c 表示( r p cr e p r e s e n t a t i o n ) ,定义了一个用于表示远端过程调用和响应的约 定,例如如何使用h t t p 或s m t p 协议与s o a p 绑定,如何传输过程调用,在具体传 输协议的哪个部分传输过程响应,如可以在h t t p 的响应的时候传递过程响应。 虽然这三部分是作为s o a p 的不同部分作为一个整体定义的,但他们在功能上是正交 的、彼此独立的。特别的,信封和编码规则是被定义在不同的x m 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 e a r d 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 ) 。 南京邮电大学硕士研究生学位论文第二章w e b 服务技术 2 7 w s d l 由于通信协议和消息格式在w e b 技术中已经达到了标准化,在通常的开发过程中,对 于对象的接口一定具备相应的描述文档,w e b 服务也是一种对象,只不过它是被部署在 w e b 上而已。很自然的,w e b 服务这个对象的接口也需要描述文档。目前在w e b 上的应用 已经完全接受了x m l 这个基本的标准,基本上所有新出台的技术都是基于x m l 标准的, 并且w e b 服务的目标是即时装配,松散耦合以及自动集成的,这意味着描述文档应当是具 备被机器识别的能力的。也就是说,对于使用标准化的消息格式通信协议的w e b 服务, 它需要以某种结构化的方式( 即x m l ) 对w e b 服务的调用通信加以描述,而且实现这一 点也显得非常重要,这是w e b 服务即时装配的基本保证。w s d l ( w e bs e r v i c ed e s c r i p t i o n l a n g u a g e ) 正是这样一种描述语言,w s d l 定义了一套基于x m l 的语法,将w e b 服务 描述为能够进行消息交换的服务访问点的集合,从而满足了这种需求。w s d l 服务定义为 分布式系统提供了可机器识别的描述文档,并且可用于描述自动执行应用程序通信中所涉 及的细节。 一个w e b 服务通过使用w s d l 文档描述自己来让潜在的客户可以使用。一个w s d l 描述是一个描述了w e b 服务所有相关信息( 包括服务的名字可调用的操作,操作的参数, 还有该把请求发往何处) 的x m l 文档。w e b 服务的客户端能利用w s d l 发现这个w e b 服务提供了什么功能以及如何访问它。 w s d l 将w e b 服务描述定义为一组服务访问点,客户端可以通过这些服务访问点对 包含面向文档信息或面向过程调用的服务进行访问( 远程过程调用) 。w s d l 首先对访问 的操作和访问时使用的请求响应消息进行抽象描述,然后将其绑定到具体的传输协议和消 息格式上以最终定义具体部署的服务访问点。相关的具体部署的服务访问点通过组合就成 为抽象的w e b 服务。 在具体使用中,可以对w s d l 进行扩展( 类似s o a p 的可扩展性) ,这样无论通信时 使用何种消息格式或网络协议,都可以对服务访问点及其使用的消息格式进行描述。在 w s d l 的框架中,可以使用任意的消息格式和网络协议,如同s o a p 中可以使用任意的网 络协议一样。在w s d l 规范中,定义了如何使用s o a p 消息格式、h t t p g 肿0 s t 消 息格式以及m i m e 格式来完成w e b 服务交互的规范。 在w s d l 中,由于服务访问点和消息的抽象定义已从具体的服务部署或数据格式绑定 中分离出来,因此可以对抽象定义进行再次使用:消息,指对交换数据的抽象描述;而端 口类型,指操作的抽象集合。用于特定端口类型的具体协议和数据格式规范构成了可以再 1 1 堕塞墅皇查堂堡主坚壅兰兰丝堡苎兰三童鉴! 里堑垫查 次使用的绑定。将w e b 访问地址与可再次使用的绑定相关联,可以定义一个端口,而端口 的集合则定义为服务。因此,w s d l 文档在w e b 服务的定义中使用下列元素: 夺1 卯e 譬一数据类型定义的容器,它使用某种类型系统( 一般地使用x m ls c h e m a 中的类 型系统) 。 夺m e s s a g e - - 通信消息的数据结构的抽象类型化定义。使用t y p e s 所定义的类型来定义整 个消息的数据结构。 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 一对于某个访问入口点类型所支持的操作的抽象集合,这些操作可以由一个或 多个服务访问点来支持。 夺b i n d i n g 特定端1 3 类型的具体协议和数据格式规范的绑定。 夺p o 疳一定义为协议数据格式绑定与具体w e b 访问地址组合的单个服务访问点。 夺s e i c e 一相关服务访问点的集合。 其中,t y p e s 是一个数据类型定义的容器,包含了所有在消息定义中需要的x m l 元素 的类型定义。 m e s s a g e 具体定义了在通信中使用的消息的数据结构,m e s s a g e 元素包含了一组p a r t 元素,每个p a 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 来完成这方面的需要) ,都是并 列出现。 p o r t t y p e 具体定义了一种服务访问入口的类型,何谓访i a q a n 的类型昵? 就是传入 传出消息的模式及其格式。一个p o r t t y p e 可以包含若干个o p e r a t i o n ,而一个o p e r a t i o n 则 是指访问入口支持的一种类型的调用。在w s d l 里面支持四种访问入口调用的模式: ( 1 ) 单请求; ( 2 ) 单响应: ( 3 ) 请求响应; ( 4 ) 响应请求; 在这里请求指的是从客户端到w e b 服务端,而响应指的是从w e b 服务端到客户端。 p o r t t y p e 的定义中会引用消息定义部分的一个到两个消息,作为请求或响应消息的格式。 以上三种结构描述了调用w e b 服务的抽象定义,这三部分与具体w e b 服务部署细节无 关,是可复用的描述( 每个层次都可以复用) 。如果与一般的对象语言做比较的话,这部 1 2 堕塞堕皇查兰堡- 上坚塞竺兰垡笙主篁三童兰! 望丝垫查 分可以堪称是i d l 描述的对象,描述了对象的接口标准,但是到底对象是用哪种语言实现, 遵从哪种平台的细节规范,被部署在哪台机器上则是后面的元素所描述的。 s e r v i c e 描述的是一个具体的被部署的w e b 服务所提供的所有访问入口的部署细节,一 个s e r v i c e 往往会包含多个服务访问入口,而每个访问入口都会使用一个p o r t 元素来描述。 p o r t 描述的是一个服务访问入口的部署细节,包括通过哪个w e b 地址( u r l ) 来访 问,应当使用怎样的消息调用模式来访问等。其中消息调用模式则是使用b i n d i n g 结构来 表示。 b i n d i n g 结构定义了某个p o r t t y p e 与某一种具体的网络传输协议或消息传输协议相绑 定,从这一层次开始,描述的内容就与具体服务的部署相关了。比如可以将p o r t t y p e 与 s o a p h t t p 绑定,也可以将p o r t t y p e 与m i m e s m t p 相绑定等。 从以上主要元素介绍可见,w s d l 的设计理念完全继承了以x m l 为基础的当代w e b 技术标准的一贯设计理念:开放。w s d l 允许通过扩展使用其他的类型定义语言( 不光 是订ls c h e m a ) ,允许使用多种网络传输协议和消息格式( 不光是在规范中定义的这些: s o a p h t t p ,h t t p g e t p o s t 以及m i m e 等) 。同时w s d l 也应用了当代软件工程中 的复用理念,分离了抽象定义层和具体部署层,使得抽象定义层的复用性大大增加。比如 可以先使用抽象定义层为一类w e b 服务进行抽象定义( 比如u d d ir e g i s t r y ,抽象定义肯 定是完全一致的遵循了u d d i 规范) ,而不同的运营公司可以采用不同的具体部署层的描 述结合抽象定义完成其自身的w e b 服务的描述。 2 8u d d i u d d i ( 统一描述、发现和整合) 建立了一个平台独立、开放的框架,通过因特网来 描述服务,发现业务,并且整合业务服务。它是一套基于w e b 的、分布式的、为w e b 服 务提供的信息注册中心的实现标准规范,同时也包含一组使企业能将自身提供的w e b 服务 注册以使得别的企业能够发现的访问协议的实现标准。 u d d i 基于现成的标准,如可扩展标一记语言( 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 ) 和简单对象访问协议( s i m p l eo b j e c ta c c e s sp r o t o c o l ,s o a p ) 。u d d i 的所有兼容实现都 支持u d d i 规范。公共规范是机构成员在开放的、兼容并蓄的过程中开发出来的。目的在 于先生成并实现这个规范的三个连续版本,之后再把将来开发得到的成果的所有权移交给 一个独立的标准组织。 如图2 2 中所示,u d d i 包含于完整的w e b 服务协议栈之内,而且是协议栈基础的主 堕塞坚皇查兰塑主竺塞圭兰竺堡塞苎三兰鉴! 望垒垫苎 要部件之一,支持创建、说明、发现和调用w 曲服务。 u d d i 构建于网络传输层和基于s o a p 的x m l 消息传输层之上。通过使用u d d i 的 发现服务,企业可以单独注册那些希望被别的企业发现的自身提供的w 曲服务。企业可以 通过u d d i 商业注册中心的w e b 界面,或是使用实现了”u d d ip r o g r a m m e r sa p i 标准”所 描述的编程接口的工具,来将信息加入到u d d i 的商业注册中心。u d d i 商业注册中心在 逻辑上是集中的,在物理上是分布式的,由多个根节点组成,相互之间按一定规则进行数 据同步。当个企业在u d d i 商业注册中心的一个实例中实施注册后,其注册信息会被自 动复制到其它u d d i 根节点,于是就能被任何希望发现这些w 曲服务的人所发现。 4 南京邮电大学硕士研究生学位论文第三章移动应用开
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- (新版)AOPA无人机驾驶证理论考试总题库及答案
- 电动隔膜泵检修规程
- 微波杀菌机检修规程
- 蝶阀检修规程
- 2026年公卫执业医师《医学微生物学》模拟题附答案
- 2026年西藏自治区林芝市网格员招聘考试备考试题及答案解析
- 2026年盐城市盐都区网格员招聘考试备考题库及答案解析
- 2026年阳江市江城区网格员招聘笔试参考题库及答案解析
- 2026年湖北省武汉市网格员招聘考试备考试题及答案解析
- 单位财务人员实习总结
- 佛山市南海区2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 大族激光苹果创新加速与算力PCB扩产激光龙头迎接新一轮高成长
- 2026年智能制造评估师考试试题及答案
- 2026年春贵州人民版(2024)小学综合实践活动三年级下册(全册)教案(附目录)
- 2026年春人教鄂教版(新教材)小学科学三年级下册(全册)课时练习及答案(附目录)
- 讲师培训训练营
- 建筑安全生产标准化制度
- 命案防控知识宣传课件内容
- 2026中船海鹰企业集团有限责任公司校园招聘笔试备考题库及答案解析
- 错峰生产管理制度
- 【《“对分课堂”教学模式的教学实验探究报告》19000字(论文)】
评论
0/150
提交评论