(系统分析与集成专业论文)web+services在gis系统中的应用.pdf_第1页
(系统分析与集成专业论文)web+services在gis系统中的应用.pdf_第2页
(系统分析与集成专业论文)web+services在gis系统中的应用.pdf_第3页
(系统分析与集成专业论文)web+services在gis系统中的应用.pdf_第4页
(系统分析与集成专业论文)web+services在gis系统中的应用.pdf_第5页
已阅读5页,还剩61页未读 继续免费阅读

(系统分析与集成专业论文)web+services在gis系统中的应用.pdf.pdf 免费下载

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

文档简介

摘要 当前,g i s 应用越来越广泛,越来越复杂,各种各样的g i s 平台层出不穷。 由于g i s 平台多样化,g i s 软件和g i s 数据都不能很好共享,即使在同一个平台 下的数据和软件共享都存在诸多问题,导致形成目前g i s 开发和应用中存在许多 “信息孤岛。虽然o g c ( o p e ng e o s p a t i a lc o n s o r t i u m ) 公司提出了基于o p e ng i s 的互操作规范、分布式计算技术、w e b 服务技术等,但是其应用还不广泛。因此, 将各种g i s 平台的应用和g i s 数据整合起来,消除“信息孤岛 ,成为我们关注 的的焦点。 本文就w e bs e r v i c e s 在g i s 系统中的应用模型及在实际中的应用进行了详细 的探讨。结合作者所参与的“贵阳市经济开发区安监g i s 平台 ,对如何进行 w e bg i s 和c s g i s 设计进行分析。并在此基础上,结合日趋成熟的w e bs e r v i c e s 技术,在同构平台( e s r i ) 下,对软件和数据的整合作了初步尝试。研究工作主要 涉及以下方面: 1 、本文对w 曲s e r v i c e s 技术作了详细阐述,重点分析了w e bs e r v i c e s 在j a v a 和n e t 平台下实现的机制和原理。同时结合项目实例,总结了如何在n e t 平台 下实现w e bs e r v i c e s 技术; 2 、经过在对o g c 公司的o p e ng i s 互操作规范作深入研究之后,结合e s r i 公 司的g n e t 体系架构和a r cs e r v i c e s ,提出了基于a r cs e r v i c e s 的g i s 服务模型。 3 、结合作者参与的“贵阳市经济开发区安监g i s 平台”,通过设计了一个原型 系统,初步验证了w e bs e r v i c e s 在e s r i 架构下整合数据和服务的可行性。 关键词:地理信息系统;组件式g i s ;w e b 服务;a r cw e b 服务 a bs t r a c t a tp r e s e n t ,t h ea p p l i c a t i o no fg i s ( g e o g r a p h i ci n f o r m a t i o ns y s t e m ) i sm o r e w i d e l yu s e da n dm o r ec o m p l e x ,a tt h es a m et i m e ,t h eg i sp l a t f o r mi se m e r g ei n e n d l e s s l y t h e r ea r em a n y “i n f o r m a t i o na n o d e s ”i ng i sr e s e a r c ha n dg i sa p p l i c a t i o n , b e c a u s eo ft h eg i ss o f t w a r ea n dg i sd a t ai sn o tw e l ls h a r e d ,e v e nt h o u g hi nt h es a m e g i sp l a t f o r m a t h o u g ht h eo g c ( o p e n g e o s p a t i a lc o n s o r t i u m ) p r e s e n t st h e i n t e r o p e r a b i l i t ys t a n d a r d s ,d i s t r i b u t e dc o m p u t i n gt e c h n o l o g y ,w e bs e r v i c e s t e c h n o l o g ya n ds oo n ,t h e r ei sn o tw i d e l yu s e d t h e r e f o r e ,h o wt oi n t e g r a t eg i s a p p l i c a t i o na n dg i sd a t aa n de l i m i n a t et h e “i n f o r m a t i o na n o d e s h a v eb e c o m eo u r f o c u s t h i sa r t i c l et a k et h eg i sp l a t f o r mo fg u i y a n gp r o d u c t i o ns a f e t yb u r e a ua sa l l e x a m p l e ,w es t u d yt h ea p p l i c a t i o nm o d e lo fw e bs e r v i c e si ng i ss y s t e ma n dp r a c t i c a l u s ea n da n a l y z eh o wt od e s i g nt h ew e bg i sa n dc sg i s o nt h eb a s i so ft h es t u d y , w ei m p l e m e n tg i ss o f t w a r ea n dg i sd a t ai n t e g r a t eu n d e rt h es a m ep l a t f o r m ( e s r i p l a t f o r m ) w i t ht h em a t u r i n gw e bs e r v i c e s r e s e a r c hw o r km a i n l yi n v o l v e st h e f l o w i n g : 1 、t h i sp a p e rd e s c r i b e st h ew e bs e r v i c e st e c h n o l o g y ,f o c u s i n go nt h em e c h a n i s m a n dt h e o r yo fw e bs e r v i c e su n d e rt h ej a v aa n d n e tp l a t f o r m ,a n dm a k e sa c o n c l u s i o no nh o wt oi m p l e m e n ti tu n d e r n e tp l a t f o r m 2 、a f t e rs t u d y i n go p e ng i si i l t e r o p e r a b i l i t ys t a n d a r d so fo g c c o n s o r t i u m ,w e d e s i g nag i ss e r v i c e sm o d e lw h i c hb a s e do na r cs e r v i c e sw i t hb o t hg n e ts y s t e m f r a m e w o r ka n da r cs e r v i c e so f e s r i c o m p a n y 3 、w ed e s i g nap r o t o t y p es y s t e mw h i c hi sb a s e do nt h eg i sp l a t f o r mo fg u i y a n g p r o d u c t i o ns a f e t y b u r e a u ,w ei n i t i a l l yv e r i f yw e bs e r v i c e sf e a s i b i l i t y a b o u t i n t e g r a t i n gd a t aa n ds e r v i c e su n d e r t h ee s r i p a l t f o r m k e yw o r d :g i s ( g e o g r a p h i ci n f o r m a t i o ns y s t e m ) ;g i sb a s e do nc o m p o n e n t ; 嘲e bs e r v i c e s ;a r cs e r v i c e s i i 湖北大学学位论文原创性声明和使用授权说明 原创性声明 本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所 取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任 何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡 献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的 法律后果由本人承担。 论文作者签名:殊聚黝1 日期:嵋年多月咖日 学位论文使用授权说明 本学位论文作者完全了解学校有关保留、使用学位论文的规定,即: 按照学校要求提交学位论文的印刷本和电子版本;学校有权保存学位论 文的印刷本和电子版,并提供目录检索与阅览服务;学校可以允许采用 影印、缩印、数字化或其它复制手段保存学位论文;在不以赢利为目的 的前提下,学校可以公开学位论文的部分或全部内容。( 保密论文在解 密后遵守此规定) 作者签名:枷1日期:伽8 萝汹 指导狮签名:也怜日期:圳 1 引言 1 1 选题背景 1 1 1 研究g i s 服务的意义 1 引言 一直以来,g i s 作为一种采集、存储、处理、分析和表达现实世界地理空间 信息的高级手段,为我们的国民经济和社会生活提供了很大的帮助。伴随着 i n t e r n e t 技术应用的日益普及和网络带宽的迅速拓展,我们很自然地希望在 i n t e r n e t 这片改变着我们生活方式的神奇土地上,播种我们的g i s 技术,使二者 结合,从而诞生出一种可以使我们各个不同的机构、组织和部门问充分协同工作、 共享信息资源的全新的g i s 应用模式【。 随着分布式计算和w e b 服务( w e bs e r v i c e s ) 的发展,g i s 技术正在蓬勃兴 起,而且正朝着建立i n t e r a c t 共享网络,最终创建数字地球的方向发展。 w e b 服务为g i s 开拓了一项新的应用途径。那些传统的需要用桌面g i s 和 客户端完成的工作将不但不会改变,反而随着高速运算能力的提高使得桌面解决 方案不可缺少,w e b 服务为g i s 应用增加了在服务器端g i s 的服务,而且可以 多服务集成。g i s 服务可以为我们的用户提供一种经济有效地对外部资源进行存 储、管理和获取选择集的方式,因为这些资源在内部难以获取或者难以有效地维 护。同时也给那些想用g i s 服务来代替获取、开发和维护自己数据库的用户提供 一种通用的服务,它不仅可以为用户节省成本,还可以共享和均衡中心地理数据 资源库。 1 1 2 传统gis 数据存在的问题 现在,人们应用g i s ( g e o g r a p h yi n f o r m a t i o ns y s t e m ) 的方式,是一种“小 而全 或“大而全 的方式,无论空间数据还是g i s 功能,都必须拿到属于自己 的机器或网络空间中来才能使用,各种花费了大量投资建立起来的数据库和应用 方案,基本上都孤立地存在着,很难方便地共享和互通,因而造成整个网络资源 湖北大学硕十。何论文 的巨大资源浪费。 虽然学多机构和各级政府部门都先后建立起了自己的g i s 系统,但而这些系 统,多数还停留在“部门g i s 一级。尽管各机构和部门都有自己的信息中心, 由于体制和管理上的原因,这些信息中心往往不是一个外向的信息集散之地,而 是一个内向的信息“黑洞”,也就是所谓的“信息孤岛”。这种信息是只进不出或 易进难出,部门与机构之间信息的相对独立使得信息共享还只是流于表面,甚至 说有时候从一个部门获取数据信息的代价还要高于自己重新搞一套自己的数据, 于是又凭空多了一个难得联络起来的“孤岛 。 1 2 当前w e b 技术的热点 随着i n t e r n e t 技术的发展,当前软件技术出现了三个显著的特征:面向对象、 面向网络和数据库支持,这三者的结合为w e b 应用系统在内的许多应用带来了 新型的分布式计算结构。 w e b 服务是一种优秀的分布式计算技术,在i n t e m e t 或者i n t r a n e t 上通过使 用标准的x m l 协议和信息格式来展现商业应用服务。使用标准的x m l 协议使 得w e b 服务平台、语言和发布者能够互相独立。通过开放的i n t e m e t 标准: s o a p ( s i m p l eo b j e c t a c c e s s p r o t o c o l ,简单对象访问协议) ,w s d l ( w e b s e r v i c e s d e s c r i p t i o nl a n g u a g e ,w e b 服务描述语言) 和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 r ya n di n t e g r a t i o n ,统一描述、发现和集成规范) ,w s f l ( w e b 服务f l o w l a n g u a g e ,w e b 服务流语言) ,w e b 服务消除了现有应用集成方案如c o r b a 和 d c o m 中的互用性问题,是应用集成g i s 服务的一个理想解决方案。 1 3 国内外研究现状 美国e s r i 公司应用最新的w 曲服务技术框架【2 】,构建了一个网络服务体系 雏型一a r cw 曲u s a l 3 1 ,目前在a r cw e bu s a 上可以提供4 0 种g i s 相关的w 曲 服务,并且这种服务还在不断增加。客户端的应用可以通过i n t e m e t 访问远端的 a r cw e b 服务,实时执行诸如高级制图、地址匹配、地名查找、路径优化等功能, 而无需在本地设置相应的数据、应用服务环境和功能。a r cw e bs e r v i c e 通过s o a p 协议与客户端和其他的w e b 服务进行交流、通信,任何第三方开发的应用服务, 夕 1 引言 只要支持s o a p 等相关协议,就可以为其客户端l 日j 接地提供由a r cw e bs e r v i c e 提供的服务。 美国的g e o g r a p h yn e t w o r k 是基于开放的和互操作的网络环境建立的,因此 它使互操作和共享成为可能。g e o g r a p h yn e t w o r k 可以被认为是基于g i s 的网络 服务的一个成功案例,它正在不断的发展并且不断有更多的服务添加进来。它是 人们真正建立全球空间数据基础框架的首次尝试。目前发布了大约3 0 0 0 个基于 元数据服务器的服务,使人们在每一个数据交换中查询和挖掘数据。 国家信息中心北京方位捷讯科技有限公司开发的地理空间信息共享服务体 系由元数据服务、数据共享交换服务、应用集成服务、负载均衡服务、支付网关、 系统管理工具、服务组件、基础数据发布服务( w e bg i s ) 、海量数据管理中间 件、数据库、以及操作系统构成。其先进性表现在系统兼容了当今最先进的w e b 服务体系、网格体系、c + + 、j a v a 、x m l 等主流技术。利用该服务体系搭建的 交换网络,用户可以快速准确地查找到所需的信息,由于解决了公共的基础的数 据问题,因此用户可以方便地搭建自己的应用系统。 除此之外,中国科学院遥感应用研究所的王兴玲,杨崇俊提出了一种使用 w e b 服务来代替传统w e bg i s 的三层体系结构中的g i s 应用服务器设计并实现 了一个基于n e t 的地图服务原型系统【4 1 。该系统主要由x m l 数据库存储,地图 服务和地图可视化三部分的关键技术构成。 1 4 论文结构安排 论文共分五章。 第一章引言。介绍选题背景、当前w e b 技术的热点和w e bg i s 在国内外的 研究现状。 第二章w e bs e r v i c e s 技术的研究与分析。对当前技术热点w e bs e r v i c e s 的 技术和规范做详细研究。 第三章基于w e bs e r v i c e sg i s 模型的研究。主要包含g i s 技术研究和探讨 和基于w e bs e r v i c e sg i s 模型的研究,本章在研究g i s 技术同时结合e s r iw e b g i s 模型,构建了在实际应用中基于w e bs e r v i c e s 的g i s 服务模型。 第四章原型系统的设计、开发与应用。设计和开发基于w e b 服务的g i s 综 3 湖北人学硕十学位论文 合服务原型系统。同时也结合“贵阳市经济开发区安监内部应急救援平台”项目 探索g i s 服务模型的应用与实践情况。 第五章结论与展望。总结论文研究成果、存在的问题及进一步研究的方向。 4 2w e bs e r v i c e s 技术研究与分析 2w e bs e r v i c e s 技术研究与分析 2 1w e bs e r v i c e s 的兴起 随着w e b 应用的不断发展,人们发现在w e b 应用和传统桌面应用之间存在 着连接鸿沟,我们不得不重复的将数据在w e b 应用和传统桌面应用之间迁移, 从而形成了进入主流工作流的一个巨大障碍。而基于x m l 的w e b 服务技术则正 是针对这一严峻问题的最佳解决方案。 2 1 1 计算模型的发展过程 最初,由于个人计算机尚未普及,并且计算机价格都比较昂贵,一般采用主 机模式来进行计算。随着分布式概念的提出和微机功能的增强,出现了两层c s 计算模型。这种模型把一些非关键的任务( 比如图形界面的显示,数据显示格式 的确定,数据的处理等等) 放到客户端执行,这样就相对减轻了服务器的负担。 但是这种模型一般是基于局域网范围内进行的,而且缺乏可伸缩性、可移植性、 性能差、效率低。 随着i n t e r n e t 和电子商务的发展,出现了基于数据库服务器应用服务器浏 览器的三层计算模型。这种模型是基于i n t e r n e t 进行的,客户端统一以浏览器的 形式表现给用户,用户通过m 协议把任务提交给w e b 服务器,w e b 服务器 通过和数据库和应用服务器的交互,把结果通过椰协议传递给客户端,然后 客户端再通过浏览器显示结果。在这种模式下的关键是数据传递的安全性和事务 性这两个问题,因为h t t p 本质是一个无状态的连接,所以事务处理就变得非常 重要,同时由于整个业务是基于全球网络体系结构的,因此安全性成为一个相当 值得关注的问题。 现在,三层架构已经拓展到n 层架构,它将中间处理中最复杂的商业逻辑 这一逻辑层进行了进一步的细分,使得那些更复杂的、吞吐率要求更高的w e b 应用能够更有效地实施和部署。n 层结构已经成为架构w e b 服务端应用的标准 模式。 5 湖北大学硕+ 学位论文 2 1 2w e bs e r v i c e s 发展的道路 当前,w e b 服务已经在全球引发了一拨i t 浪潮,无论是平台供应商、解决 方案供应商、技术供应商,还是服务提供商都纷纷在自己的平台、解决方案以及 服务中加入w e b 服务,致力于推广w e b 服务的全面应用。我们可以这样预计 w e b 服务技术的发展过程:各大技术厂商从需求出发,合作定义相关w e b 服务 标准,然后在各自的平台上实现该标准,从而达到这一标准所赋予的互操作性; 随着互操作应用产生新的商业需求,从而合作定义新的w e b 服务标准,更新技 术,循环往复、周而复始,从而形成一种良好的w e b 开发环境。 2 2w r e bs e r v i c e s 2 2 1w r e bs e r v i c e s 的定义 w e b 服务是描述了一些操作的接口,通过标准化的x m l 消息传递机制,可 以通过网络访问这些操作。w e b 服务是用标准的、规范的基于x m l 的w s d l 语言描述的,这称为w e b 服务的服务描述。 2 2 2w e bs e r v i c e s 的技术架构 一个完整的w e b 服务体系需要有一系列的协议规范来支撑,从而实现松散 耦合环境下的对象访问,以及在基本对象访问之上的诸如事务、工作流、安全机 制等等。表2 - 1 显示了整个w e b 服务的技术架构 6 2w e bs e r v i c e s 技术研究与分析 表2 1w e bs e r v i c e s 技术架构 r o u t i n g ,r e l i a b i l i t ya n dt r a n s a c t i o n w s r 、w s s s e r v i c ef l o ww s f l s e r v i c ed i s c o v e r y , i n t e g r a t i o n u d d i 暮 o o 盒 量 3 管鼋 s e r v i c ed e s c r i p t i o nw s d l 口口 。 嚣星 置 x m l - b a s e dm e s s a g i n gs o a p 。 量 芒 t r a n s p o r th t t p 、s m t p 、f t p i n t e m e t i p v 4 、i p v 6 其中,底部是先前已经定义好的并且广泛使用的传输层和网络层的标准:口、 哪p 、s m t p ( s i m p l em a i l t r a n s f e rp r o t o c o l ,简单邮件传输协议) 等【5 j ;中间部分 是目前开发的w e b 服务的相关标准协议,包括服务调用协议s o a p 、服务描述协 议w s d l 和服务发现与集成协议u d d i 以及服务工作流描述语言w s f l ;顶部 描述的是更高层的待开发的路由、可靠性以及事务等方面的协议;而右边的部分 包括安全性、可管理性、服务质量是各个协议层的公有机制,需要在各个层次都 有所体现。 应当指出,这里的分层只是概念性的分层,而不是实际的分层。例如,w s d l 并没有在s o a p 的项层,而是用来描述w e b 服务的s o a p 接口的内容。 2 2 3w e bs e r v i c e s 体系架构模型 w e b 服务体系结构提供了三种角色之间的交互,它们是服务提供者、服务注 册处和服务请求者。交互具体涉及到发布、查找和绑定操作。这些角色和操作一 起作用于w e b 服务构件 6 1 1 7 1 。 7 湖北人学硕十学位论文 图2 2w e b 服务的实现模型 w e b 服务最典型的实现模型就是服务提供者为w e b 服务定义服务说明,并 将其发布给服务请求者或服务注册处;服务请求者从本地或服务注册处查找服务 说明,并使用服务说明中的信息与服务提供者实现绑定,然后与w e b 服务进行 交互,调用其中的操作。服务提供者和服务请求者是w e b 服务的逻辑基础,一 个w e b 服务既可以是服务的提供者,也可以是服务的请求者。图2 2 显示了这 些操作、提供这些操作的模块和它们之间的交互。 ( 1 ) w e b 服务的角色 服务提供者。从企业的角度看,它是服务的所有者。从体系结构的角度 看,它是指提供服务访问的平台。 服务请求者。从企业的角度看,这是要求满足特定功能的企业。从体系 结构的角度看,它是查找和调用服务的应用程序。服务请求者角色可以 由浏览器来担当,也可以由人或无用户界面的应用程序来控制。 服务注册处。它是可搜索的服务描述注册中心,服务提供者向这里发布 它们的服务说明;服务请求者在这里查找服务,获得服务的绑定信息, 在开发时刻实现静态绑定或在运行时刻实现动态绑定。对于静态绑定的 服务请求者来说,服务注册处是可选的,因为服务提供者可以直接向服 务请求者发送一份服务说明,而服务请求者可以通过除服务注册处之外 的其它渠道获得服务说明,如:本地文件、f t p 文件、w e b 站点、a d s 8 2w e bs e r v i c e s 技术研究与分析 文本文件( 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 ) 或者d i s c o 文件 ( d i s c o v e r yo fw e b s e r v i c e s ) ( 2 ) w e b 服务的行为 对于利用w e b 服务的应用程序,必须发生以下三个行为:发布服务描述、查 找服务描述及根i 1 1 务描述绑定或调用服务i8 1 。这些行为可以单次或多次出现。 发布。为了能够访问服务,必须首先发布服务说明,服务的请求者才能 够找到它。到底把服务说明发布到哪里,或者以什么方式发布,这是由 应用程序的具体要求决定的。 查找。在查找操作中,服务的请求者可能会直接得到服务说明,也可能 会向服务注册处查询服务说明的位置。查找操作可以出现在服务请求者 生命周期的两个不同阶段:设计时刻和运行时刻,前者获得服务的接口 说明用于程序的开发,后者获得服务的绑定和定位说明用于服务的调 用。 绑定。在绑定操作中,服务请求者在运行时刻使用服务说明中的绑定信 息定位、连接和调用服务,启动与服务的交互,调用服务的方法。 ( 3 ) w e b 服务的产品 w e b 服务中会出现两个产品,一个是服务,另一个是服务描述。 服务。w e b 服务是一个由服务描述语言描述的接口,而这个接口的实现 就是服务本身。服务是个软件模块,它部署在由服务提供者提供的可 以通过网络访问的平台上。服务的存在目的就是要被服务请求者调用或 者同服务请求者交互。 服务描述。服务描述包含服务接口和实现的细节,包括数据类型、操作、 绑定信息和网络位置。还可能包括可以方便服务请求者发现和利用的分 类及其他元数据。 2 2 4w e bs e r vic e s 对象特征 从外部使用者的角度而言,w e b 服务是一种部署在w e b 上的对象组件,它 具备以下特征【8 l : 9 湖北人学硕十学位论文 良好的封装性 w e b 服务是一种部署在w e b 上的对象,自然具备对象的良好封装性。 松散耦合 当w e b 服务的实现发生变更时候,只要调用者的调用接口不变,w e b 服务 的实现变更对调用者是完全透明的。w e b 服务通过x m l s o a p 作为消息交换协 议保持其松散耦合。 使用标准协议规范 作为w e b 服务,其所有公共的协约完全需要使用开放的标准协议进行描述、 传输和交换。这些标准协议具有完全免费的规范,以便由任意方实现。一般而言, 绝大多数规范将最终有w 3 c 或o a s i s ( o r g a n i z a t i o nf o rt h ea d v a n c e m e n to f s t r u c t u r e di n f o r m a t i o ns t a n d a r d s ,结构化信息标准促进组织) 作为最终版本的发 布方和维护方。 高度可集成能力 由于w e b 服务采取简单的、易理解的标准w e b 协议作为组件界面描述和协 同描述规范,完全屏蔽了不同软件平台的差异,无论是c o r b a 、d c o m 还是 e j b ( e n t e r p r i s ej a v a b e a n s ) 都可以通过这一种标准的协议进行互操作,实现了当前 环境最高的可集成性。 2 3x m l x m l 是w e b 服务的关键技术,s o a p 、w s d l 和u d d i 都是基于x m l 的。 s o a p 使用x m l 作为其数据编码的格式。w s d l 使用x m ls c h e m a 来描述w e b 服务的结构。u d d i 使用x m ls c h e m a 定义注册表的结构,使用s o a p 指定与 注册表的通信。 2 3 1 了解x m l 可扩展标注语言x m l 作为一种新的i n t e r n e t 上的数据交互标准,其开始设计 时的主要目的是用来弥补h t m l 作为i n t e r n e t 上描述数据的语言的不足。无论 h t m l 还是x m l ,都是从s g m l 演化而来的。s g m l 上完备的,但是它过于复 杂繁琐的定义使它不可能被运用在i n t e r n e t 上。x m l 作为s g m l 的最小完备集, 1 0 2w e bs e r v i c e s 技术研究与分析 集成s g m l 的强大功能而去掉了繁琐的定义。h t m l 是一种静态的页面表现机 制,只涉及了简单页面文档及其相关媒体数据在i n t e m e t 上的存储和传输。 x m l 是s g m l 的一个子集,而h t m l 是s g m l 的一个具体应用实例,同 样,h t m l 也是x m l 的一个应用实例,具体地来说,h t m l 是由x m l 或s g m l 定义出来的。目前x m l 已经开始被广泛地采用,并且得到越来越多的数据库、 i n t e r n e t 软件厂商的支持。 x m l 主要有三个要素1 9 1 :x m l s c h e m a ,x s l ( e x t e n s i b l es t y l es h e e tl a n g u a g e , 可扩展样式语言) 和x l l ( e x t e n s i b l el i n kl a n g u a g e ,可扩展链接语言) 。x m l s c h e m a 规定了x m l 文件的逻辑结构,定义了x m l 文件中的元素、元素的属性 以及元素和元素之间的关系,它可以帮助x m l 分析程序校验x m l 文档是否有 效和具有良好的格式。x s l 是用于规定x m l 文档样式的语言,它能在客户端使 w e b 浏览器改变文档的表示方法,从而不需要再与服务器进行通信。x m l 将进 一步扩展目前w e b 上已有的简单链接。 2 3 2x m l 的特蒯1 0 1 可扩展性:文档通过d t d 或x m ls c h e m a 来定义文档结构,使其他信 息系统自动了解文档的内容。 结构性:h t m l 不支持深层的结构描述;而x m l 的文件结构嵌套可以 复杂到任意程度,能表示面向对象的等级层次。 可校验性:用户可以通过d t d 或x m ls c h e m a 1 1 来校验x m l 文档的 格式是否满足d t d 或x m ls c h e m a 的约束。 自描述性:这个特性使差异性可以存在,使计算机可以在没有人为干涉 的情况下,理解数据的含义。 多样的样式表支持:x m l 把数据内容与他们的表现形式分开。这样既 可以只关心数据的逻辑结构,也可以通过样式表来格式化数据的表现。 2 4s o a p s o a p 是一种x m l 规范,所有的s o a p 消息都是以x m l 的格式进行编码 的【1 2 1 。s o a p 的1 1 版本由i b m 、m i c r o s o f t 、d e v e l o pm e n t o r 、l o t u s 和u s e rl a n d 1 1 湖北人学硕+ 学位论丈 等一起开发,于2 0 0 0 年5 月成为w 3 c 标准。它包括i b m 和l o t u s 的技术,具 有供应商中立性、跨平台、编程语言和对象模型中立性等优点。2 0 0 1 年4 月, 在美国s a nj o s e 召开的w e b 服务研讨会上,正式确立了s o a p 作为w e b 服务核 心规范的地位。s o a p 的最新草案1 2 版本在2 0 0 2 年6 月完成,由w 3 c 成立的 x m lp r o t o c o lw o r k i n gg r o u p 专注开发s o a p 规范。 2 4 1s o a p 概述 s o a p l 2 在一个松散的、分布的环境中使用x m l 对等地交换结构化的和类 型化的信息提供了一个简单且轻量级的机制。一个作为描述在消息中的内容以及 如何处理消息的信息框架的信封( e n v e l o p e ) ,一组用于表示应用定义的数据类型 的编码规则( e n c o d i n gr u l e s ) ,一个用于表示远程过程调用和返回的约定以及一个 使用底层协议进行消息交换的绑定( b i n d i n g ) 约定。s o a p 可以与很多其他的协议 绑定使用【1 3 】。 s o a p 信封( s o a pe n v e l o p e ) :它构造定义了一个整体的表示框架,可用于表 示消息中的是什么,谁应当处理它,以及这是可选的还是强制的( 所谓的可选的 就是可以由目标应用程序自己选择是否处理,而强制则是表明必须处理,如果无 法处理,则需要返回错误) 。 s o a p 编码规贝i i ( s o a pe n c o d i n gr u l e s ) :定义了一个数据的编码机制,通过这 样一个编码机制来定义应用程序中需要使用的数据类型,并可用于交换由这些应 用程序定义的数据类型所衍生的实例。 s o a pr p c 表示( s o a pr p cr e p r e s e n t a t i o n ) ,定义了一个用于表示远程过程 调用和响应的约定。 s o a p 绑定( s o a pb i n d i n g ) :定义了一个使用底层传输协议( 如h 1 叩、s m t p 等1 来完成结点间交换s o a p 信封的约定。为了简化s o a p 的复杂度,这四部分 在功能上是正交的。特别的,s o a p 信封和s o a p 编码规则是被定义在不同的 x m l 命名空间中,这样有利于通过模块化的设计来获得实现的简明性。 s o a p 规范中还定义了两种s o a p 绑定,用于描述s o a p 消息如何通过带 h r r p 扩展框架( ,h 1 t r pe x t e n s i o nf r a m e w o r k ) 的h t t p 消息进行传输,或者是如何 通过不带h t t p 扩展框架的h 1 r r r p 进行传输。 1 2 2w e bs e r v i c e s 技术研究与分析 2 4 2s o a p 消息结构 s o a p 消息是使用s o a p 进行w e b 服务调用的基本消息承载体,由一个强 制的( 就是必须出现的) s o a pe n v e l o p e ,一个可选的s o a ph e a d e r 和一个强制的 s o a pb o d y 组成的x m l 文档【14 1 。s o a p 消息的结构如图2 - 3 所示。 图2 3s o a p 消息结构图 s o a pe n v e l o p e :e n v e l o p e 是表示该消息的x m l 文档的顶级元素。 s o a ph e a d e r :它是能够被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 条目。 2 4 3s o a p 消息处理 一般来说,无论s o a p 请求者还是s o a p 接受者,都需要一个接受发送s o a p 消息的s o a pi n t e r f a c e ,这个s o a pi n t e r f a c e 可以按需求与合适的网络协议相绑 定,比如s o a p h t t p 、s o a p s m t p 等。当s o a pi n t e r f a c e 接受到s o a p 消息 之后,首先调用x m lp a r s e r ,将s o a p 消息解析成程序语言能够直接识别的数 据。如果x m l p a r s e r 使用的是d o m ,那么就是内存中的d o m 树,如果使用的 是s a x ,那么数据将由实现者自己来维护。无论是使用d o m 还是s a x ,在经 湖北人学岫i 何论文 过x m lp a r s e r z 后,s o a p 消息的数啦一:已经被分析柬井保存在内存mr 。m 丁s o a p 消息足x m l 消息,显然其中的数槲是树状结构的数据,其中s o a p h e a d e r 和s o a pb o d y 址桃的两株直接数掘r 树 至互叵互五团 244s o a p 的特点 劁2 - 4s o a p 处理器示意削 ( 1 ) 简单性:s o a pj = 见范定义的消息结构非常简单f 个e n v e l o p e 包含两个组 成部分:h e a d e r 和b o d y ) 。除了这个基奉的消息结构外,s o a p 没有定义捌外的 结构标准,没仃定义e i 己的编码 彳 式,也没有定义自己的传输协议。 ( 2 ) 可扩他| 生:s o a p - 口咀使用任意的模式定义方式术定义内部传输内弃的结 丰j ! ( 编码方式般性用x m ls c h e m a ) ,- 口以j 任意的州络传输协议( 如h 兀甲、 s m i p 和p o p 3 等) 联合使川完成传输。 ( 3 ) 独性:s o a p 足基于文本的议,因此它独立丁任何编程语言、计浆模 纠和操作系统。此外,s o a p 的消息蹄径机制和川扩充的h e a d e r 和b o d v 机制义 为分巾式i r 算提供了很好的支持f i 。 2 5u d d i u d d 1 1 6 1 胤范由m i c r o s o f t ,i b m ,a r i b a 三家公刊在2 0 0 0 年7 月提出。它是 扯原柏m i c r o s o f t 提出帕d 】s c o ( d i s c o v e r yo fw e b 服务) 和i b m 的a d s 雾 2w e bs e r v i c e s 技术研究与分析 ( 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 i c e s ) 的基础上发展而来的,它借鉴了x m l 和 s o a p 的经验,定义了在它们之上的一个层次,是一套基于w e b 的、分布式的、 为w e b 服务提供信息注册中心的实现标准规范,同时也包含一组使企业能将自 身提供的w e b 服务进行注册,以使别的企业能够发现的访问协议的实现标准。 2 5 1u d d i 数据模型和信息描述 u d d i 注册使用的核心信息模型由x m ls c h e m a 定义。使用x m l 是因为它 提供了与平台无关的数据描述并很自然的描述了数据的层次关系。而选择x m l s c h e m a 是因为它支持丰富的数据类型,便捷的描述方式及其按信息模型对数据 进行验证的能力。 u d d ix m l s c h e m a 定义了六种主要的信息类型,它们是技术人员在需要使 用合作伙伴所提供的w e b 服务时必须了解的技术信息,分别是商业实体信息 ( b u s i n e s se n t i t y 结构) 、服务信。息( b u s i n e s ss e r v i c e 结构) 、绑定信息( b i n d i n gt e m p l a t e 结构) 、技术规范信,宦, ( t m o d e l 结构) 和关联关系断言( p u b l i s h e r a s s e r t i o n 结构) 的说 明信息。在u d d l 3 0 中,新增了一个信息类型:s u b s c r i p t i o n 实体订阅信息。b u s i n e s s e n t i t y 、b u s i n e s ss e r v i c e 和b i n d i n gt e m p l a t e 是层次嵌套关系。t m o d e l 是独立实体, b i n d i n gt e m p l a t e 结构包含了对t m o d e l 的引用,而p u b l i s h e r a s s e r t i o n 则对b u s i n e s s e n t i t y 具有引用。而s u b s c r i p t i o n 则是对所有其他的数据实体都可以具有引用【1 刀。 信息类型的结构如下图2 5 所示。 b u n e s se n t i t y :发布服务信息的商业实体的 详细信息 b u n e s ss e r v e r :组特定的技术服务的描述 信息 b i n d i n gt e m p l a t e :关丁服务的入口点和构 造规范的技术信息 p u b l i s h e ra s s e r t i o n :瓶个商业实体建的关联 信息,由两个实体中任意一个声明 t m o d e i :服务或者分类的规范描述,是技 术的表现基础。 b i n d i n gt e m p l a t e 的数据包含对 9 d e l 的引用。这些引用描述了服务 的技术规范。 s u b s c r i p t i o n :务种数据文体的订阅信息, 帮助用户及时了解数据的变化。 图2 - 5 信息类型结构图 1 5 湖北大学硕十0 :侮论文 2 5 2u d d ia p i 程序员a p i 规范( p r o g r a m m e r sa p is p e c i f i c a t i o n ) 文档详细定义了程序员 a p i ,分为查询a p i 和发布a p i 两个逻辑部

温馨提示

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

评论

0/150

提交评论