已阅读5页,还剩56页未读, 继续免费阅读
(计算机应用技术专业论文)基于web服务的多媒体平台的设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 现在i n t e r n e t 的发展十分迅速,早期的框架是用户自己通过i n t e r n e t 获取 网络上的资源:程序、文档等;这就是说,早期的w e b 是以人为中心的,人 来不断地发送各种请求,以获取各种资源;而现在的发展趋势是i n t e r n e t 的应 用主体正在从“人”转向“程序”,即通过w c b 服务进行程序的实时整合,实现 实时应用服务。w e b 服务是为应用程序的使用而准备的,它不是为最终用户 准备的。通过将一个系统作为一个w e b 服务,第三方可以将我们的系统功能 整合到他们自己的客户应用程序中。这样便获得了一种开发解决方案的新途 径:无需在系统中设计所需的功能,只需简单地访问合适的w e b 服务以执行 所需的操作即可。 w e b 服务是i n t e m e t 上新兴的分布式系统集成技术,本文以实践为目的, 从系统设计和软件开发两个方面探讨了一个基于w e b 服务技术的多媒体平台 的设计与实现过程。文中首先简单介绍了x m l 和w e bs e r v i c e 技术,然后着 重讨论了基于w 曲服务的系统集成技术的特点和优势,以及通过实际的开发 实例介绍了基于w e b 服务的多媒体平台的开发过程。系统的主要功能是提供 各种多媒体信息的分类汇总及下载,通过多种w e b 服务接口向应用程序提供 多媒体数据的读取、上传、检索、统计分析等服务。多媒体数据本身数据量较 大,在网络上冗余存储造成极大的资源浪费,针对这一问题本系统给出了具体 的解决方案,实现了多媒体数据的集中存放和管理,有利于数据的更新、检索 和存储。 关键字: w e b 服务,x m l ,系统集成,多媒体平台 a b s t r a c t a b s t r a c t t h ei n t e m e td e v e l o p m e n ti sv e r yq u i c kn o w ,i to n c eu p o nat i m eo ff l a m ei s f r o mp e r s o nt oo b t a i nt h er e s o u r c e so nt h en e t w o r k ,f o re x a m p l e :p r o c e d u r e ,t e x tf i l e e t c ;i ti st os a y , o n c eu p o nat i m eo fw e bw i t ha r t i f i c i a lc e n t r a l p e r s o nt os t e a d i l y s e n do u te v e r yk i n do fc l a i m ;b u tt h ed e v e l o p m e n tt r e n do fn o ww o u l db ei t sc o r p u s t oc h a n g ed i r e c t i o nt h e ”p r o c e d u r e ”f r o mt h e ”p e r s o n ”t h e np a s s e st h ew e bs e r v i c e p r o c e e d sp r o c e d u r eo fs o l i dt h eh o u ri n t e g r a t e s ,r e a l i z i n gs o l i dh o u ra p p l i c a t i o n s e r v i c e t h es e r v i c eo fw e bi sf o rt h eu s a g eo ft h ea p p l i e dp r o c e d u r eb u tp r e p a r m i o n o f , i tn o tp r e p a r ef o rt h ee n dc u s t o m e ro f p a s st ob eu s e da sas y s t e mt oaw e bt o s e r v e t h em i r ds q u a r ec a ni n t e g r a t eo u rs y s t e mf u n c t i o nt ot h e i ro w nc u s t o m e rt o a p p l yt h ep r o c e d u r ei n s i d e a c q u i r e dt h en e wp a t ho f a k i n do f d e v e l o p m e n ts o l u t i o n l i k et h i sa n dt h e n :h a v en ot on e e dt od e s i g naf u n c t i o nf o rn e e d i n gi ns y s t e m ,a l l o p e r a t i o nf o rn e e d i n gi nb r i e fv i s i t i n gf i tw e bs e r v i c et h e nc a r r y i n go u tn e e d i n gi s t h e n t h ew i bs e r v i c ei sa nn e w l yi n t e r n e tt e c h n i q u eo fs y s t e mi n t e g r a t i o n ,t h i st e x t r e g a r dp r a c t i c i n ga st h ep u r p o s e ,d e s i g n i n gf r o mt h es y s t e mt od e v e l o p st w od e s i g n f o ri n q u i r i n gi n t of i r s tb a s i n go nt e c h n i c a lm u l t i m e d i ai ns e r v i c ei nw e bt e r r a c e sw i t h r e a l i z e sw i t ht h es o f t w a r ep r o c e s s t h et e x ti n s i d ei n t r o d u c e dt h ex m li nb r i e ff i r s t w i t ht h et e c h n i q u eo fw e bs e r v i c e , t h e ne m p h a s i z e dt od i s c u s sa c c o r d i n gt ot h e s e r v i c eo f w e bs y s t e mg a t h e r st e d m i c a lc h a r a c t e r i s t i c sw i t ha d v a n t a g e ,a n dp a s s e dt o d e v e l o pt h es o l i da ni n t r o d u c t i o np h y s i c a l l ya c c o r d i n gt ot h es e r v i c eo fw e b m u l t i - m e d i at e r r a c et h ep r o c e s so f d e v e l o p m e n t t h em o u n to f m u l t i - m e d i ad a t ai sv e r yb i g o nt h en e t w o r kt h er e d u n d a n c ys a v e st or e s u l ti nt h e 拓e m e n d o u sw a s t eo fr e s o u r c a s , a i m i n ga tt h i sp r o b l e mt h i ss y s t e mg a v et h ec o n c r e t es o l u t i o n , r e a l i z e sc o n c e n t r a t i o n o ft h em u l t i m e d i ad a t ad e p o s i tw i lm a n a g e , b e n e f i t t i n gt ot h er e n e w a lo ft h ed a t a , i n d e xw i t hs a v i n g k e y w o r d : w e bs e r v i c e ,x m l ,s y s t e mi n t e g r a t i o n , m u l t i m e d i ap l a t f o r m 南开大学学位论文版权使用授权书 南开大学学位论文版权使用授权书 本人完全了解南开大学关于收集、保存、使用学位论文的规 定,同意如下各项内容:按照学校要求提交学位论文的印刷本和电 子版本;学校有权保存学位论文的印刷本和电子版,并采用影印、 缩印、扫描、数字化或其它手段保存论文;学校有权提供目录检索 以及提供本学位论文全文或者部分的阅览服务;学校有权按有关规 定向国家有关部门或者机构送交论文的复印件和电子版;在不以赢 利为目的的前提下,学校可以适当复制论文的部分或全部内容用于 学术活动。 学位论文作者签名:王鹏 2 0 0 5 年5 月2 0 日 经指导教师同意,本学位论文属于保密, 在1 0 年解密后适用本授权书。 指导教师签名:学位论文作者签名: 解密时2 0 1 5 年5 月2 0 日 问: 各密级的最长保密年限及书写格式规定如下: 冀一“* o _ j 。“曩黧 。 。一 j 一。 一内溺曩耄妻蒸轰霉瞬;零单。溉鬻乎年) 曩- 。 _ ” _ “= 秘密骢攀谶装j i 谚年,可少于l o i 攀骖一 机密糖番最嵌2 0 年,可少于2 0 年 。一 - ;| 。 南开大学学位论文原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师指导下,进 行研究工作所取得的成果。除文中已经注明引用的内容外,本学位 论文的研究成果不包含任何他人创作的、已公开发表或者没有公开 发表的作品的内容。对本论文所涉及的研究工作做出贡献的其他个 人和集体,均已在文中以明确方式标明。本学位论文原创性声明的 法律责任由本人承担。 学位论文作者签名:王鹏 2 0 0 5 年5 月2 0e t 序言 序言 随着互联网的高速发展,分布式计算从客户枫n 务器模型发展到现今广 泛应用的w e b 应用程序( 即使用i n t e r a c t 浏览器的瘦客户端) ,w e b 应用程序解 决了应用程序不再要求必须安装在客户端的必要条件。w e b 服务可以提供企业 级的集成,而且还对i n t e m e t 上的任意设备连接到服务器上提供支持。从某种 意义上来说w e b 服务就是通过w e b 接口提供的某个功能程序段。也就是说 w e b 服务是为应用程序的使用而准备的,而不是为最终用户准备的。通过将一 个系统开放为一个w e b 服务,第三方可以将我们的系统功能整合到他们自己 的客户应用程序中。这样便获得了一种开发解决方案的新途径:无需在系统中 设计所需的功能,只需简单地访问合适的w e b 服务以执行所需的操作即可。 第一章x m l 和w e bs e r v i c e 第一章x m l 和w e bs e r v i c e 、e b 服务”是指为一些功能提供接口,让它可以被w e b 上的其他程序访问 的一种技术。应用程序与w e b 服务进行通信需要一套具体的标准和协议。这 些标准和协议使我们能够创建可以被任何接入i n t e r n e t 的用户使用的w e b 服 务,也能使我们使用第三方创建的任何数量的w e b 服务。这些标准指定了下 面的内容: 1 一种独立于平台的数据交换格式。 2 一种描述数据结构的方法。 3 打包数据的标准方法,可能用于跨i n t e m e t 的传输。 4 w c b 服务描述自身,它们能进行的操作和客户程序所需的数据结构的 一种方法。 5 通过w e b 服务的功能或描述以编程方式定位w e b 服务的一个框架。 和上述领域相关的真实技术如下所示: 6 独立于平台的数据交换格式使用可扩展标记语言( x m l ) 来完成。 x m l 是允许我们把数据编码为纯文本文件的一个标准。这有一个直接的好 处:任何设备都可以读取它,因为文本文件在不同平台上都是一样的。x m l 的灵活性使它可以用于所有的w e b 服务通信。它唯一的缺点是不像纯二进制 表示那样效率高,它必须进行解释。 7 描述数据结构的一种方法一用x m l 模式指定x m l 数据结构。x m l 模 式提供了将规则强制应用于x m l 文档的一种方法,这样做是出于验证的目 的。x m l 模式本身就是用x m l 编写的。 8 打包数据的一个标准方法,也许用于跨i n t e r a c t 的传输一x m l 数据可能 被直接打包成h t t p 消息,但更常见的是包装在s o a p 文档中。s o a p 是使用x m l 的另一项技术。把x m l 数据放在s o a p 消息中就意味着用另外的x m l 来包装 那个消息。这种方法的缺点是又添加了另外一个层,在能够分析x m l 数据 第一章x m l 和w 曲s e r v i c e 前,必须先分析这一层,但这么做有两个原因。第一,这意味着与w e b 服务 的所有通信都遵守相同的标准结构。第二,s o a p 协议包括对于w e b 服务特别 有用的一些额外信息。 9 w e b 服务描述自身,它们能进行的操作和客户端所需的数据结构的一 种方法w e b 服务使用w e b 服务描述语言( w s d l ) 进行描述。w s d l 文档描述了 w e b 服务可以执行的所有操作。对w e b 服务操作的描述包括使用的数据结构, 数据结构在w e b 服务的请求和响应中的综合使用,包含这些请求和响应的消 息的格式,以及访问w e b 服务支持的不同操作所需要的具体方法。为了达到 这些目的,w s d l 文档包含了模式信息,与模式对消息结构的定义有关的信 息,以及一些特定于h t t p 和s o a p 的信息。 1 0 通过w e b 服务的功能或描述以编程方式定位w e b 服务的一个框 架一可以使用通用描述,发现和集成( u d d i ) 来实现w e b 服务的发现。w s d l 精确 定义了w e b 服务,但这还不足以让用户发现w e b 服务。u d d i 就是某种中央存 储库,用户可以查询这个存储库发现他们需要的w e b 服务,这就是u d d i 的用 途。 1 。1x m l 简介 x - m l ( e x t e n s i b l em a r k u pl a n g u a g e 可扩展标记语言) 是i l l t e m e t 上数据表 示和数据交换的新标准。1 。它是i s o ( i n t e r n a t i o n a lo r g a n i z a t i o n f o r s t a n d a r d i z a t i o n ,国际标准化组织) 的s g m l ( s t a n d a r df o rg e n e r a lm a r k u p l a n g u a g e ,通用标记语言标准) 的一个简化子集。w 3 c 组织制定x m l 标准的初 衷是,定义一种互联网上交换数据的标准。w 3 c 采取了简化s g m l 的策略,在 s g m l 基础上,去掉语法定义部分,适当简化d t d 部分,并增加了部分互联网 的特殊成分。因此,x m l 也是一种置标语言,基本上是s g m l 的一个子集。因 为x m l 也有d t d ,所以x m l 也可以作为派生其它置标语言的元语言。因此在互 联网世界x m l 的用途主要有两个,一是作为元置标语言,定义各种实例置标语 第一章x m l 和w e bs e r v i c e 言标准;二是作为标准交换语言,担负起描述交换数据的作用。 x m l 关注信息本身,是w e b 上表示结构化信息的一种标准文本格式。与 传统的注重页面信息显示的h t m l ( h y p e r t e x tm a r k u pl a n g u a g e ,超文本链接 标示语言) 相比,关注于内容的x m l 具有以下诸多优点:良好的可扩展性, 语言简单有效,可自行定义标记;内容与形式的分离,主要刻画数据内容,不 考虑显示效果;有严格的语法要求,便于分析统一和与数据库信息转换;便于 传输,为纯文本形式,可通过h 仕p 协议直接传输,可跨越防火墙;等等。 x m l 的出现和发展对于l n t e r n e t 和i n t r a n e t 产生了巨大的影响。 在x m l 中数据搜索可以简单高效地进行。搜索引擎没必要再去遍访整个 x m l 文件,它只须去找一找相关标记下的内容就够了。毫不夸张地说,x m l 的 标记为搜索引擎赋予了智慧! 当今的计算机世界中,不同企业、不同部门中存 在着许多不同的系统。操作系统有n t 、u n i x ,数据库系统有s q ls e r v e r 、 0 r a c l e ,要想在这些不同的平台、不同的数据库软件之间传输信息,不 得不使用一些特殊的软件,非常之不便。而不同的显示界面,从工作站、个人 微机、到手机,使这些信息的个性化显示也变得很困难。现在有了x m l ,各种 不同的系统之间可以采用x m l 作为交流媒介。x m l 不但简单易读,而且可以标 注各种文字、图像甚至二进制文件,只要有x m l 处理工具,就可以轻松地读取 并利用这些数据,使得x m l 成为一种非常理想的网际语言。 1 2w e bs e r v i c e 的体系结构 w e bs e r v i c e 是独立的、模块化的应用,能够通过网络,特别是w w w 来描 述、发布、定位以及调用。w e bs e r v i c e 的体系结构描述了三个角色( 服务提 供者、服务请求者、服务代理者) 以及三个操作( 发布、查找、绑定) 。 服务提供者通过在服务代理者那里注册来配置和发布服务,服务请求者通 过查找服务代理者那里的被发布服务的登记记录来找到服务,服务请求者绑定 第一章x m l 和w e bs e r v i c e 服务提供者并使用可用的服务。在w e bs e r vic e 的世界罩,三个操作都包含三 个受到称赞却又截然不同的技术。发布服务使用u d d i ( 统一描述、发现和集 成) ,查找服务使用u d d i 和w s d l ( w e bs e r v i c e 描述语言) 的组合,绑定服务 使用w s d l 和s o a p 。在三个操作中,绑定操作是最重要的,它包含了服务的实 际使用,这也是容易发生互操作性问题的地方。正是由于服务提供者和服务请 求者对s o a p 规范的全力支持才解决了这些问题,并实现了无缝互操作性。 当开发人员开发新的应用时,可以通过u d d io p e r a t o r 或u d d is e a r c h e n g i n e 的w e b 界面在u d d ir e g i s t r y 上找到需要的w e bs e r v i c e :然后在u d d i r e g i s t r y 内,或通过u d d ir e g i s t r y 中的连接找到该w e bs e r v i c e 的调用规 范,该调用规范一般使用w s d l 描述。开发人员可以使用开发工具或通过手动 方式调用该规范,然后在自己的应用中加上该调用规范定义的w e bs e r v i c e 调 用。这样开发出的应用就可以通过s o a p 来调用指定的w e bs e r v i c e 了。 而对于具有自动集成相关应用的服务( s e r v i c e ) 或应用( a p p l i c a t i o n ) ,用 户应用通过s o a p 协议访问u d d io p e r a t o r 或u d d ir e g i s t r y ,找到需要的w e b s e r v i c e ,u d d io p e r a t o r 和u d d ir e g i s t r y 会通过s o a p 协议响应w e b s e r v i c e 的调用规范和调用规范的链接,应用程序得到使用w s d l 描述的服务 调用规范文本,通过解析该描述文本,自动生成本地调用接口绑定,并将所需 的调用参数适当绑定并完成调用。 1 2 1 简单对象访问协议s o a p s o a p 是一种基于x m l 的不依赖传输协议的表示层协议,用来在应用程序 之间方便地以对象的形式交换数据。在s o a p 的下层,可以是h t t p h t t p ,也 可以是s 岍p p o p 3 ,还可以是为一些应用而专门设计的特殊的通信协议。 s o a p 以x m l 形式提供了一个简单、轻量的用于在分散或分布环境中交换 结构化和类型信息的机制。s o a p 本身并没有定义任何应用程序语义,如编程 d 第一章x m l 和w e bs e r v i c e 模型或特定语义的实现:实际上,它通过提供一个有标准组件的包模型和在模 块中进行数据编码的机制,定义了一个简单的表示应用程序语义的机制,这使 s o a p 能够用于从消息传递到r p c 的各种系统。 s o a p 包括三个部分: 1 s o a p 封装结构:定义了一个整体框架,以表示消息中包含什么内容, 谁来处理这些内容以及这些内容是可选的或是必需的。 2 s o a p 编码规则:定义了用以交换应用程序定义的数据类型的实例的一 系列机制。 3 s o a pr p c 表示:定义了一个用来表示远程过程调用和应答的协定。 1 2 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 r ya n di n t e g r a t i o n 。它提供了在 w e b 上描述并发现商业服务的框架。u d d i 通过服务注册,以及使用s o a p 访问 这些注册信息的约定来实现上述目标。 在s o a p 封装、s o a p 编码规则和s o a pr p c 协定之外,这个规范还定义了 两个协议的绑定,描述了在有或没有h t t p 扩展框架的情况下,s o a p 消息如何 包含在h t t p 消息中被传送。 u d d i 是一套基于w e b 的、分布式的、为w e bs e r v i c e 提供的、信息注册 中心的实现标准规范,同时也包含一组使企业能将自身提供的w e bs e r v i c e 注 册,以使别的企业能够发现的访问协议的实现标准。 u d d i 的核心组件是u d d i 商业注册,它使用一个x m l 文档来描述企业及其 提供的w e bs e r v i c e 。从概念上来说,u d d i 商业注册所提供的信息包含三个部 分: i 白页( w h i t ep a g e ) :包括了地址、联系方法和己知的企业标识。 s 第一章x m l 和w e bs e r v i c e 2 黄页( y e l l o wp a g e ) :包括了基于标准分类法的行业类别。 3 绿页( g r e e np a g e ) :包括了关于该企业所提供的w e bs e r v i c e 的技术信 息,其形式可能是一些指向文件或u r l 的指针,而这些文件或u r l 是为服务发 现机制服务的。 所有的u d d i 商业注册信息都存储在u d d i 商业注册中心。通过使用u d d i 的发现服务,企业可以单独注册那些希望被别的企业发现的自身提供的w e b s e r v i c e 。企业可以通过u d d i 商业注册中心的w e b 界面,或使用实现了“u d d i p 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 e bs e r v i c e 的人所发现。 借助x m l 和s o a p ,集成和交互的问题将从层次上被简化。x m l 提供了跨 平台的数据编码和组织方法,而s o a p 建立在x m l 之上,定义了一种跨系统平 台的信息交换的简单包装方法。绑定于h t t p 之上的s o a p 协议,可以跨语言、 跨操作系统进行远程过程调用( r p c ) ,实现了编程语言和系统平台的无关性。 而以前的调用方式则和复杂的分布式对象标准或是中间件有密切的关系,从长 期的眼光来看,这些都不是高效的解决方案。x m l 和s o a p 这样的跨语言、跨 平台的解决方案大大简化了不同企业系统之间的交互问题。 但如果仅仅是x m l 和s o a p 的话,对于公司问的交流仍存在着巨大的鸿 沟。u d d i 规范在x m l 和s o a p 的基础之上定义了新的一层,在这一层次,不 同企业可以用相同的方法描述自己所能提供的,并能查询对方所能提供的服 务。 第一章x m l 和w e bs e r v i c e 统一服务互操作协议 ( 邈豳撇尚鞴墓鼬 互操作 i 。i i 瞌:“j 貊秭藁蘸诼硬一( u 一一d d o “一 一 赫议棱 ! 塑墅臻堕囹燮( s o a p ) 一一; 扩屣标注 吾言o q v l l ) 通用i n f e m e f 协议( h t t p t c p i i p ) 图卜1u d d i 规范协议的层次关系 图卜1 描述了这些协议的层次关系,u d d i 注册使用的核心信息模型由x m l s c h e m a 定义。使用x l d l 是因为它提供了平台无关的数据描述并很自然的描述 了数据的层次关系。而选择x m ls c h e m a 是因为它支持丰富的数据类型,便捷 的描述方式及其按信息模型对数据进行验证的能力。 u d d ix m ls c h e m a 定义了四种主要信息类型,它们是技术人员在需要使用 合作伙伴所提供的w e b 服务时必须了解的技术信息。它们是:商业实体信息、 服务信息、绑定信息和服务调用规范的说明信息。 u d d i 程序员a p i 规范分为两个逻辑部分:查询a p i 和发布a p i 。查询a p i 又分为两个部分:一部分被用来构造搜索和浏览u d d i 注册信息的程序,另一部 分在w e b 服务出现错误时使用。程序员可以利用发布a p i 创建各种类型的工 具,以直接与u d d i 注册中心进行交互,便于企业技术人员管理 b u s i n e s s e n t i t y 或t m o d e l 结构的发布信息。 每一个独立发布的w e b 服务都是使用一个b i n d i n g t e m p l a t e 结构来建模 的。对这个w e b 服务的调用通常通过缓存b i n d i n 酊e m p l a t e 数据来实现。下面 列出了基本步骤: 1 编写调用远程w e b 服务的程序时,程序员使用u d d i 商业注册中心( 通过 使用w e b 界面或其它基于查询a p i 的工具) 来定位b u s i n e s s e n t i t y 信息,这些 信息是由( 或为) 提供该w e b 服务的企业注册的。 第一章x m l 和w e bs e r v i c e 2 程序员可以进一步获得更详细的b u s i n e s s s e r v i c e 信息,或是得到一个 完整的b u s i n e s s e n t i t y 结构。因为b u s i n e s s e n t i t y 结构包含了有关已发布的 w e b 服务的所有信息,因此程序员只需简单地选择一个b i n d i n g t e m p l a t e 并保 存留待以后使用。 3 基于w e b 服务在b i n d i n g t e m p l a t e 的t m o d e l 中提供的调用规范的相关 信息,程序员可以按照该w e b 服务的调用规范编写程序。 4 在运行时,程序可以按需要使用已保存下来的b i n d i n g t e m p l a t e 的信息 来调用w e b 服务。 1 2 3w e b 服务描述语言w s d l w s d l 是用来描述网络( n e t w o r k ) 服务或终端( e n d p o i n t ) 的一种x m l 语 言,它用于定义w e bs e r v i c e s 以及如何调用它们( 描述w e b 服务的属性,例 如它做什么,它位于哪里和怎样调用它) 。w s d l 文档可用于动态发布w e b s 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 s 。 在w s d l 中包含了使用s o a p 的服务描述的绑定,也包含了使用简单h t t p g e t 和p o s t 请求的服务描述的绑定。w s d l 将w e b 服务定义成一系列的端口 ( p o r t ) ,每个端口用来表示从抽象端口类型( p o r tt y p e ) 到用于调用w e b 服务的具体通信协议的一个映射。端口类型由一组与s e r v i c ep r o v i d e r 交换 信息的操作组成,它支持对包含消息的数据类型的定义。 一个完整的w s d l 服务描述是由一个服务接口和一个服务实现文档组成 的。 由于服务接口表示服务的可重用定义,它在u d d i 注册中心被作为 t m o d e l 发布。服务实现描述服务的实例。每个实例都是使用一个w s d l s e r v i c e 元素定义的。服务实现文档中的每个s e r v i c e 元素都被用于发布u d d i b u s i n e s s s e r v jc e 。 第一章x m l 和w e bs e r v i c e 因为w s d l 包含了对服务接口的完整描述,所以我们可以使用它来创建能 简化服务访问的存根,该存根为一段j a v a 代码( 假设使用j a v a ) ,它自动生 成了访问w e b 服务的类。如果我们需要访问w e b 服务,只需调用该类中对应的 方法即可,而不用在客户端程序中再写那些令人头疼的配置信息了。通过i b m 提供的工具包可以轻松创建w s d l 文档对应的存根。( 由此看出,不用w s d l 也 可以访问w e b 服务) 随着通信协议和消息格式在w e b 中的标准化,以某种格式化的方法描述通 信变得越来越重要,其实现的可能性也越来越大。用w s d l 定义的一套x m l 语 法描述的网络服务方式满足了这种需求。w s d l 把网络服务定义成一个能交换 消息的通信端点集。w s d l 服务为分布式系统提供了帮助文档,同时该服务也 可作为自动实现应用间通信的解决方案。 一个w s d l 文档将服务定义为一个网络端点的集合,或者端口的集合。在 w s d l 里,端点及消息的抽象定义与它们具体的网络实现和数据格式绑定是分 离的。这样就可以重用这些抽象定义:消息,需要交换的数据的抽象描述:端 口类型,操作的抽象集合。针对一个特定端口类型的具体协议和数据格式规范 构成一个可重用的绑定。一个端口定义成网络地址和可重用的绑定的连接,端 口的集合定义为服务。因此,一个w s d l 文档在定义网络服务时使用如下的元 素: 1 类型:使用某种类型系统( 如x s d ) 定义数据类型。 2 消息:抽象、有类型的通信数据的定义。 3 操作:服务支持的动作的抽象描述。 4 端口类型:一个操作的抽象集合,该操作由一个或多个端点支持。 5 绑定:针对一个特定端口类型的具体的协议规范和数据格式规范。 6 端口:一个单一的端点,定义成一个绑定和一个网络地址的联接。 第一章x m l 和w 曲s e r v i c e 7 服务:相关的端点的集合。 1 3w e bs e r v i c e 的特点 w e bs e r v i c e 是封装成单个实体并发布到网络上供其他程序使用的功能集 合。w e bs e r v i c e 是用于创建开放分布式系统的构件,可以使公司和个人迅速 且廉价地向全世界提供其数据服务。 w e bs e r v i c e 是下一代分布式系统的核心,它具有如下特点: 1 互操作性:任何的w e bs e r v i c e 都可以与其他w e bs e r v i c e 进行交 互。由于有了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 0 1 ) 这个所有主要供应商 都支持的新标准协议,因而避免了在c o r b a 、d c o m 和其他协议之问转换的麻 烦。还因为可以使用任何语言来编写w e bs e r v i c e ,因此开发者无需更改其开 发环境就可生产和使用w e bs e r v i c e 。 2 普遍性:w e bs e r v i c e 使用 t t t p 和x m l 进行通信。因此,任何支持这 些技术的设备都可以拥有和访问w e bs e r v i c e 。 3 易于使用:w e bs e r v i c e 背后的概念易于理解,并且有来自i 删和微 软这样的供应商的免费工具箱能够让开发者快速创建和部署w e bs e r v i c e 。此 外,其中的某些工具箱还可以让已有的c o m 组件和j a v a b e a n 方便地成为w e b s e r v i c e 。 4 行业支持;所有主要的供应商都支持s o a p 和周边w e bs e r v i c e 技术。 例如,微软的n e t 平台就是基于w e bs e r v i c e ,因此用v i s u a lb a s i c 编写的 组件很容易作为w e bs e r v i c e 部署,并可以被i b mv i s u a l a g e 编写的w e b s e r v i c e 使用。 第一章x m l 和w c bs e r v i c e 1 4w e b 服务的适用范围及缺陷 1 4 1w e b 服务的主要优势 1 跨越防火墙的通信 如果你的应用程序有成千上万的用户,而且他们都分布在世界各地,那么 客户端和服务器之间的通信将是一个棘手的问题。那是因为客户端和服务器之 间通常都会有防火墙或者代理服务器。在这种情况下使用d c o m 就非常困难 了,而且发布如此庞大数量的客户端程序也是一个问题。 如果中间层组件是w e bs e r v i c e 的话,就完全可以从用户界面真接调用中 间层组件。在一个用户界面和中间层有较多交互的应用程序中,使用w e b s e r v i c e 这种结构,可以节省花在用户界面编程上的开发时间。这样做还有另 一个好处,就是得到一个由w e bs e r v i c e 组成的中间层,这一层是完全可以在 应用程序集成或其他场合下被重用的。最后,通过w e bs e r v i c e 把你的应用程 序的逻辑和数据暴露出来,还可以让其它平台上的客户重用你的应用程序。 2 应用程序集成 企业里经常都要把用不同语言写成的在不同平台上运行的各种程序集成起 来,而这种集成将花费很大的开发的力量。即使是在同一个平台上,不同的软 件厂商生产的各种软件也常常需要集成起来。通过w e bs e r v i c e ,应用程序可 以用标准的方法把功能和数据暴露出来,供其它的应用程序使用。 3 b 2 b 的集成 跨公司的商务交易集成通常叫做b 2 b 集成。w e bs e r v i c e 可以很好的应用 于b 2 b 集成。通过w e bs e r v i c e ,某个公司可以把关键的商务应用暴露给指定 的供应商和客户。w e bs e r v i c e 是运行在i n t e r n e t 上的,在世晃任何地方都 可轻易实现,这样其运行成本就相对较低。用w e bs e r v i c e 实现b 2 b 集成的最 第一章y d v l l 和w 曲s e r v i c e 大好处在于可以轻易实现互操作性。只要把你的商务逻辑暴露出来,封装成为 w e bs e r v i c e ,你就可以让任何指定的合作伙伴轻松的调用你的商务逻辑,而 不管他们的系统在什么平台上运行,使用的是什么开发语言。这样就大大减少 了花在b 2 b 集成的上的时间和成本。 4 软件重用 软件重用最基本的形式是源代码模块或者类一级的重用。另一种形式是二 进制形式的组件重用。当前,像表格控件或用户界面控件这样的可重用软件组 件在市场上都占有很大的份额。但这类软件的重用都有一个很严重的限制:重 用仅限于代码,而数据不能被重用。原因在于你可以很轻易的发布组件甚至源 代码,但要发布数据就没那么容易了,除非那些数据都是不会经常变化的静态 数据。 而w e bs e r v i c e 允许你在重用代码的同时,重用代码后面的数据。使用 w e bs e r v i c e ,不再像以前那样,要先从第三方购买、安装软件组件,再从应 用程序中调用这些组件。你只需要直接调用远端的w e bs e r v i c e 就可以了。 用w e bs e r v i c e 来集成各种应用中的功能,为用户提供一个统一的界面 许多应用程序都会利用w e bs e r v i c e ,把当前基于组件的应用程序结构扩展为 组件和w e bs e r v i c e 的混合结构。你也可以在应用程序中使用第三方的w e b s e r v i c e 提供的功能。你还可以把你自己的应用程序的功能通过w e bs e r v i c e 提供给别人。所有这些情况下,你都可以重用代码和代码后面的数据。总之, w e bs e r v i c e 将是软件重用的一种非常有力的形式。 1 4 2 不应该使用w e bs e r v i c e 的情况 1 单机应用程序 目前,我们还有很多桌面应用程序是供商用和个人使用的。其中一些只需 要与运行在本机上的其他程序通信。在这种情况下,我们最好就不要再用w e b 1 2 第一章x m l 和w e bs e r v i c e s e r v i c e ,只要用本地的a p i 就可以了。c o m 非常适合于在这种情况下工作, 因为它既小又快。运行在一台服务器上的服务器软件也是这样:最好直接用 c 删或其他本地的a p i 来进行应用程序问的调用,当然w e bs e r v i c e 也能用在 这些情况下,但那样不仅消耗太大,而且不会给你带来任何好处。 2 ,局域网上的同构应用程序 在许多应用中,你所有的程序都是用v b 或v c 开发的,都在w i n d o w s 平台 下使用c o m ,都运行在同一个局域网上。例如,你有两个服务器应用程序需要 相互通信,或者你有个w i n 3 2 或w i n f o r m 的客户程序要连接到局域网上的另 一个服务器程序。在这些程序里使用d c o m 会比s o a p h t t p 有效的多。总之, 只要你从应用程序结构的角度看来,有别的方法比w e bs e r v i c e 更有效,更 可行。那就不要再用w e bs e r v i c e 。 第二章基于w e bs e r v i c e 的系统集成 第二章基于w e bs e r v i c e 的系统集成 2 1 分布式系统的发展 在软件系统的开发过程中,系统集成主要实现系统的各部分( 模块) 之间 的通讯和整合,将相对分散的予系统组成一个统一的整体,实现子系统间的功 能控制和信息交互与共享。基于网络的系统集成技术已有了很多,如:d c o m ( d i s t r i b u t e dc o m p o n e n to b j e c tm o d e l ,分布式组件对象模型) 。“、 c o r b a ( c o m m o no b j e c tr e q u e s tb r o k e ra r c h i t e c t u r e ,公用对象请求代理程 序体系结构) 和j a v ar m i ( j a v ar e m o t em e t h o di n v o c a t i o n ,j a v a 远端函数 调用) 等。但是这些传统的集成技术在很大程度上受到网络环境的限制,大多 使用专有协议通过特别的端口进行远程通信,不能很好的支持客户段和服务器 通过i n t e r n e t 进行通信。 基于w e bs e r v i c e 的集成技术作为一种新的面向函数和方法的应用集成技 术,在很大程度上解决了原有集成技术在i n t e r n e t 远程通信方面的问题。w e b s e r v i c e 基于删l 文档进行服务描述,服务请求和反馈结果,可以在i n t e r n e t 上通过h t t p 协议进行传递,很容易的被访问和返回结果。同时,由于w e b s e r v i c e 的相关标准都是w 3 c 的开放协议,与平台和操作系统无关,不同的平 台和操作系统上的w e bs e r v i c e 的实现在很大程度上可以做到互
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026重庆某国有企业外包岗位(项目主任)招聘1人笔试题库附完整答案详解(全优)
- 2026年滁州凤阳县教师进修学校公开选调工作人员6名模拟试卷【黄金题型】附答案详解
- 2026江苏无锡江阴港发国际物流有限公司招聘工作人员14人考前冲刺密卷及参考答案详解(满分必刷)
- 2026中国医学科学院阜外医院心外科医师招聘模拟试卷及参考答案详解【能力提升】
- 2026年哈尔滨商业大学公开招聘科研助理、管理助理、教学助理岗位人员7人考前冲刺试卷附参考答案详解【培优B卷】
- 2026浙江舟山市普陀区沈家门街道社区卫生服务中心编外招聘1人(影像技师)模拟试卷含答案详解(A卷)
- (2026年)海产品购销合同
- 2026年节水政策解读 企业节水设备补贴申请
- 2025-2026学年四川省成都市郫都区四下数学期末学业质量监测模拟试题含解析
- 射线防护安全培训心得
- 安全仪表系统(sis)管理制度
- 灌排泵站运行工操作规程竞赛考核试卷含答案
- 勘察单位考核制度
- 脑介入手术风险告知书样本
- SA8000-2026社会责任管理体系全套管理手册及程序文件
- 金属冶炼安全员培训课程课件
- 教师风险管理办法
- 深度学习 课件 第2章 卷积神经网络
- 外墙保温装饰一体板施工方案
- 云南省公路工程试验检测费用指导价
- 签约仪式策划方案大型签约仪式流程方案
评论
0/150
提交评论