




已阅读5页,还剩64页未读, 继续免费阅读
(计算机应用技术专业论文)web+services在手机服务系统中的应用研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 移动w e b 服务是w c bs e 州c e 技术在移动设备方面的应用之一,它已成为新 时期移动服务系统设计的趋势。目前虽然也有相应的服务系统出现,但由于各方 面的局限性,这些服务系统还不完善。因此本文就w e bs e r v i c e s 在手机服务系统 中的核心问题进行了研究。 j 2 m e 是j a v a 语言三大平台之一,它主要针对资源受限设备进行应用程序 的开发,同时,w 曲服务能够让任何平台上的用任何语言编写的服务进行交互, 使得应用程序的集成可以做到更快、更容易而且具有更高的可扩展性。鉴于 j 2 m e 和w 曲s e r v i c e s 的一些优点,重吲门采用这两种技术来进行移动服务系统的 研究和开发。 本文以基于w 曲s e r v i c e s 的手机服务系统的开发为线索,进行了相关理论的 研究、实验和技术开发。主要包含以下工作:( 1 ) 详细阐述了j 2 m e 技术,主要针 对其体系结构进行分析。( 2 ) 对w 曲s e i c e s 技术的结构及其在后台服务器端的 应用进行了分析。( 3 ) 基于w 曲s e r v i c e s 实现的手机服务系统,对手机服务系统 开发的一些关键问题进行研讨,包括:w e bs e r v i c e s 在本服务系统中的实现模 型;本手机服务系统实现的架构和工作原理;本服务系统中各个子服务的流 程图。( 4 ) 详细说明手机服务系统的实现。重点介绍了w 曲s e r v i c e s 的服务器端 系统的各个子服务的开发与发布,以及利用j 2 m e 来开发本服务系统的客户端。 本服务系统的实现是基于w 曲s e r v i c e s 的,同其它类似系统相比,其优势也是明 显的,主要体现在动态查找和异构互操作性以及跨平台互操作性。最后对前面所 做的工作做出总结并对下一步将完善的工作进行准备。 手机服务系统是当前移动应用的研究热点,它促进了移动服务系统的开发和 应用,其影响深远,同时也给w 曲s e i c e s 技术在手机系统的应用开辟了广阔的 空间。结果证明本文提出的服务系统是有效的、可行的、成功的。 关键词:j 2 m e ,w c bs e i c e s ,x m l ,s o a p ,移动w e b 服务 西北大学学位论文知识产权声明书 本人完全了解学校有关保护知识产权的规定,即:研究生在校攻 读学位期间论文工作的知识产权单位属于鹾北大学。学校有权保留并 向国家有关部门或机构送交论文的复印件和电子版。本人允许论文被 查阅和借阅。学校可以将本学位论文的全部或部分内容编入有关数据 库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学 位论文。同时,本人保证,毕业后结合学位论文研究课题再撰写的文 章一律注明作者单位为西北大学。 保密论文待解密后适用本声明。 。,】 学位论文作者签名:盗盘递指导教师签名:鱼1 鱼雪 酬年6 月v 日洲年6 月圳日 西北大学学位论文独创性声明 本人声明:所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,本论文不包含其他人已经发表或撰写过的研究成果,也不包含 为获得西北大学或其它教育机构的学位或证书而使用过的材料。与我 一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的 说明并表示谢意。 学位论文作者签名:嚏掳! 譬 f 年6 月”日 第一章绪论 第一章绪论 1 1 引言 无线j a v a 与手机的关系就像软件与电脑的关系一样。传统的手机是一个封 闭的操作系统,除非用厂商自己的软件和工具,否则无法对手机的界面进行改动, 更无法在手机上附加其它应用。而无线j a v a 技术的应用将摆脱这些传统的束 缚,无线j a v a 编写的应用程序可以兼容不同的网络协议,简单说就是,只要移 动网络运营商提供j a v a 服务,用户的j a v a 手机就可以拥有无限扩充应用的能 力。用户使用支持j a v a 功能的手机终端,接入移动运营商无线j a v a 服务平台, 可以通过手机随意下载j a v a 应用软件,能方便地享受类似于h l t e r n e l 上的各种 服务,如下载软件、浏览信息等,也可以进行各种在线应用,如收发电子邮件、 信息查询、证券炒股等。 但是,随之也带来一个问题r r 开销的增加,r r 部门总是在寻找既能减 少开销又不对操作产生消极影响的方法。节省开销的一个关键目标是删除组织中 不必要的冗余,如软件应用程序中的重复代码。但是重复代码的问题非常隐蔽, 很少有入会明白它对i t 资源的消耗1 3 1 。 w 曲服务为设计一个节省的基础架构提供了种新方法,将常用的代码组织 成服务,任何需要这些代码的应用程序都能调用这些服务。假设多个应用程序需 要进行客户的信用卡核查操作。您可以把信用卡核查程序作为一个w 曲服务, 每个应用程序都能调用这个w 曲服务,而不是把这段程序内嵌到每个应用程序 中。这不仅减少了代码的冗余,而且,修改信用卡核查程序时也不需要修改多个 程序。 w 曲服务的基础架构由客户端和、e b 服务器端组成。客户端是请求w 曲服 务的软件。j 2 m e 的m i d l e t 可以成为一个w c b 服务的客户端,并且可以访问在 共同的w e b 服务器基础架构中有权限使用的任何w 曲服务。目前,无线数据服 务模式也是多种多样,如s m s ,e m s ,w a p m m s ,j a 、,a ,b r _ e w 等,基于这些模 式上的信息服务也得到了爆炸性的发展。w 曲技术的价值在于不必通过专门的移 动协议,就可以让已有的w 曲s e r v i c e s 服务直接应用于移动设备上。对于企业用 户,只需要在拥有w 曲s e f v i c e s 功能的智能电话上安装客户端,就可与企业原有 的e r p 系统进行连接。不用多久,智能w 曲s e r v i c e s 移动终端将会普及,普通 第一章绪论 消费者也可得益于w 曲s e r v i c e s 应用。本文正是在这样的背景下进行了基于 j 2 m e 和w e bs e r v i c e s 的手机服务系统的研究和开发。 1 2 国内外现状和趋势 对于移动设备上的w e b 服务技术,各大软件公司都在进行研究,并有相应 的产品推出。例如,微软公司的m i c r o s o f v i 锄a ls t u d i o 和n e t 可用于创建用于 p c 和移动设备的移动w 曲服务的应用程序。m m 也推出了一套专门用于在移 动设备上提供w c b 服务的编程工具一移动设备用w e b 服务工具包”w s t k m d ( w e bs e r v i c e st 0 0 1 l 【i tf o rm o b i l ed e v i c e s ) ,可以提供工具和基于j a v a 的运行软件 来开发可以在三种移动设备( 基于w i n d o w sc e 的p o c k e tp c 、p a l m 设备和砌m 公司的b l a c k b e “y 掌上电脑) 上访问的w 曲服务应用程序。 j a v a 中的j 2 m e 平台对移动设备上的应用程序开发提供支持,当前投放到市 场的这类设备中9 0 都支持j 2 m e 。目前基于j 2 m e 平台的w 西服务技术开发中, 应用较为广泛的是e n h y d r a o r g 提供的k s o a p 。但由于j 2 m e 平台上一直没有一 种标准的w 曲服务开发包,开发者不得不在每个应用程序都把这类开发包包含 进去这样将使资源有限的消费类设备( 如手机、p d a 等) 不堪重负【2 4 1 。 不久前,j c p ( j a v ac o n 瑚u l l i t yp r o c e s s ,j a v a 社区进程) 推出了j 2 m e 平台上w e b 服务的规范j s r1 7 2 :j 2 m e 珈w 曲s e r v i c e ss p e c i 丘c a t i o n ,相应的a p i 就是 w s a ( j 2 m ew c bs e i c e sa p i ) ,其目标就是在设备运行环境中集成进对w e b 服务 调用和x m l 解析的支持,以便开发者不需要在每个应用程序中都包含进这类功 能。s u 力公司的w t k 2 】( t h ej 2 m e w i f e 】e s s t o o d t 2 1 ) 工具和j b m 的w s t k m d 都提供了对w s a l l ,o 的支持。 目前支持w s a l o 的移动设备尚未出现在市场上,但己经有许多此类设备正 在开发中。相信不久的将来,在移动设备上应用w s a 技术访问w e b 服务将会得 到普遍应用。 1 。3 论文的主要工作、成果及特色 在对本系统进行设计和对论文进行撰写的过程中,作者参考了大量的相关文 献资料,并利用网络资源解决了许多技术难点,重点研究和探讨的内容包括: 对手机软件的现状和发展趋势进行分析。 对目前手机上的主流开发平台j 2 m e 技术在手机软件中的应用进行了研 2 第一章绪论 究。 对w 曲s e r v i c e s 技术及其在手机服务系统中的应用进行了探讨。 在对移动程序开发、j 2 m e 技术和w 曲s e i c e s 技术进行理论剖析的基础 上,将j 2 m e 技术与w 曲s e r v i c e s 技术相结合这思路应用于实践中,根据 j 2 m e 和w 曲s e n ,i c e s 相结合的架构模型完成了一个手机服务系统的开发,验证 了在手机上采用该方法开发相关应用软件的可行性和可操作性,为未来移动系统 应用软件的开发提供了一个较好的思路和解决办法。 目前在移动设备上实现) 涨l 解析和对w e b 服务的访问一般采用第三方开发 包,这种方式会导致每个应用程序都要包含第三方开发包,给资源有限的移动设 备造成沉重负担。为克服这种不便,系统利用最新推出的标准a p i w s a l o 进行 开发,w s _ 锵内置于移动设备上,这样使用w s a 实现移动w c b 服务就不需要在 每个应用程序中包含支持x m l 解析和访问w e b 服务的开发包了,从而起到了节 省设备资源的作用。 该系统除了采用最新的w s a 技术实现移动设备上的w e b 服务支持外,服务器 端的开发也采用了合理的分层,整个开发具有松散藕合、良好封装的特性,为以 后的修改和升级打下了很好的基础。 1 4 论文的组织结构 本论文的组织结构大致如下: 第一章介绍了论文的背景情况、国内外发展现状、论文所做的主要工作以及 论文的组织结构。 第二章是关于j 2 m e 技术的概述,主要介绍了j a v a2 平台的分类、什么是 j 2 m e 及其体系结构重点在于m m p 的分析。 第三章介绍的是w 曲s e n r i c e s 技术,主要说明了w 曲s e r v i c e s 技术的几个 基本概念及其模型。 第四章是关于手机服务系统模型及系统结构,分析了w 曲s e r v i c e s 技术在 j 2 m e 平台中的应用:t h ej 2 m e w 曲s e r v i c e s a p i s ( w s a ) ,介绍了手机m d p 应用程序开发步骤及本服务系统的需求分析,包括各子服务模块的流程结构图。 第五章是对本服务系统的分析,介绍了在客户端利用j 2 m e 进行开发时的 一些关键问题的处理:还介绍了服务器端程序的开发,即服务的开发、注册及发 第一章绪论 布。 第六章是结尾部分,对前面所做工作的总结,同时对本系统中不完善的部分 进行分析,以便在下一阶段的开发中对其进行改进。 4 第二章基于j 2 m e 的手机系统设计 第二章基于j 2 m e 的手机系统设计 2 1j 2 m e 及m i d p 2 1 1j 2 m e 简介 在j a v a 手机中使用的基本平台是j 2 m e ,手机中的基本程序称为m d p 程序或 者m d l e t 。j a v 提由s l l i lm i c r o s y s t e m s 公司所开发出的、非常适合开发网络程序 的语言。它具有简单、独立于平台、面向对象、分布式、健壮、结构中立、可移 植、解释性、高效率、多线程、动态的特征,因此j “a 发布时,在i n t e m e t 上引起 了很大轰动。 目前,j a v a 已发展到j a v a 2 。j a v a 2 平台有3 个版本,它们是:适用于小型设备 和智能卡的j a v a 2 平台m i c r o 版( j a v a 2p l a t f o 硼m i c r oe d i t i o n ,j 2 m e ) ,适用于桌面 系统的j a v a 2 平台标准版( j a v a 2p 1 a t f o n l ls t 锄d a r de d 佑0 n ,j 2 s e ) ,适用于创建服务 器应用程序和服务的j a v a 2 平台企业版( j a v a 2p l a t f o me n t e r p r i s ee d i t i o n ,j 2 e e ) 。这 三种版本从j a v a 语言的角度上是一致的,但在功能的裁减、系统的架构、应用的 环境等方面又各有特色,手机的应用都是基于j 2 m e 的。j 2 m e 、j 2 s e 和j 2 e e 三者 的关系可以用图2 1 来表示: 图2 一lj a v a 三种版本的关系 其中j 2 e e 的功能包括了j 2 s e 的功能。而j 2 s e 的功能包括了j 2 m e 的功能, j 2 m e 中还包括了s m a nc a r d ( 智能卡) 的功能 j 2 m e 是针对嵌入式设备及消费类电器的j a v a 版本。根据s l l i l 的定义:j 2 m e 是 种高度优化的j a v a 运行环境,主要针对消费类电子设备的,例如蜂窝电话和可 视电话、数字机顶盒、汽车导航系统等等。如果应用于手机( 移动电话) ,可以使 第二章基于j 2 m e 的手机系统设计 手机具有电话薄和电话铃声编辑功能、记事本功能、字典、图书、游戏、遥控家 电和定时提醒等新的应用,并能访问电子邮件、即时消息、股票和电子地图等信 息。 j 2 m e 将j a v a 语言与平台无关的特性移植到小型电子设备上,允许移动无线设 备之间共享应用程序,可以将第三方的软件方便地集成到各种设备中。 2 1 2j 2 m e 的体系结构 为了支持资源受限设备系列所要求的灵活性和可定制部署,j 2 m e 体系结构 被设计成模块化的和可伸缩的,j 2 m e 技术的这种模块化和可伸缩性是通过一个 三层软件模型来实现的,这个模型构建在设备的主机操作系统上,图2 2 显示了 j 2 m e 体系结构: 图2 五j 2 m e 体系结构 j a v a 虚拟机层( j a v a r t u a lm a c h i n el a ”r ) :这一层是j a v a 虚拟机的一 个实现,解释j a v ab ) r t ec o d e 。它是针对特定设备的主机操作系统定制的,支 持一个特定的j 2 m e 配置( c 0 f i g u r a t i o n ) 。 配置层( c o n 丘g u r a t i o nl 丑y e r ) :配置层建立了核心类库,即定义了j a v a 虚拟机功能的最小集和特定类别设备上可用的j a v a 类库的最小集。从某种程 度上说,一个配置定义了j a v a 平台功能部件和库的共同性,开发者可以假设 这些功能部件和库在属于某特定类别的所有设备上都是可用的。其功能比较 少( 比如没有u i ) ,用户不大会见到这一层,但它对描述( p r o m e ) 实现者非 常重要。 描述层( p m f i l el a y e r ) :描述层建立了高级类库,即定义了特定系列设备上 6 第二章基于j 2 m e 的手机系统设计 可用的应用程序编程接口( a p i ) 的最小集。描述在一个特定的配置上面实现。 应用程序是针对特定的描述编写的,因此可以移植到支持该描述的任何设备上。 一个设备可以支持多个描述。其功能丰富,面向垂直市场。用户和应用程序供应 商看到最多的就是这一层。在j 2 m e 设备中,j a v a 虚拟机层( j a v a r 【t l a l m a c h i n el a y e r ) 和构建于此虚拟机层之上的配置层( c 0 n 五g u r a t i o nl a y e r ) 联系 十分紧密,它们代表了某一类设备的基本能力:而在描述层( p r o f i l el a y e r ) 扩 展了配置层功能,为上层应用提供a p i ,进一步对设备分类进行了区分。一个 配置层之上可以有多个p r o f i l e 。为了满足各种各样的需求,描述层可以通过扩 充类库来增强自己的功能。 2 1 3c l d c s u n 公司将为各种硬件规模的设备提供合适的配置。这些配置包括虚拟机、 核心类库及a p i 。 j 2 m e 将所有的嵌入式设备大体上分为两种:一种是运算功能有限、电力供 应有限的嵌入式设备( 如p d a 、手机) ;另外一种则是运算能力较佳,并在电力供 应上相对比较充足的嵌入式设备( 如空调、电冰箱、电视机顶盒) 。针对这两种嵌 入式设备,设计实现了2 种配置:有限连接设各配置c l d c ( c o n n e c t e dl i 面t e d d e v i c e sc o n f i g i l r a t i o n ) 和连接设备配置c d c ( c o 衄e c t c dd e v i c ec o n f i g i l r a t i o n ) 。 其中,c d c 应用于相对内存较大、处理器能力较强的移动设备。c d c 规范采 用了内存优化的虚拟机,也就是所谓的c v m 。通过它提供等同标准j v m 的特性。 c l d c 是为手机等c p u 和内存资源远低于标准j a v a 要求的设备所提供的一种 配置,它是对j a v a 标准版本做了最大程度的缩减后得到的,其虚拟机和核心类库 多于1 0 0 k b ,采用了更轻型的虚拟机,设计为在较低内存环境下运行。这种j v m 的实现也就是所谓的k v m ( 千字节虚拟机) ,虚拟机的大小是以于字节( 1 ( b ) 度量 的。c u ) c 的设备需求如下: 最低1 6 0 l c b 的内存,其中1 2 8 l ( b 用于k v m 和运行类库; 最低1 6 位2 5 m h z 处理器: 有限的用户界面功能: 没有( 或者间歇的) 低带宽网络连接。 由于受到严格的内存容量限制,因此k v m 缺乏一些完整的m 所提供的特 第二章基于j 2 m e 的手机系刚冀 蓊;鬟需输g 辇藿塞:塞雾辇塞鋈羹囊童薹g ;薹茸萎菱妄孽薹霎囊囊霪5 纂藿蠢薹 磊霉雯蕈奏鬟褰蓍| 妻; 葡越茕謇兽幂誊苇巅型甾蛳美帮搿我烈肚跚z 刚裂裂善;器 争驯i 贸羹蔷 误剩奔it 营霉毙列封一甍瑟圳童爱昌。矽虱l ”t 囊隧隧滢两渤苇羹霎媳葑; 判醚坝 酸载啦墅蜻萌媸锄l 蒸葵钾照”踽割疆妊誊程沁驿铂芍鸶睑孤黼 明努韧趣国 w e bs en r i c e s 是一种可以为i n t e m e t 上的不同应用程序提供通用互操作性的 技术,并且将应用程序的功能作为服务提供。w 曲s e r v i c e s 基于面向服务架构 f s o a 卜_一系列服务的集合,由运行在不同平台上的松散耦合软件系统组成。 w 曲s e r vi c e s 架起了移动和固定网络融合的桥梁。 w 曲服务把一切都看作服务,这种服务可以通过在网络上使用消息传递动态 地被发现和组织。企业可以通过发布自己的w 曲服务来动态地出售它们的服 务。 w 曲服务用s o a p ( 简单对象访问协议) ,用如h t t p 的传输协议来交换 s o ap 消息。s o a p 消息事实上就是个) ( 1 l 文档,在w 曲服务和调用中传递。 w 曲服务能用任何语言编写,在任何平台上运行。w e b 服务的客户端也能 用任意语言编写,也能在任意平台上运行。考虑到j a v a 最重要的特色之一就是 程序代码能够跨平台执行,而x m l 最重要的特色是文件能够跨平台。因此,j a v a 与x ml 一直都是最佳捂档组合。w 曲s e n r i c e s 是基于x m l 的一项技术,可 见用ja v a 来开发w 曲s e r v i c e s 是我们的最佳选择之。 w 曲服务能够做到: 让任何平台上的用任何语言编写的服务进行交互。 将应用程序功能概念化成任务,从而形成面向任务的开发和工作流。 允许松耦合,这意味着,每当其中某个或多个服务在设计或实现中发生变更 时,服务应用程序之间的交互作用可能不会因此而中断。 使现有的应用程序能适应变化中的业务条件和客户需要。 向现有或原有的软件应用程序提供服务接口,而无需改变原来的应用程序, 从而使这些应用程序完全可以运行在这种服务环境下。 引入其它一些与原有功能无关的管理或操作管理功能,譬如可靠性、安全性 等等, x 第三章w 曲s e i c e s 及其在手机服务系统中的应用 3 1w e bs e r 、,i c 姻的标准与协议 w 曲s e r v i c e s 开发基于的标准涉及到一些技术,主要是订l 、s o a p 、w s d l ( w 曲服务描述语言) 和u d d i ( 通用描述,发现,集成) 【1 4 】。 3 1 1x m l 要让异构平台上不同系统能够相互通信和共享数据,必须使数据在w e b 上 传输时符合一定的标准和格式。这个标准就是l ( e x t e i l s i b l em a r k u pl a n g u a g e , 可扩展标记语言) 。 x m l 的可扩展性和灵活性,使它能够描述各种类型的应用程序中包含的数 据,这些应用从描述w 曲页面的集合到数据记录,应有尽有。此外,由于基于 x m l 的数据是自描述的,不需要内建的传入数据的描述,便能交换和处理数据。 l 作为w 曲服务的核心基础,由于它的数据描述独立于硬件平台、操 作系统、编程语言、对象模型,因而通过灵活的数据格式为企业之间的数据集成 提供了最佳选择。虽然x m l 为我们提供了标准的、可移植的商业数据描述, 成为数据转换的标准但没有标准的方法在应用系统之间交换数据【5 1 。为了解决 这些问题,在讧l 标准之上建立了一层新的标准,这正是w 曲服务标准,如 s 0 a p ( 简单对象访问协议) 、w s d l ( w 曲服务描述语言) 、u d d i ( 统一描述、 发现、集成) 以及w s f l ( w 曲服务流语言) 。 3 1 2s o a p 为使异构系统能够发送和接收这些标准的x m l 数据,从而达到相互通信的 目的,必须遵守一定的协议,这就是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 0 1 , 简单对象访问协议) 。s o a p 是种通用的、独立的、基于x m l 标准的、文本 的对象间访问协议,该协议描述如何调用一段远程代码的方法。它不与任何现有 的对象模式( 如c o m ,d c 0 m 、c o r b a 等) 相关。s q a p 传递的消息都以v i l 文档形式发送和接收,而且其实现完全遵守h t t p 协议叫烈。 s o a p 是一种x m la p p l i c a t i o n ,简单的理解,就是这样的一个开放协议 s o a p = r p c + h t t p + l :采用h t t p 作为底层通讯协议;r p c 作为一致性的 调用途径,x m l 作为数据传送的格式,允许服务提供者和服务使用者经过防火 墙在h l t c m e t 进行通讯交互 1 2 j 。 对s o a p 更深一步的理解是:s o a p 简单对象访问协议是在分散或分布式 第三章w e bs e r v i c e s 及其在手机服务系统中的应用 的环境中交换信息的简单的协议,是一个基于x m l 的协议。s o a p 消息的封 装结构如图3 1 所示: ( 可选) 用头信息 图3 1s o a p 消息的封装结构 其中,s o a p 绑定( b 幻d i n g ) 使用底层协议交换信息,如 r 丌p 、s m t p 等; s o a p 封装( e n v e l o p ) 定义了一个描述s o a p 消息中的内容是什么,是谁发送的, 谁应当接受并处理它以及如何处理它们的框架,包含一个可选的s o a p 消息头 ( s o a ph e a d e r ) 和必要的s o a p 消息主体( s o a pb o d y ) 两大部分:消息头 包含路由或者内容数据,可能为空;消息体包括实际消息,也可能为空【2 5 】。 和传统的d c o m c o m ,c o 砌j a 相比,s o a p 有以下优点: 首先,so a p 作为w 如s e r v i c e s 的基本通信协议,比它们简单的多,所以 投入和使用的代价也是小的。现在不仅有很多大公司发布的w 曲s e n r i c e s ,也有 个人发布的。 其次,s o a p 采用标准的互联网协议x m l 、h t t p 和t c p ,p ,并非私有的 协议,所以,能够更加安全的穿越防火墙。如今,m i c m s o r 、m m 、s l l i l 都在各 自的产品中添加了对s o a p 协议的支持,正是s o a p 的出现,使得采用不同架 构技术的系统的协作、交互成为可能。 3 1 3w s d l w c bs e r v i c e sd e s c p t i o nl a n g i l a g e ( w 曲服务描述语言) 的简称,是个模 板接口。如果一个w 曲服务不能被发现和调用,那么这个w 曲服务没有任 何意义。开发者必须知道w 曲服务的足够的信息才能写出一个客户程序调用 它。w s d l 是基于x m l 的,它被用来定义w 曲服务,说明如何访问它。特 别是它说明了w 西服务约定的消息和数据。通过检查一个w 曲服务的w s d l , 什么方法能调用,及如何用合适的参数调用,w s d l 会发挥最大作用。u d d i 注 第三章w 曲s e r v i c e s 及其在手机服务系统中的应用 册描述了w 如s e r 、d c e s 的绝大多数方面,包括服务的绑定细节。w s d l 可以看作 是u d d i 服务描述的子集。 w s d l 将服务定义为一个网络端点的集合,或者说端口的集合。在w s d l 里面,端点及消息的抽象定义与它们具体的网络实现和数据格式绑定是分离的。 这样就可以重用这些抽象定义:消息;需要交换的数据的抽象描述:端口类型, 操作的抽象集合。针对一个特定端口类型的具体协议和数据格式规范构成一个可 重用的绑定。一个端口定义成网络地址和可重用的绑定的联接,端口的集合定义 为服务【1 1 】。 w s d l 将w 曲服务定义成一系列的端口( p o n ) ,每个端口用来表示从抽象端 口类型0 0 r tt ) ,p e ) 到用于调用w 曲服务的具体通信协议的一个映射。端口类型由 一组与s e r v i c ed r o v i d e r 交换信息的操作组成,它支持对包含消息的数据类型的 定义。 一个完整的w s d l 服务描述是由一个服务接口和一个服务实现文档组成的。 由于服务接口表示服务的可重用定义,它在u d d i 注册中心被作为t m o d e l 发布。 服务实现文档描述服务的实例,每个实例都是使用一个w s d ls e i c e 元素定义 的。服务实现文档中的每个s e r v i c e 元素都被用于发布u 1 ) d ib u s i n e s ss e r v i c e 。 3 1 4u d d i u n i v e r s a ld e s c r i p t i o d i s c o v e r yi n t e 舯t i o n ( 统一描述发现和集成) 的简称, 是u d d i o r g 开发的个注册中心标准,用来描述、发布和发现业务开发者的 w 曲服务。w 曲s e r v i c e s 提供者必须在u d d i 服务注册中心注册,如果有一段 代码希望作为w 曲服务部署,u d d i 规范定义如何将该服务描述添加到注册中 心。如果要寻找一段提供某种功能的代码,u d d i 规范定义 髯鲆恍爸玫纳蠛斯鳎壬蠛似骰嵩诶辔募屑 入一些特殊标记或符号。这样,当这些程序放到目标平台上运行时,就可以大幅 减少在目标平台上做醴”型酸翮醒挑醚鏊缝x | 馇话筒; e s 信息。u d d i 目录说明文件也是一个x m l 文档,它包括三个部分:“白页( w 1 1 i t e p a p c r ) ”说明提供w 曲s e r v i c e s 的公司( 人) 信息,比如说名称、地址和联系方式等等;“黄页( y e l l o w p a p e r ) ”说明u d d l 目录的分类,比如说金融、服务 x 第三章w 曲s e r v i c e s 及其在手机服务系统中的应用 部署于s o a p 服务器。 服务请求者:调用w 曲s e r v i c e s 的客户端。 服务代理者:即u d d i 服务器,通过提供一个方式如服务注册,让服务提 供者和服务请求者能够对服务进行交互。 交互涉及到发布、查找和绑定三个操作: 发布( p u l 3 l i s h ) :s o a p 服务器事先要向u d d i 服务器描述及注册其实现 了的w 曲s e r v i c e s 。 查找( f d m ) :客户端再通过u d d i 和w s d l 向u d d i 服务器定位该w 曲 s e n r i c e s 的w s d l 文档。 绑定( b i n d ) :最后,客户端通过s o a p 和w s d l 调用具体的w 曲 s e r v i c e s 。 在典型情况下,w 曲s e r v i c e s 的工作机制为:服务提供者托管可通过网络访 问的软件模块( w 曲s e i c e s 的一个实现) ,服务提供者定义w 曲服务的服务 描述并把它发布到服务请求者或服务注册中心,服务请求者使用查找操作来从本 地或服务注册中心检索服务描述【钔,然后使用服务描述与服务提供者进行绑定并 调用w 曲服务实现或同它交互。图3 3 显示了这些操作、提供这些操作的组 件及它们之间的交互: 图3 3w 曲s e r “c 船的工作机制 3 3 传统的分布式计算应用程序和w 曲s e r v i c e s 的比较 w e b 服务是一种分布式计算体系结构,被设计和指定用来促进跨平台的程序 对程序通信。它本质上是一种消息传递体系结构,通过让松散耦合的应用程序能 共同协作来发挥作用。能够在完全不同的系统操作环境程序语言( 跨平台) 1 9 第三章w 曲s e r v i c e s 及其在手机服务系统中的应用 间传送包含x m l 数据的消息【2 7 l 。 传统的分布式计算应用程序的设计要依赖程序员“告诉”应用程序到哪里找 到对方,以便共享信息或执行合作性任务。应用程序的这种“硬性联系有它自己 的优点( 例如,如果应用程序间都互相熟悉,就更容易执行安全性检查) 。修正 一个崩溃的应用程序会比较容易,因为您一直都知道合作应用程序模块驻留在何 处。与w 曲服务体系结构相比,使用传统的分布式计算应用程序开发方法会在 服务质量、安全性、隐私权、数据完整性和复杂事务处理方面提供一定的安全防 护。传统的分布式计算应用程序知道它们与之合作的应用程序的位置( 这意味着 一定的“安全性”保证) ;传统的分布式计算应用程序知道它们的伙伴应用程序如 何操作( 这意味这它们能够确保应用程序间可靠的会话,并且能够确保性能特征 达到一定的程度) ;传统的分布式计算应用程序天生更易于管理( 因为两端都是 已知的) 。出于所有这些原因( 安全性、可靠性、服务保证) ,传统的分布式计算 方法已经在企业计算中占据了优势地位( 在企业内部与外部的b 2 b 业务伙伴之 间都是如此) 【7 j 。 但这种“硬性联系”也有其缺点:应用程序需要程序员来告诉它如何找到对 方、如何互相通信,并且还需要长期的管理修订:同时,构建传统的分布式计 算应用程序通常比较困难并且有些不方便,因为程序员需要花大量的时间定义互 相合作的应用程序之间的连接和关系。 另一方面,和传统的分布式计算应用程序相比,w 曲s e n ,i c e s 具有以下一些 优点:构建w 曲s e n r i c e s 应用程序更简单,因为开发者不需要花大量的时间定 义哪里可以找到合作应用程序,也不需要花时间定义允许它们进行通信的规则。 w e bs e i c e s 的应用程序的维护也可能更容易例如,假如传统的分布式计 算应用程序的一方崩溃,那么两方的应用程序都会崩溃( 这种情况通过w 曲服 务很容易就可以解决,因为可以动态查找替补应用程序,并且它们可以自动运 行) 。w e bs e r v i c e s 应用程序还提供了一定级别的灵活性和互操作性,这些都是 使用传统的方法构建高度集成的、跨平台的、程序对程序通信环境所能提供的灵 活性和互操作性无法与之相比的。 因此我们可以得出下列结论: 传统的方法相对麻烦一些( 但天生可靠、安全并且性能可调优) 。 第三章w 曲s e i c e s 及其在手机服务系统中的应用 w 曲s e i c e s 会提供一些好处,比如动态查找和异构互操作性以及跨平台互 操作性( 但可能要求组织查找和集成用于安全性、可靠性、可管理性和其它任务 关键的用途的补充软件) 。 这两种方法都有效,也都正确。我们在使用时,需要根据实际情况进行选择: 有些应用程序更适合传统的方法( 例如,要进行大批量处理的应用程序和金融业 交易) :而另一些应用程序则可能适合w 曲s e r v i c e s 的应用程序( 面向消息的应 用程序) 。 3 4j a v aa p i sf o rx m l - b a s e dr e m o t ep r o c e d u r ec a n ( j a x r p c ) j a x r p c 定义了j a v a 开发者在他们的开发和应用w 曲服务的应用中用 到的j a v a 应用接口。一个j a v a 客户端能应用在i n t e m e t 上的一个远程服务器 上的个w 曲服务。即使这个服务在另一种平台,用另一语言编写,一个 j a x r p c 服务也能被非j a v a 客户端应用【9 l 。 j a x r p c 用一种幢l 消息协议,诸如s o a p ,通过网络来传递一个远程 过程调用。例如,一个返回股票查询的w 曲服务将收到个包括客户端的方法 调用的s o a ph t t p 请求。用j x a r p c ,服务将从s o a p 消息里解开方法调 用,把它转换成方法调用,接着调用它。接着服务用j a x 舢c 把回复方法转换 成s o a _ p ,把结果返回客户端。客户端收到s o a p 消息,用j a x 。r p c 转换成 一个回复【1 0 。 c 悟n ls e r v e r 。_ - 。- 啊e s | 需) 一亩 f j b 口s i 1 一l j 啊 7 i r 0 3 p o n , 哺m e = 1 、h t t p ,j:i :- 譬童 。、一一。 一。 图3 4j a x r p c j a x r p c 运行时生成允许客户和服务通讯的s t u b s 和t i e s 。一个s t u b 在客户端,代表一个远程服务,作为一个服务的代理。一个t i e ,在服务器端, 作为服务器端的代理( 如图3 4 所示) 。正是这样,客户端和服务器端进行通信 2 l 三圈圜 墼至! i 里竺! ! 型堡! ! 垦基垄王塑塑墨墨堑主塑堕旦 和交互操作。 第四章手机服务系统模型及系统结构 第四章手机服务系统模型及系统结构 4 1 手机服务系统模型 4 1 1t h ej 2 m ew 曲s e “i c e sa p i s ( w s a ) 概述 t h ej 2 m ew 曲s e r v i c e sa _ p i s ( w s a ) 把w e bs e r v i c e s 平台扩展到了j 2 m 巳 上。j 2 m ew 曲s e r v i c e s a p l s 提供了由标准w 曲s e i c 豁平台组成的编程模式, 使j 2 m e 设备可以成为w 曲s e r v i c e s 客户端。w s a 被设计用于j 2 m e 基于 c o n n e c t e dd c v i c ec o n f i g u r a t i o n ( c d c ) 或c o n n e c t e dl i 【n 诬e dd e v i c ec o n f i g u r a t i o n ( c l d c1 3 或c l d c1 1 ) 的p r o f i l e s 。其目标是在设备运行环境中集成对w 曲 服务调用和l l 解析的支持,以便开发者不需要在每个应用程序中都包含进 这类功能,因为如果那样将使资源有限的设备( 如手机、p d a 等) 不堪重负。 有了通信技术、互联网的发展,我们可以想象某一天我们能够使用任何设备 ( p d a 、计算机、手机) 、在任何时间、任何地点获得所需要的任何服务( 接收 邮件、购物、股票查询等) ,这就是s u n 公司推崇的为客户提供“按需服务( s e i c e o nd e m a n d ) ”的理念。要实现“按需服务”,就需要采用w 曲s e r v i c e s 的机制作 为技术框架,如图4 1 所示。 图4 1j 2 m e 和w 曲s e r v i c e s 结合的系统结构 如何真正地将移动设备融入到w e bs e r v i c e s 中去昵? 首先需要使得p d a 、 手机等成为、v e bs e r v i c e s 的客户端,那么这些设备至少应该具有处理x m l 信 息的能力。在没有j s r l 7 2 之前,我们使用的是k s o a p 和m d p 合作完成 j 2 m e w e bs e i c e s 的开发。k s o a p 是专门为k v m ( 即基于c l d c ) 开发的支 持s o a p 的一个开放源码项目( 参见h t t p :他s o 印e n h y d r a o r g ) ,我们可以引 用k s o a p 中提供的第三方类库来支持w e bs e r v i c e s 。而在有了j s r1 7 2 的支持 第四章手机服务系统模型及系统结构 以后,我们可以不再使用k s o a p 了,而且j s r l 7 2 既可以在c l d c 也可以在 c d c 上工作n 首先,该规范的制订是为了给j 2 m e 平台增加两大功能:一是使其能够远 程访问基于s 0 a p m l 的w 曲s e r v i c e s :二是使其具有解析“l 数据的能 力。为了实现这两大功能,j s r l 7 2 新定义了提供相应功能的两个可选包。这两 个包占用内存非常少,订l r p c 部分大概需要2 5 3 0 k b 的空间,而v i l 解 析器则需要3 5 k b 左右。需要强调的是,规范中只提供了对客户端访问w 幻 s e r v i c e s 的支持,而没有给j 2 m e 设备以作为w 曲s e r v i c e s 提供者的能力,这 也是从j 2 m e 设备只具有有限资源这个实际情况出发来考虑的。 当然,j 2 m ew 曲s e r v i c e s 由于其所在平台的特殊性,相对“真正的”w 曲 s e r v i c e s 来说,还存在着很多的限制。比如在规范的第一个版本,只对j a x 珊c 的模型提供支持,也就是说仅支持同步的访问方式,使用j 2 m e 客户端可以向 服务器发送r p c 请求和获得r p c 响应。而对异步的消息机制还没有提供支 持。另外,j s r l 7 2 还没有对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 wa 1 1 d h l t e 乒a t i o n ) 的支持,也就是说m d l e t 无法在运行中动态地“发现 、曲s e n ,i c e s 。 不过这一点可以通过使用开发工具,利用w s d l ( w e bs e i c e sd e s c r i d t i o n l a i l g i i a g e ) 的定义产生s t u b 的方式“静态”地来解决。 4 1 2j 2 m e 平台上的w e b 服务的模型 j s r1 7 2 确定了在典型的w 曲服务架构中使用j 2 m e 应用程序消费远程 服务的一种标准的客户端技术。图4 2 是j 2 m e 访问w 曲服务的一个架构图。 图4 2 w 曲服务架构中的j 2 m e w e b 服务 从高层结构说,这个w 曲服务架构有三个元素: 第四章手机服务系统模型及系统结构 一个在支持w s a 的无线设备上可联网的应用程序。这个应用程序包括了 j s r1 7 2 的s t u b ,s t u b 通过j s r1 7 2 运行时环境与网络通信。 无线网络与h l t e m e t ,以及相应的通信与数据编码协议,包括二进制协议, h t t p 和s o a p x m l l l3 l 。 一个w 曲服务器,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 德州数学新课标考试题及答案
- 天文系考试题目及答案
- 时空量子纠缠-洞察及研究
- 2025年公需科目人工智能与健康试题及答案
- 2025年公需科目考试试题集及答案
- 2025年公需科目《专业技术人员创新能力培养》题库(含答案)
- 2025年高级电工证考试试题含答案
- 系统实施与管理办法
- 人道救助管理办法无锡
- 蜀绣地标保护管理办法
- 豌豆栽培种植技术
- 3.1生活在新型民主国家 教案 -2025-2026学年统编版道德与法治九年级上册
- 内镜中心课件
- 脑血管造影进修汇报总结
- 2025年运城社区专职工作人员招聘真题
- 钢材供货方案及保证措施范本
- 急性出血性疾病的早期识别与处理
- JJF 2258-2025关联法天然气发热量测定仪校准规范
- 2025秋统编版(2024)道德与法治一年级上册教学计划
- 2024中国地质大学(武汉)辅导员招聘笔试真题
- 科创板开户测试题及答案
评论
0/150
提交评论