已阅读5页,还剩70页未读, 继续免费阅读
(计算机应用技术专业论文)基于soap协议的统一接入系统设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
yl掣iiiil79l 11 1 1 1 7 i l l 8 l l l 9 l l 攀 南开大学学位论文原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师指导下,进行研究工作 所取得的成果。除文中已经注明引用的内容外,本学位论文的研究成果不包含 任何他人创作的、已公开发表或者没有公开发表的作品的内容。对本论文所涉 及的研究工作做出贡献的其他个人和集体,均已在文中以明确方式标明。本学 位论文原创性声明的法律责任由本人承担。 学位论文作者签名:易斫量 力,8 年j 月矽日 。一iiir k , l1 电信企 的互联 信行业 本文在对s o a p 和各种新的增值服务协议分析的基础上,针对电信业务系 统与增值服务平台互联问题,设计并实现了基于s o a p 协议的统一接入系统。 该系统包括配置管理子系统、统一接入子系统、核心控制子系统、协议转换子 系统和监控管理子系统。 论文系统地讨论了基于s o a p 协议的统一接入系统的结构设计方法、系统 工作流程和功能模块的划分;完成了统一接入端扩展协议、多平台事务完整性 控制与动态配置管理机制的设计;研究并实现了系统的关键技术。通过配置管 理子系统增强了可扩展性和可维护性;统一接入子系统给出了统一接入接口协 议,很好地解决了多种业务方式与增值服务平台的互联问题;核心控制子系统 完成了动态路由选择、事务完整性控制和负载均衡的设计和实现;协议转换子 系统实现到各种增值服务的调用;监控管理子系统实现了增值服务的统一监控 和管理。 该系统已经成功应用于天津网通智能网综合业务平台。系统运行稳定、可 靠。该软件系统的应用不仅解决了电信业务运行系统与增值服务平台的互联, 而且便于统一的管理和维护,可以灵活管理接入的增值服务,减小了因增值服 务变动对业务运行系统的影响。 关键词:s o a pw s d lx m lw e b 服务 a b s t r a c t a b s t r a c t a l o n gw i t ht h ei n c r e m e n to fn e wv a l u e - a d d e ds e r v i c et y p e s ,s u c ha s 鼬n gb a c k t o n e ,n u m b e rp o r t a b i l i t y , u n i q u en u m b e ra n ds oo n ,a n dw i 也t h ee x t e n s i o no f s e r v i c es t y l e ,t h ec o n n e c t i o nb e t w e e nb o s sa n da l lk i n d so fv a l u e - a d d e ds e r v i c e p l a t f o r mh a sb e c o m em o r ea n dm o r ec o m p l e x ,a n di ta l s om a k e st h em a n a g e m e n t a n dm a i n t e n a n c em o r ed i f f i c u l t t os o l v et h i sp r o b l e mi st h ek e yt od e v e l o p i n g v a l u e a d d e ds e r v i c ei nt h et e l e c o m m u n i c a t i o ni n d u s t r y b a s e do na n a l y z e so fs o a pa n da l lk i n d so fv a l u e - a d d e ds e r v i c ep r o t o c o l ,t h i s p a p e rw o r k so u t am e t h o dt os o l v et h ei n t e r c o n n e c t i o nb e t w e e nb o s sa n d v a l u e - a d d e ds e r v i c e ,d e s i g n sa n di m p l e m e n t st h eu n i o na c c e s ss y s t e mb a s e do n s o a pp r o t o c 0 1 t h es o f t w a r es y s t e mi n c l u d e su n i o na c c e s sl a y e r , k e m e lc o n t r o la n d p r o t o c o lt r a n s f e rl a y e r , c o n f i g u r a t i o nm a n a g e m e n ta n dm o n i t o r i n gm a n a g e m e n t t h i sp a p e rd i s c u s s e st h et o t a lf r a m e w o r kd e s i g nm e t h o db a s e do nt h es o a p , m a i nw o r k f l o wa n df u n c t i o n sm o d u l a rd i v i s i o n i tc o m p l e t e st h ed e s i g no ft h eu n i o n i n t e r f a c ep r o t o c o l ,t r a n s a c t i o nc o n t r o la n dd y n a m i cm a n a g e m e n t b e s i d e s ,i tg i v e s o u tt h ed e t a i ld e s i g na n di m p l e m e n t sm e t h o df o re a c hs u b s y s t e m c o n f i g u r a t i o n m a n a g e m e n ti m p l e m e n t sd y n a m i ca p p e n dv a l u e a d d e ds e r v i c e u n i o na c c e s sl a y e r s u c c e s s f u l l ys o l v e st h ep r o b l e mo fc o n n e c t i o nb e t w e e nb o s sa n dv a l u e - a d d e d s y s t e m k e r n e l c o n t r o l l a y e ri m p l e m e n t sd y n a m i c r o u t e ra n dl o a db a l a n c e m a n a g e m e n t , a n dc o n t r o l st h et r a n s a c t i o n i n t e g r a l i t y p r o t o c o l t r a n s f e r l a y e r i m p l e m e n t st h ep r o t o c o lt r a n s f e rt o a l lk i n d so fv a l u e - a d d e ds e r v i c es y s t e m m o n i t o r i n gs u b s y s t e mi m p l e m e n t ss y s t e mm o n i t o r i n ga n dm a n a g e m e n t t h i ss y s t e mh a sb e e n a p p l i e dt o t h et i a n j i nc o m m u n i c a t i o n i n t e l l i g e n c e i n t e r g r a d e ds e r v i c e sp l a t f o r m t h i ss o f t w a r es y s t e mh a sn o to n l ys o l v e d t h e i n t e r c o n n e c t i o np r o b l e m ,b u ti th a sa l s om a d et h em a n a g e m e n ta n dm a i n t e n a n c e e a s i e r b e s i d e s ,t h i ss y s t e mh a sh i g hf l e x i b i l i t ya n de x t e n s i b i l i t y , w h i c hc a nr e d u c e t h ei n f l u e n c eo nb o s sd u et oc h a n g e si nt h ev a l u e a d d e ds e r v i c es y s t e m k e yw o r d s :s o a p , w s d l ,x m l ,w e bs e r v i c e s i i 目录 目录 第一章绪论1 第一节引言1 第二节目的及意义3 第三节论文各部分主要内容4 第二章s o a p 及相关技术发展情况5 第一节x m l 5 第二节s o a p 5 2 2 1s o a p 发展历史5 2 2 2s o a p 的主要功能6 2 2 3 s o a p 协议组成部分7 第三节w s d l 9 2 3 1 w s d l 概j 盔。l l 2 3 2 w s d l 文档示例1 4 第三章系统设计18 第一节整体设计1 8 3 1 1 设计原则1 8 3 1 2 系统结构设计1 9 3 1 3 整体流程2 l 3 1 4 整体类图2 5 第二节功能模块划分2 6 3 2 1 功能模块图2 6 3 2 2 模块功能描述2 8 第三节开发环境与开发工具2 8 3 3 1 基于s o a p 的w e b 服务一2 9 3 3 2 a 姬s 2 2 9 第四节系统特点31 i i i 目录 第四章系统实现3 3 第一节配置管理子系统实现3 3 4 1 1 增值服务业务管理3 3 4 1 2 增值服务接口管理3 3 4 1 3 业务接口管理3 4 4 1 4 业务路由规则管理3 4 第二节统一接入子系统实现3 5 4 2 1 统一接口协议3 5 4 2 2 统一消息解析4 1 4 2 3 统一消息返回4 l 第三节核心处理子系统实现4 l 4 3 1 增值业务排序4 2 4 3 2 动态路由选择4 2 4 3 3 负载均衡4 3 4 3 4 事务完整性控制4 4 4 3 5 组织返回消息4 7 第四节协议转换子系统实现4 8 4 4 1 协议转换服务4 9 4 4 2 超时管理51 第五节监控管理子系统实现。5 1 4 5 1日志管理5l 4 5 2 运行监控5 3 4 5 3 查询统计5 4 第六节业务系统接入5 5 4 6 1 获取w s d l 文件5 5 4 6 2 生成客户端代码5 6 第七节系统运行情况5 8 第五章总结与展望5 9 第一节总结5 9 第二节展望6 0 i v 致谢6 4 个人简历6 5 v 绪论 绪论 第一节引言 随着通信技术的发展,电信运营商为了满足用户的多样化需求,一方面要 为用户提供更多的业务服务渠道和方式,为用户提供便利;另一方面要不断引 进新的电信增值服务来满足用户的个性化需求。为了保有并争取到尽可能多的 用户量,发展新的增值业务已经成为各运营商的共识。 电信运营商为了满足用户的需求以及应对日益扩大的市场压力,经常要向 电信供应商购买一些电信增值服务产品来为用户提供增值服务,如彩铃、预付 费、同号、号码携带、智能停复机等增值服务。同时还要为用户提供全方位的 服务方式和渠道,包括自建营业厅、代理机构、个人网上自助系统、呼叫中心 等,最大限度地为用户提供优质服务,以此来赢得用户。 这些从不同的电信供应商购买来的电信增值服务产品一般都有以下特点。 1 各个电信供应商提供的产品接口协议不一定相同。例如:有的通过t c p 协议的s o c k e t ,有的通过f t p 协议,有的通过w - e bs e r v i c e s 方式,还有的通过 h t t p 协议等。 2 同一个电信供应商的增值服务产品,其不同类型产品也可能因为实现功 能和特性不同而采用不同的接口协议。 3 即使是同一种增值服务,电信运营商为了平衡或者自身不受供应商约 束,会采用不同供应商的增值服务产品。因为采用了不同的供应商产品,因而 也会造成同一种增值服务的接口协议不同。 4 每种增值服务产品都有不同的容量或者用户限制。经常随着市场的扩大 需要增加多个同样的增值服务节点来满足需求。 电信运营商为了能够把购买来的增值服务产品为用户提供服务,就需要在 业务运营支撑系统( b u s i n e s so p e r a t i o ns u p p o r ts y s t e m ,b o s s ) 系统中针对不 同厂家的电信服务产品开发与该产品对应接口程序,以便将b o s s 系统中的用 户业务数据发送到相应的增值服务平台上,这样用户才可以使用相应的增值服 第一章绪论 务产品。因为历史和技术上的原因,营业系统、网上自助系统、呼叫中心系统 采用的技术和开发工具都不一定相同,这样对于一个增值服务产品就要开发营 业系统接口、网上自助系统接口、呼叫中心接口等多种不同的接入接口。随着 电信增值服务产品越来越多,暴露出来的类似问题也就越来越明显。 图1 1 业务系统与增值服务调用关系图 在实施统一接入系统之前,b o s s 系统与各种增值业务平台的调用关系如图 1 1 所示,b o s s 系统中的每种服务方式都需要单独和每个增值服务平台开发接 口。问题主要体现在以下几个方面。 1 对于不同的增值服务产品,电信运营商的b o s s 系统( 包括营业系统、 网上自助、呼叫中心等) 都需要根据该产品的接口协议开发各种接入方式到该 产品平台对应的接口程序。 第一章绪论 2 对于b o s s 系统来讲,如果一个业务功能需要在两个或者两个以上的不 同的增值服务平台上分别实现,由于网络或者数据等原因,很难保证这个业务 功能在两个不同的智能产品平台上都成功操作,这样如果在b o s s 系统接口上 来实现对同一业务的不同的产品平台的数据一致性会很困难,不易维护。 3 对于每一个增值服务平台的改造升级,相关的b o s s 系统都需要做相应 的修改,严重影响了b o s s 系统的正常运行。 4 对于b o s s 系统来讲,如果一个业务功能可以在同一增值服务平台的两 个或者多个主机中的任何一个上面实现,则无法实现同一增值服务平台多个主 机之间的负载均衡。 5 以上问题带出来的b o s s 系统在接口方面的开发和维护工作量日益增 大,并且呈现不可控态势。 6 由此造成的营业受理系统与各增值服务平台之间的较强的依赖性,严重 影响了整个电信内部系统的可扩展性和可维护性。 第二节目的及意义 为了减轻b o s s 系统的压力以及与增值服务平台互联互通的复杂性,让 b o s s 系统更加注重于电信业务;为了接入各种电信增值产品更加容易、协议、 数据格式一致;为了减轻b o s s 系统的开发和维护工作量,就需要一套对于 b o s s 系统来讲可以采用统一的消息协议来调用各种增值服务的接口系统。从 b o s s 系统自身来讲不用考虑具体哪些设备或者产品之间互为数据备份、哪些 业务施工的先后顺序、又新增加了哪些相同数量的产品等问题,设计基于s o a p 协议的统一接入系统就是要解决这些问题。它对于b o s s 系统提供统一的基于 s o a p 协议的消息调用接口,实现应用系统之间的整合,更好实现数据信息、 控制信息的统一及共享。 基于s o a p 协议的统一接入系统可把各种业务应用系统( 包括:网站自助 服务、营业厅业务系统、呼叫中心等) 和后台的各种电信增值服务( 如:自动 停复话、彩铃、号码携带、同号等) 统一起来,实现对业务应用系统的统一接 入,对后台各种电信增值服务之间的数据的共享和交换。 通过实施基于s o a p 协议的统一接入系统,在b o s s 系统与各种电信增值 服务产品平台之间搭建一个统一的接入和协议转换平台,有利于b o s s 系统更 第一章绪论 好、更专注于业务系统的建设和管理,减轻b o s s 系统的压力,最大限度实现 了接口、数据格式的统一和数据的共享。主要的改善体现在以下几个方面。 1 实现了电信运营商的b o s s 系统( 包括营业系统、网上自助、呼叫中心 等) 到各种电信增值业务服务的统一接口;简化了b o s s 系统的开发工作量, 便于统一管理。 2 对于多个主机实现的增值服务,通过统一接入系统,很容易实现了多个 主机之间的负载均衡;同时做到了对于营业系统、网上自助、呼叫中心等系统 对于同一种增值电信增值服务的统一规范和统一处理流程。 3 增加新的增值服务,不需要b o s s 系统重新开发接口,只需统一接入系 统与新增加的增值服务平台开发接口即可。减少了b o s s 系统的开发和维护, 降低了后期的开发和维护工作量。 4 由于营业系统、网上自助系统、呼叫中心等业务系统都通过统一接入系 统与增值服务系统进行通讯,通过统一接入系统的核心控制层的事务完整性控 制可以很容易做到从应用系统过来的一个业务在多个增值服务平台之间数据的 一致性。 第三节论文各部分主要内容 论文第一章通过电信业务系统和增值服务之间的复杂接口关系引入问题, 讲述了建设基于s o a p 协议的统一接入系统的目的和意义。 第二章介绍了开发基于s o a p 协议的统一接入系统使用的技术相关知识, 包括x m l 、s o a p 、w s d l 等。重点介绍了s o a p 协议的组成。 第三章给出了系统的整体设计,给出了基于s o a p 协议的统一接入系统的 整体设计原则、框架设计、整体流程图和功能模块划分。 第四章是系统的实现部分。作为论文的核心部分,对系统包括的五大子系 统:配置管理、统一接入层、核心处理层、协议转换层、监控管理进行了详细 的功能设计和实现方法描述。详细讲述了各个组成部分以及每层之间的服务调 用规范等,同时给出了关键部分的时序图、流程图、类图和部分代码。 第五章作为论文的总结和展望篇,叙述了基于s o a p 协议建设的统一接入 系统解决的实际问题,同时给出了统一接入系统将要改进的内容和方向。 4 描述文档资料的通用语言,它包含了一系列的文档类型定义( d o c u m e n tt y p e d e f i n i t i o n ,d t d ) ,d t d 中定义了标记的含义,因而s g m l 的语法是可以扩展 的【l 】o h t m l 只使用s g m l 中很小一部分标记,例如h t m l3 2 定义了7 0 种标记。 为了便于在计算机上实现,h t m l 规定的标记是固定的,即h t m l 语法是不可 扩展的,它不需包含d t d 。h t m l 这种固定的语法使它易学易用。h t m l 继承 了s g m l 的许多重要的特点,如结构化、可扩展性、可描述性、自相容性等; 但是同时它也存在很多缺陷,如它只能使用固定的有限的标记,而且它只侧重 于对内容的显示。 同时随着w e b 上数据的增多,这些h t m l 存在的缺点就变的不可被忽略。 w 3 c 提供了h t m l 的几个扩展用来解决这些问题,最后,它决定开发一个新 的s g m l 的子集,称为x m l 。 x m l 的出现就是为了解决h t m l 所存在的这些弊病。它保留了很多s g m l 标准的优点,但是更加容易操作和在w w w 环境下实现。在1 9 9 8 年,它就变 成了w 3 c 的标准1 2 。 第二节s o a p 2 2 1 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 ,s o a p ) 是在分散或分 布式的环境中交换信息的简单的协议,是一个基于x m l 的协议【3 】。 s o a p 最早由d a v ew i n n e r 、d o nb o x 和b o da t k i n s o n 提出。在1 9 8 7 年, m i c r o s o f t 开始考虑基于x m l 的分布式计算,其目标是使应用程序能够使用 第二章s o a p 及相关技术发展情况 h t t p 上层的远程过程调用( r p c ) 相互通信,d e v e l o p m e n t o r 和u s e r l a n d 加入 到了讨论。 在1 9 9 8 年初,s o a p 名字就已经被确定。u s e r l a n d 在1 9 9 8 年发布了一个 x m l r p c 规范。 1 9 9 9 年9 月s o a p 0 9 提交i e t f 。 2 0 0 0 年5 月8 日,s o a p l 1 作为n o t e 提交w 3 c 。i b m 发布j a v as o a p 实 现,并给开放源代码组织a p a c h ex m lp r o j e c t 。s u n 公司将w e b 服务集成到j 2 e e 中。 2 0 0 0 年9 月1 3 日,w 3 c 组建了x m l 协议工作组,专门负责设计x m l 协 议,以便成为基于x m l 分布式计算的核心。这个工作组将s o a p l 1 作为基础, 并于2 0 0 1 年7 月9 日提交了第一份工作组草案s o a p l 2 【4 】。 2 2 2s o a p 的主要功能 s o a pm e s s a g i n g 和s o a pr p c 都是远程程序呼唤( r e m o t ep r o c e d u c ec a l l , i 冲c ) ,即用户端呼唤服务器上的一个程序,程序在服务器上执行,执行完后有 两种可能性【5 1 。 1 服务器要把执行的结果返回给用户( 这种情况用s o a pr p c ) 。 2 服务器不需要返回如何结果给用户( 这种情况用s o a pm e s s a g i n g ) 。 其实可以认为s o a pm e s s a g i n g 是s o a pr p c 的一种特殊情况,s o a p m e s s a g i n g 可以实现的都可以用s o a pr p c 来实现,不过s o a pr p c 用起来要 复杂一些。 使用s o a pr p c 时,s o a p 包的格式是有规定的,在s o a p 包中要写清楚, 调用哪个类的哪个方法,如果需要参量,参量也要按顺序写清楚。这样服务器 才知道要去执行哪个程序,然后将结果也用一个s o a p 包返回。 下面是一个用户使用s o a pr p c 调用的例子。 s a y h e l l o w o r l d 6 关技术发展情况 h e l l ow o r l d r p c 是指远程方法调用,m e s s a g i n g 一般认为是直接传递消息,这个消息一 般指现成的x m l 文档。 两种方式有各自的应用场景。r p c 使用比较自然直观,在实际开发时,先 完成服务端,服务端完成后会提供一个叫做w s d l 的文档给客户端开发人员。 客户端开发人员根据w s d l 文档确定这个w e bs e r v i c e s 的各种特性,包括调用 方式、方法名、参数等。 客户端开发人员可以借助s d k 工具将w s d l 描述转化为本地开发语言的代 码原型。在原型代码中可以清楚看到所使用的方法和参数。r p c 方式中间的 x m l 解析过程对两端的开发人员都是透明的,不需要了解具体的细节,这些都 是由w e bs e r v i c e s 容器实现的【6 】。 2 2 3s o a p 协议组成部分 s o a p 的前身是x m l r p c 基于x m l 的远程方法调用,类似于j a v ar m i 、 c o r b a 实现系统对象间的消息传递通信。s o a p 的格式都是x m l 规范的。 s o a p 是定义了一套基于x m l 的消息传递方式,这种方式甚至可以用于替 代手机短信。但现在主要用于h t t p 消息请求。 随着计算机技术的不断发展,现代企业面临的环境越来越复杂,其信息系 统大多数为多平台、多系统的复杂系统。这就要求企业解决方案具有广泛的兼 容能力,可以支持不同的系统平台、数据格式和多种连接方式,要求在i n t e m e t 环境下,实现系统是松散耦合的、跨平台的,与语言无关的,与特定接口无关 的,而且要提供对w e b 应用程序的可靠访问。 第二章s o a p 及相关技术发展情况 随着异种计算环境的不断增加,各种系统间的互操作性就愈显得必要,这 就要求系统能够无缝地进行通信和共享数据,从而在i n t e r a c t 环境下,消除信息 孤岛,实现信息共享、进行数据交换,达到信息的一致性。w e bs e r v i c e s 希望实 现不同的系统之间能够用“软件与软件对话 的方式相互调用,打破了各种软 件应用、网站和各种设备之间的格格不入的状态,实现“基于w e b 无缝集成” 的目标。 s o a p 在w e b 服务堆栈中作为用于x m l 消息传递的一种非常普遍的协议, 发挥着十分重要的作用。 s o a p 简单对象访问协议是在分散或分布式的环境中交换信息的简单的协 议,是一个基于x m l 的协议,它包括四个部分。 1 s o a p 封装( e n v e l o p ) :封装定义了一个描述消息中的内容是什么,是 谁发送的,谁应当接受并处理它,以及如何处理它们的框架。 2 s o a p 编码规则( e n c o d i n gr u l e s ) :用于表示应用程序需要使用的数据 类型的实例。 3 s o a pr p c 表示( r p cr e p r e s e n t a t i o n ) :表示远程过程调用和应答的协 定。 4 s o a p 绑定( b i n d i n g ) :使用底层协议交换信息。 虽然这四个部分都作为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 c a r r i n go r b 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 ) , 其中对象引用要同分布式垃圾收集一起使用。 s o a p 简单的理解,就是这样的一个开放协议s o a p = r p c + h t t p + x m l : 采用h t t p 作为底层通讯协议;r p c 作为一致性的调用途径,x m l 作为数据传 送的格式,允许服务提供者和服务客户经过防火墙在i n t e m e t 进行通讯交互。 r p c 的描叙可能不大准确,因为s o a p 一开始构思就是要实现平台与环境的无 关性和独立性,每一个通过网络的远程调用都可以通过s o a p 封装起来,包括 分布式计算环境( d i s t r i b u t e dc o m p u t i n ge n v i r o n m e n t ,d c e ) 、r p cc a l l s 、 8 第二章s o a p 及相关技术发展情况 c o m 【d c o mc a l l s 、c o r b ac a l l s 、j a v ac a l l s 。 s o a p 使用h t t p 传送x m l ,尽管h t t p 不是有效率的通讯协议,而且x m l 还需要额外的文件解析( p a r s e ) ,两者使得效率有所降低。但是x m l 是开放、 健全、有语义的语言,而h t t p 是一个广泛而又能避免许多关于防火墙的问题, 从而使s o a p 得到了广泛的应用。尤其是在对通讯的实时性要求和执行效率要 求不是很高的时候。 客户端发送请求时,不管客户端是什么平台的,首先把请求转换成x m l 格 式,s o a p 网关可自动执行这个转换。为了保证传送时参数、方法名、返回值 的唯一性,s o a p 协议使用了一个私有标记表,从而服务端的s o a p 网关可以 正确的解析,这有点类似于或等同于c o m d c o m 中的桩( s t u b ) 。转化成x m l 格式后,s o a p 终端名( 远程调用方法名) 及其他的一些协议标识信息被封装 成h t t p 请求,然后发送给服务器。如果应用程序要求,服务器返回一个h t t p 应答信息给客户端。与通常对h t m l 页面的h t t pg e t 请求不同的是,此请求 设置了一些h t t ph e a d e r ,标识是由一个s o a p 服务激发,和h t t p 包一起 传送用。 第三节w s d l w e b 服务描述语言( w e bs e r v i c e sd e s c r i p t i o nl a n g u a g e ,w s d l ) 是一种 x m l 应用,它的作用是将一个w e bs e r v i c e s 描述为一组服务访问点。 w s d l 文档将一个w e bs e r v i c e s 描述成一组网络端点或者端口,在w s d l 中,由于服务访问点和消息的抽象定义已经和具体的服务器部署和数据格式绑 定分离,因此可以再次使用这些抽象对象:消息,是对需要交换信息的抽象描 述;端口类型,是对w e bs e r v i c e s 提供的操作的抽象集合【8 j 。 特定端口类型的具体协议和数据格式定义构成了一个可以重用的绑定,一 个端口定义成一个可重用绑定和网络地址的关联,一组端口构成了一个服务。 如图2 1 所示w e b 服务的整个技术体系w 曲s e r v i c e s 堆栈【9 】。 其中,最下面两层t r a n s p o r t 、i n t e m e t 层是先前己经定义好的并且广泛使用 的传输层和网络层的标准:i p 、h t t p 、s m t p 等。而w o r k f l o w 、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 、s e r v i c ed e s c r i p t i o n 、m e s s a g i n g 层是目前开发的w e b 服务的相关标 准协议,包括服务调用协议s o a p 、服务描述协议w s d l 和服务发现集成协议 第二章s o a p 及相关技术发展情况 图2 i w e bs e r v i c e s 堆栈 u d d i ,以及服务工作流描述语言w s f l 。而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 层描述的是更高层的待开发的关于路由、可靠性以及事务等方面的协议,“? ? ? ” 代表所采用的协议或者开发语言要根据具体的情况而定。右边的m a n a g e m e n t 、 q o s 、s e c u r i t y 部分是各个协议层的公用机制,这些机制一般由外部的正交机制 来完成。 一个可以使用的w e b 服务应当按照需要选用若干层次的功能,而无需所有 的特性。但是无论如何为了实现一个一般意义上的w e b 服务,都要具备w e b 服务的基础特性:跨平台调用和接口可机器识别,那么必需使用w s d l 和 s o a p 。s o a p 是用来最终完成w e b 服务调用的,而w s d l 则是用于描述如何 使用s o a p 来调用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 的可扩展性) ,这样 无论通信时使用何种消息格式或网络协议,都可以对服务访问点及其使用的消 息格式进行描述。 1 0 第二章s o a p 及相关技术发展情况 在w s d l 的框架中,可以使用任意的消息格式和网络协议,如同s o a p 中 可以使用任意的网络协议一样。在w s d l 规范中,定义了如何使用s o a p 消息 格式、h t t pg e t p o s t 消息格式以及m i m e 格式来完成w e b 服务交互的规范。 2 3 1w s d l 概述 由于通信协议和消息格式在w e b 技术领域里已经达到了标准化,在通常的 开发过程中,对于对象的接口一定具备相应的s d k 描述文档,w e b 服务也是一 种对象,只不过它是被部署在w e b 上而已。很自然的,也完全需要有对w e b 服务这个对象的界面的s d k 描述文档。然而这两者又不尽相同,一是目前在 w e b 上的应用已经完全接受了x m l 这个基本的标准,基本上所有新出台的技 术都是基于x m l 标准的;二是w e b 服务的目标是即时装配,松散耦合以及自 动集成的,这意味着s d k 描述文档应当是具备被机器识别的能力的。 也就是说,对于使用标准化的消息格式通信协议的w e b 服务,它需要以某 种结构化的方式( 即x m l ) 对w e b 服务的调用通信加以描述,而且实现这一 点也非常重要,这是w e b 服务即时装配的基本保证。w s d l 正是这样一种描述 语言,w s d l 定义了一套基于x m l 的语法,将w e b 服务描述为能够进行消息 交换的服务访问点的集合,从而满足了这种需求。w s d l 服务定义为分布式系 统提供了可机器识别的s d k 文档,并且可用于描述自动执行应用程序通信中所 涉及的细节。 w s d l 文档将w e b 服务定义为服务访问点或端口的集合。在w s d l 中,由 于服务访问点和消息的抽象定义已从具体的服务部署或数据格式绑定中分离出 来,因此可以对抽象定义进行再次使用:消息,指对交换数据的抽象描述;而 端口类型,指操作的抽象集合。用于特定端口类型的具体协议和数据格式规范 构成了可以再次使用的绑定。将w e b 访问地址与可再次使用的绑定相关联,可 以定义一个端口,而端口的集合则定义为服务。因此,w s d l 文档在w e b 服务 的定义中使用下列元素【1 0 1 。 1 t y p e s :数据类型定义的容器,它使用某种类型系统( 一般地使用x m l s c h e m a 中的类型系统) 。 2 m e s s a g e :通信消息的数据结构的抽象类型化定义。使用t y p e s 所定义 的类型来定义整个消息的数据结构。 第二章s o a p 及相关技术发展情况 3 o p e r a t i o n :对服务中所支持的操作的抽象描述,一般单个o p e r a t i o n 描 述了一个访问入口的请求响应消息对。 4 p o r tt y p e :对于某个访问入1 2 1 点类型所支持的操作的抽象集合,这些操 作可以由一个或多个服务访问点来支持。 5 b i n d i n g :特定端口类型的具体协议和数据格式规范的绑定。 6 p o r t :定义为协议数据格式绑定与具体w 曲访问地址组合的单个服务 访问点。 7 s e r v i c e :相关服务访问点的集合。 通过图2 2 ,可以更好的理解w s d l 文档的结构组织。其中,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 具体定义了一种服务访问入口的类型,就是传入传出消息的模式 及其格式。一个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 则是指 访问入口支持的一种类型的调用l l 。 在w s d l 里面支持四种访问入口调用的模式:单请求、单响应、请求响应、 响应请求。在这里请求指的是从客户端到w e b 服务端,而响应指的是从w e b 服务端到客户端。p o r t t y p e 的定义中会引用消息定义部分的一个到两个消息, 作为请求或响应消息的格式。比如,一个股票查询的访问入口可能就会支持两 种请求消息,一种请求消息中指明股票代码,而另一种请求消息中则会指明股 票的名称,响应消息可能都是股票的价格等。 s e r v i c e 描述的是一个具体的被部署的w e b 服务所提供的所有访问入口的部 署细节,一个s e r v i c e 往往会包含多个服务访问入口,而每个访问入口都会使用 一个p o r t 元素来描述。 图2 2w s d l 文档的结构组织 p o r t 描述的是一个服务访问入口的部署细节,包括通过哪个w e b 地址( u i u ) 来访问,应当使用怎样的消息调用模式来访问等。其中消息调用模式则是使用 b i n d i n g 结构来表示。 b i n d i n g 结构定义了某
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年长沙县医疗事业单位人员招聘考试参考题库及答案解析
- 2026年内乡县医疗事业单位人员招聘考试备考题库及答案解析
- 2026年中方县社区工作者招聘笔试备考题库及答案解析
- 2026年沅陵县医疗事业单位人员招聘考试参考题库及答案解析
- 2026年尉氏县医疗事业单位人员招聘笔试模拟试题及答案解析
- 2026年文水县社区工作者招聘考试模拟试题及答案解析
- 2026年温宿县医疗事业单位人员招聘考试参考题库及答案解析
- 2026年罗平县社区工作者招聘考试模拟试题及答案解析
- 2026年金堂县医疗事业单位人员招聘考试参考题库及答案解析
- 2026年祥云县医疗事业单位人员招聘笔试备考题库及答案解析
- 2026年天津市辅警招聘考试试题带答案(精练)
- 2026年医师定期考核中医综合题库(完整版)附答案
- 2026秋教科版(新教材)小学科学六年级上册(全册)教学设计(附目录p276)
- 旅行社计调绩效考核制度
- GB/T 1690-1992硫化橡胶耐液体试验方法
- 南京农业大学农业设施工程学第一章 设施农业建筑材料2013课件
- 江西南昌大学跨境教育中心国际教育学院管理人员招考聘用(全考点)模拟卷含答案
- 秸秆综合利用技术(与工艺)课件
- 部编教材九年级历史(上)全册教案
- 水知道答案(完整版)
- 有砟轨道道床断面
评论
0/150
提交评论