毕业设计(论文)简单对象访问协议SOAP原理及抓包分析.doc

上传人:仙人指路1688 文档编号:4027039 上传时间:2023-04-01 格式:DOC 页数:44 大小:493KB
返回 下载 相关 举报
毕业设计(论文)简单对象访问协议SOAP原理及抓包分析.doc_第1页
第1页 / 共44页
毕业设计(论文)简单对象访问协议SOAP原理及抓包分析.doc_第2页
第2页 / 共44页
毕业设计(论文)简单对象访问协议SOAP原理及抓包分析.doc_第3页
第3页 / 共44页
毕业设计(论文)简单对象访问协议SOAP原理及抓包分析.doc_第4页
第4页 / 共44页
毕业设计(论文)简单对象访问协议SOAP原理及抓包分析.doc_第5页
第5页 / 共44页
点击查看更多>>
资源描述

《毕业设计(论文)简单对象访问协议SOAP原理及抓包分析.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)简单对象访问协议SOAP原理及抓包分析.doc(44页珍藏版)》请在三一办公上搜索。

1、西安邮电学院 毕 业 设 计(论 文)题 目:简单对象访问协议SOAP原理及抓包分析 院 系: 计算机学院 专 业: 网络工程 班 级: 网络0604 学生姓名: 导师姓名: 职称: 起止时间:2010年03月08日 至 2010年06月11日西 安 邮 电 学 院毕业设计(论文)任务书学生姓名指导教师职称院系计算机学院专业网络工程0604题目简单对象访问协议SOAP原理及抓包分析 任务与要求简单对象访问协议(SOAP,全写为Simple Object Access Protocol)是一种标准化的通讯规范,主要用于Web服务(web service)中。SOAP的出现是为了简化网页服务器(W

2、eb Server)在从XML数据库中提取数据时,无需花时间去格式化页面,并能够让不同应用程序之间透过HTTP通讯协定,以XML格式互相交换彼此的数据,使其与编程语言、平台和硬件无关。本课题在理解SOAP消息原理和格式的基础上,用tcp monitor工具抓包,对Web服务交互中的SOAP消息进行分析。具体要求:1. 理解Web服务; 2. 掌握 简单对象访问协议的格式; 3. 掌握tcp monitor工具的使用方法开始日期2010年3月8日完成日期2010年6 月 11日院长(签字)2010年3月12日西 安 邮 电 学 院毕 业 设 计 (论文) 工 作 计 划 学生姓名_ _指导教师_

3、 _ 职称_ _院系_计算机学院_专业_网络工程_ 题目_简单对象访问控制协议SOAP原理及抓包分析_ _工作进程起 止 时 间工 作 内 容3月8日-4月10日: Web服务基本概念理解4月11日-5月1日: Web服务平台搭建 5月2日 5月24日 SOAP协议理解并分析 5月25日-6月5日: 毕业论文书写 6月6日- 6月11日: 准备答辩主要参考书目(资料)主要参考书目(资Java与SOAP. Robert Englander .中国电力出版社主要仪器设备及材料1、配置较高的计算机1台。(内存较大)2、提供上网环境论文(设计)过程中教师的指导安排每周一指导一次,其它时间有问题可以通过

4、E-mail解决。对计划的说明无 西安邮电学院毕业设计(论文)开题报告 计算机 学院 网络工程 专业 06 级 04 班课题名称:简单对象访问协议SOAP原理及抓包分析 学生姓名: 学号:指导教师: 报告日期: 2010年3月16日 1. 本课题所涉及的问题及应用现状综 本课题所涉及的问题:1) 理解Web服务,掌握其原理及简单对象访问协议(SOAP Simple Object Access Protocol)在其中所起的所用,工作过程;2) 掌握简单对象访问协议(SOAP)的格式;3) 掌握tcp monitor工具的使用方法,对Web服务中SOAP协议作用下所抓到的报文进行分析。应用现状:

5、随着计算机技术的不断发展,现代企业面临的环境越来越复杂,其信息系统大多数为多平台、多系统的复杂系统。这就要求企业解决方案具有广泛的兼容能力,可以支持不同的系统平台、数据格式和多种连接方式,要求在Internet环境下,系统是松散耦合的、跨平台的,与语言无关的,与特定接口无关的,而且要提供对Web应用程序的可靠访问。随着异种计算环境的不断增加,各种系统间的互操作性就愈显得必要,要求系统能够无缝地进行通信和共享数据,从而在 Internet 环境下,消除巨大的信息孤岛,实现信息共享、进行数据交换,达到信息的一致性。Web services 希望实现不同的系统之间能够用软件-软件对话的方式相互调用,

6、打破了软件应用、网站和各种设备之间的格格不入的状态,实现基于WEB无缝集成的目标。W3C联盟召开的第一次Web服务专题研讨会,便是为了探索W3C应向哪个方向发展才能实现新兴的Web服务架构的标准化,其中SOAP在Web服务堆栈中作为用于XML消息传递的一种非常普遍的协议,发挥着十分重要的作用。IBM 公司启动了Apache SOAP 项目计划,微软又推出了SOAPtoolkit2.0的正式版,主要包括如下的一些特征:SOAP的高层接口和低层接口,消息对象接口,完全支持WSDL 1.1标准,支持用户自定义类型映射,并且提供了丰富和完整的开发文档以及应用实例。而且,两家公司正在互操作性方面努力研究

7、。可以乐观的估计,不用多久,SOAP 互操作性的时代就将来临。2本课题需要重点研究的关键问题、解决的思路及实现预期目标的可行性分析需重点研究的关键问题:1) 了解什么是Web服务,Web服务是怎样的过程;2) 在Web服务中SOAP协议的运行和发会的作用;3) 具体认识了解认识SOAP协议的格式,以便进行之后的抓包分析。解决的思路:1)通过参考互联网和书本上的有关Web服务的过程,以及相关的文献来了解Web服务;2) 或者与同学互相交流相关自己研究课题的内容,以便补充自己了解的不足;3)或者在与同学交流中也解决不了问题时同老师交流,来解决。实现目标的可行性分析:对SOAP协议在Web中的消息进

8、行抓包分析,同时也是要先对Web服务的过程进行了解,并熟悉SOAP在Web中所起到的作用。可以通过互联网、从图书馆借阅图书,与同学老师交流来对其进行了解,抓包分析可以在实验室中进行,应用tcp monitor来进行抓包分析,以便更系统和形象的了解整个Web服务过程中SOAP所起到的作用。其中的重点还是在于对Web服务过程的掌握和SOAP的应用。3完成本课题的工作方案 工作方案:1) 3月-4月查阅资料,对Web先进行基本的了解,同时了解SOAP在Web中应用的实例;2) 4月-5月进行更深入的了解SOAP,此时要熟练掌握Web服务中SOAP怎么样运用,SOAP消息包的格式,并进行初步的抓包分析

9、准备;3) 5月开始就要深入的对SOAP消息包进行分析,更进一步的了解SOAP在Web服务中的工作流程,熟练掌握Web服务的工作过程及SOAP协议的原理;4) 以上进行在6月之前完毕,并开始准备毕业论文,进行毕业答辩。4指导教师审阅意见本课题要求能比较深刻的理解SOAP协议和Web Service等内容基本概念能应用SOAP协议具体化的理解Web Service。 该生已对本课题有了一定的理解和学习。同意开题。指导教师(签字): 2010 年 3 月 18 日说明:本报告必须由承担毕业论文(设计)课题任务的学生在毕业论文(设计) 正式开始的第1周周五之前独立撰写完成,并交指导教师审阅。西安邮电

10、学院毕业设计 (论文)成绩评定表学生姓名性别学号专 业班 级网络0604课题名称简单对象访问协议SOAP原理及抓包分析课题类型其他难度适中毕业设计(论文)时间2010 年3月8日6月 11日 指导教师 (职称:)课题任务完成情况论 文 12.495 (千字); 设计、计算说 明书 (千字); 图纸 (张);其它(含附 件):指导教师意见 分项得分:开题调研论证 分; 课题质量(论文内容) 分; 创新 分;论文撰写(规范) 分; 学习态度 分; 外文翻译 分指导教师审阅成绩:指导教师(签字): 年 月 日评阅教师意见分项得分:选题 分; 开题调研论证 分; 课题质量(论文内容) 分; 创新 分;

11、论文撰写(规范) 分; 外文翻译 分评阅成绩: 评阅教师(签字): 年 月 日验收小组意见 分项得分:准备情况 分; 毕业设计(论文)质量 分; (操作)回答问题 分验收成绩:验收教师(组长)(签字): 年 月 日答辩小组意见分项得分:准备情况 分; 陈述情况 分; 回答问题 分; 仪表 分答辩成绩: 答辩小组组长(签字): 年 月 日成绩计算方法(填写本系实用比例)指导教师成绩 () 评阅成绩 () 验收成绩 () 答辩成绩 ()学生实得成绩(百分制)指导教师成绩 评阅成绩 验收成绩 答辩成绩 总评 答辩委员会意见毕业论文(设计)总评成绩(等级): 院答辩委员会主任(签字): 院(签章) 年

12、 月 日备注西安邮电学院毕业论文(设计)成绩评定表(续表)目录摘要IABSTRACTII1 引言12 概论22.1 Web Service简介22.2 WS的体系结构32.3 Web服务43 SOAP协议63.1 SOAP协议63.2 SOAP消息73.3 SOAP=RPC+HTTP+XML83.4 XML和HTML的差异93.5 SOAP 的前景104 SOAP协议结构114.1 SOAP协议简介114.2 SOAP协议结构及语法规则124.3 SOAP 消息的基本结构125 SOAP协议的应用145.1 SOAP 和 WSDL145.2 SOAP 体系结构145.3 SOAP 请求响应机制

13、165.4 SOAP 模式与实现206 SOAP抓包分析实验257 结论29致谢30参考文献31摘要SOAP(Simple Object Access Protocol),它是一种标准消息传递协议,通常是Web Service的事实标准。SOAP规范描述了四个主要的构件.使用信封形式的封装数据和路由路径的格式化规范,传输或是绑定协议,编码规则,RPC调用机制 . 信封定义一个为描述消息内容的规范,这个消息有一种轮流排队处理的含义.协议绑定能够使用低级别的HTTP协议传递SOAP消息提供一个一般的机制.编码规则提够一种规范为了映射各种各样应用数据到基于标签表现的TAG。最后 RPC机制提够了一种

14、表示远程调用和他们返回值的方法。网络中,不管你的Web service是用什么工具,什么语言写出来的,只要你用SOAP协议通过HTTP来调用它,总体结构都一致。通常,你用你自己喜欢的语言(如VB 6或者VB.NET)来构建你的Web service,然后用SOAP Toolkit或者.NET的内建支持来把它暴露给Web客户。于是,任何语言,任何平台上的客户都可以阅读其WSDL文档,以调用这个Web service。客户根据WSDL描述文档,会生成一个SOAP请求消息。Web service都是放在Web服务器 (如IIS) 后面的,客户生成的SOAP请求会被嵌入在一个HTTP POST请求中,

15、发送到Web服务器来。Web服务器再把这些请求转发给Web service请求处理器。请求处理器的作用在于,解析收到的SOAP请求,调用Web service,然后再生成相应的SOAP应答。Web服务器得到SOAP应答后,会再通过HTTP应答的方式把它送回到客户端。 关键字:RFC,Web Service,HTTP,WSDL AbstractSOAP (Simple Object Access Protocol), which is a standard messaging protocol,communication.Is often the de facto standard Web Se

16、rvice.SOAP specification describes four main components. Use the envelope forms of packaging and routing path data format specifications, transmission or binding agreement, coding rules, RPC call mechanism. Envelope to define a standard for describing the message content, the news There is a rotatio

17、n queue processing means. protocol bindings to the HTTP protocol using low-level SOAP message passed to provide a general mechanism. encoding rules provide enough of a standard application for mapping data to a variety of labels based on the performance of TAG. Finally, a RPC mechanism to provide en

18、ough distance call and they said the method return value.Whether your Web service is what tools, what language to write out, as long as you use SOAP protocol via HTTP to call it, are consistent with the overall structure. Typically, you use your own preferred language (such as VB 6 or VB.NET) to bui

19、ld your Web service, then use the SOAP Toolkit or. NETs built-in support to expose it to the Web client. Thus, any language, any platform, customers can read the WSDL document to call the Web service. Customers under the WSDL description document, will generate a SOAP request message. Web service ar

20、e on the Web server (such as IIS) later, the customer generates the SOAP request will be embedded in a HTTP POST request, sent to the Web server. Web server then forwards the requests to the Web service request processor. The role of the request processor is parsing the SOAP request received, call t

21、he Web service, then generate the appropriate SOAP response. Web server to get the SOAP response, will then respond by way of HTTP send it back to the client. bbs.bitsCN.com China Webmaster ForumKEYWORDS: RFC,Web Service,HTTP,WSDL1 引言随着计算机技术的不断发展,现代企业面临的环境越来越复杂,其信息系统大多数为多平台、多系统的复杂系统。这就要求今天的企业解决方案具有广

22、泛的兼容能力,可以支持不同的系统平台、数据格式和多种连接方式,要求在Internet 环境下,实现系统是松散耦合的、跨平台的,与语言无关的,与特定接口无关的,而且要提供对Web 应用程序的可靠访问。随着异种计算环境的不断增加,各种系统间的互操作性就愈显得必要,要求系统能够无缝地进行通信和共享数据,从而在 Internet 环境下,消除巨大的信息孤岛,实现信息共享、进行数据交换,达到信息的一致性。Web services 希望实现不同的系统之间能够用软件-软件对话的方式相互调用,打破了软件应用、网站和各种设备之间的格格不入的状态,实现基于WEB无缝集成的目标。Web服务是我们能够对因特网或网络上

23、的一个对象进行远程调用RPC(Remote Procedure Call)。Web服务使用中性平台标准(例如:HTTP和XML),这使我们可以对客户完全隐藏执行任务的细节,客户只需要知道这个服务的URL或方法调用使用的数据类型,而不需要知道该任务到底是一个在Linux上运行的还是一个在Windows上运行的用Java编程的ASP.NET服务。本论文中所研究的就是网络中SOAP协议的应用,主要是更深刻的理解SOAP协议在网络中客户端和服务器端进行通信,信息交流的过程中如何实现,相对于其他协议有哪些优点。而对于Web服务来讲,SOAP协议又有何独特的意义。2 概论2.1 Web Service简介

24、Web服务(Web Service)是基于XML和HTTPS的一种服务,其通信协议主要基于SOAP,服务的描述通过WSDL,通过UDDI来发现和获得服务的元数据。Web service到底是什么;在什么情况下你应该使用Web service。 分布式应用程序和浏览器 研究一下当前的应用程序开发,你会发现一个绝对的倾向:人们开始偏爱基于浏览器的受客户应用程序。这当然不是因为受客户能够提供更好的用户界面,而是因为它能够避免花在桌面应用程序发布上的高成本。发布桌面应用程序成本很高,一半是因为应用程序安装和配置的问题,另一半是因为客户和服务器之间通信的问题。 传统的Windows富客户应用程序使用DC

25、OM来与服务器进行通信和调用远程对象。配置好DCOM使其在一个大型的网络中正常工作将是一个极富挑战性的工作,同时也是许多IT工程师的噩梦。事实上,许多IT工程师宁愿忍受浏览器所带来的功能限制,也不愿在局域网上去运行一个DCOM。在我看来,结果就是一个发布容易,但开发难度大而且用户界面极其受限的应用程序。极端的说,就是你花了更多的资金和时间,却开发出从用户看来功能更弱的应用程序。不信?问问你的会计师对新的基于浏览器的会计软件有什么想法:绝大多数商用程序用户希望使用更加友好的Windows用户界面。 关于客户端与服务器的通信问题,一个完美的解决方法是使用HTTP协议来通信。这是因为任何运行Web浏

26、览器的机器都在使用HTTP协议。同时,当前许多防火墙也配置为只允许HTTP连接。 Web服务(Web Service WS)通常指通过Web提供的各种服务。一个典型的WS过程是:一个业务应用通过使用HTTP的SOAP协议向某个指定URL上的一个服务发出请求,这个服务接受并且处理该请求后返回一个响应。一个经常被引用的例子是股票报价服务,服务的请求是询问某股票的当前价格,服务的响应是该股票的价格。这是最简单的WS例子,其请求几乎瞬间即可被满足,请求和响应是同一个方法调用的不同组成部分。另外一个例子是指定货物高校配送线路的服务。其中,商店发出的请求中包含递送的目的地,服务经过处理后确定成本最低的配送

27、线路。返回响应的时间取决于线路的复杂程度,因此有可能发送和相应的操作与请求分开进行。WS和WS的消费者通常都是交易者,这使得WS的主流是企业对企业(B2B)间的业务处理。一个企业有可能使某些WS的提供者,同时又是其他WS的消费者。例如:对于一个香料批发企业,当他使用WS核对香草豆是否有活的时候,其角色时WS的消费者;当他把不同卖主的价格提供给未来消费者的时候,其角色又是WS的提供者。2.2 WS的体系结构总的来说Web Service的体系结构由简单对象访问模型而来,把所有的应用实体都抽象成服务,包括三个角色和三种基本此操作:三个角色如下:服务提供者(Service Provide):从商务角

28、度看,它是指服务的所有者,从体系结构上来看,它是指提供服务的平台。服务请求者(Service Requester):从商务角度看,它是指需要请求特定功能的企业,从体系结构看,它是指查找和调用服务的客户端应用程序。服务代理(Service Broker):它是指用来存储服务描述信息的信息仓库(Repository)。它负责为服务提供方发布服务,为服务请求方查找服务,并且将获取服务的信息绑定给请求方。三种基本操作如下:发布(Publish):服务提供者需要将服务进行一定的描述并发布到注册服务器上。在发布操作中,服务提供者需要通过注册服务器的神恩验证才能对服务描述信息进行发布和修改。查找(Find)

29、:服务请求方根据注册服务器提供的规范接口发出查询请求,从而获取所需服务的相关信息。在查找操作中,一般有两种查找模式。一种是浏览模式(Browse Pattern),及服务请求方可以根据通用的分类标准来浏览或者通过一些关键词来搜索,逐步缩小查找的范围,直到找到满足需要的服务,其查找结果是一系列服务的集合。另一种是直接获取模式(Drill Down Pattern),即通过惟一的关键词直接得到特定服务的描述信息,其查找结果是唯一的。绑定(Bind):服务请求方通过分析从注册服务器中得到的服务绑定信息,例如服务访问路径、服务调用的参数、返回结果、传输协议、安全要求等,对自己的系统进行相应配置,进而可

30、远程调用服务提供者所提供的服务。对应上述三种操作,给出了三种标准如下:SOAP(Simple Object Access Protocol,简单对象访问协议),它实现的是低层协议,定义了服务请求者和服务提供者之间的消息传输规范。SOAP用XML描述信息,用HTTP承贷消息。SOAP包括四部分:一是封皮,定义了描述消息和如何处理消息的框架;二是表达应用程序定义的数据类型实例的编码规则(SOAP编码规则);三是SOAP RPC表示,定义远程过程调用和应答的协议;四是SOAP绑定(Bind),定义法如何使用底层传输协议进行SOAP消息的交换。WSDL(Web Services Description

31、 Language,Web服务描述语言),它是Microsoft公司的SDL(Services Description Language)、IBM公司的NASSL(Network-Accessible Services Specification Language)合并后被W3C接纳所形成的标准。WSDL为服务提供者提供以XML格式描述WS请求的标准格式,将网络服务描述为能够进行消息交换的通信端点的集合,以表达一个WS能做什么,它的位置在哪里,如何调用它等。UDDI(Universal Discover、 Description 、Integration 通用发现、描述、集成)它是在原有Mic

32、rosoft提供的DISCO(Discription of Web Services)和IBM提出的。2.3 Web服务Web服务(Web Service)是基于XML和HTTPS的一种服务,其通信协议主要基于SOAP,服务的描述通过WSDL,通过UDDI来发现和获得服务的元数据。Web服务是提供由HTML等语言描述的信息,Web浏览器是为了将这些信息提取出来在客户端运行的软件。互联网是Web服务器的集合体。从表面上看,Web service 就是一个应用程序,它向外界暴露出一个能够通过Web进行调用的API。这就是说,你能够用编程的方法通过Web来调用这个应用程序。我们把调用这个Web se

33、rvice 的应用程序叫做客户。例如,你想创建一个Web service ,它的作用是返回当前的天气情况。那么你可已建立一个ASP页面,它接受邮政编码作为查询字符串,然后返回一个由逗号隔开的字符串,包含了当前的气温和天气。要调用这个ASP页面,客户端需要发送下面的这个HTTP GET请求:Web service 更精确的解释: Web services是建立可互操作的分布式应用程序的新平台。作为一个Windows程序员,你可能已经用COM或DCOM建立过基于组件的分布式应用程序。COM是一个非常好的组件技术,但是我们也很容易举出COM并不能满足要求的情况。Web的服务器软件成为Web服务器软件

34、,这种为了通过HTTP进行交换的后台程序也称为HTTPd(HTTP daemon)。如表 2-1表 2-1 Web服务器软件Web服务器软件运行环境说明IIS(Internet Information Serber)WindowsNT/2000 Serber是在Windows系列网络OS的NT或2000上运行的Web服务器软件同OS捆绑在一起或者实地安装提供ASP环境的服务器有增加的倾向Apache主要是UNIX系列的OS(也有对应于WindowsNT/2000/98/Me)是以NCSA HTTPd的1.3版本为基础,进行了各种各样的功能扩展而发布了的Web服务器软件之一3 SOAP协议3.1

35、 SOAP协议随着计算机技术的不断发展,现代企业面临的环境越来越复杂,其信息系统大多数为多平台、多系统的复杂系统。这就要求今天的企业解决方案具有广泛的兼容能力,可以支持不同的系统平台、数据格式和多种连接方式,要求在Internet 环境下,实现系统是松散耦合的、跨平台的,与语言无关的,与特定接口无关的,而且要提供对Web 应用程序的可靠访问。随着异种计算环境的不断增加,各种系统间的互操作性就愈显得必要,要求系统能够无缝地进行通信和共享数据,从而在 Internet 环境下,消除巨大的信息孤岛,实现信息共享、进行数据交换,达到信息的一致性。Web services 希望实现不同的系统之间能够用软

36、件-软件对话的方式相互调用,打破了软件应用、网站和各种设备之间的格格不入的状态,实现基于WEB无缝集成的目标。今年四月份的时候,W3C联盟召开了第一次 Web 服务专题研讨会,目的为探索 W3C 应向哪个方向发展才能实现新兴的 Web 服务架构的标准化,期间提出了一个Web 服务堆栈的构想,如下图,从图中可以看出,SOAP在WEB服务堆栈中作为用于 XML 消息传递的一种非常普遍的协议,发挥着十分重要的作用。图3-1 SOAP在WEB服务堆栈中的作用3.2 SOAP消息1第一个例子阐明了SOAP中一个简单的通信信息,包括了两个不是SOAP定义而是应用程序定义的元素:头块元素alertcontr

37、ol 和体块元素alert。头块元素包括两个参数:priority 和expires。体块元素包括的是实际传送的信息。图3-2 SOAP中一个简单的通信信息2SOAP通信与底层的不同协议和不同的交换格式有关,下面的例子SOAP使用HTTP作为底层通信协议,从而可以很好的使用request/response机制来传送信息。 SOAP/HTTP请求包括一个GetLastTradePrice的块元素,该请求携带一个字符串参数和ticker符号,在SOAP应答中返回一个浮点数。XML名域用来区分SOAP标志符和应用程序特定的标志符。图3-3 使用HTTP作为底通信协议3. 例3 展示的是StockQu

38、ote SOAP服务信息,是对例2的请求作出的一条应答消息。图3-4 对于请求作出的一条应答消息3.3 SOAP=RPC+HTTP+XMLSOAP简单的理解,就是这样的一个开放协议SOAP=RPC+HTTP+XML:采用HTTP作为底层通讯协议;RPC作为一致性的调用途径,XML作为数据传送的格式,允许服务提供者和服务客户经过防火墙在INTERNET进行通讯交互。RPC的描叙可能不大准确,因为SOAP一开始构思就是要实现平台与环境的无关性和独立性,每一个通过网络的远程调用都可以通过SOAP封装起来,包括DCE(Distributed Computing Environment )RPC CAL

39、LS,COM/DCOM CALLS, CORBA CALLS, JAVA CALLS,etc。SOAP 使用 HTTP 传送 XML,尽管HTTP 不是有效率的通讯协议,而且 XML 还需要额外的文件解析(parse),两者使得交易的速度大大低于其它方案。但是XML 是一个开放、健全、有语义的讯息机制,而 HTTP 是一个广泛又能避免许多关于防火墙的问题,从而使SOAP得到了广泛的应用。但是如果效率对你来说很重要,那么你应该多考虑其它的方式,而不要用 SOAP。为了更好的理解SOAP, HTTP, XML如何工作的,不妨先考虑一下COM/DCOM的运行机制,DCOM处理网络协议的低层次的细节问

40、题,如PROXY/STUB间的通讯,生命周期的管理,对象的标识。在客户端与服务器端进行交互的时候,DCOM采用NDR(Network Data Representation)作为数据表示,它是低层次的与平台无关的数据表现形式。DCOM是有效的,灵活的,但也是很复杂的。而SOAP的一个主要优点就在于它的简单性,SOAP使用HTTP作为网络通讯协议,接受和传送数据参数时采用XML作为数据格式,从而代替了DCOM中的NDR格式,SOAP和 DCOM执行过程是类似的,但是用XML取代 NDR作为编码表现形式,提供了更高层次上的抽象,与平台和环境无关。客户端发送请求时,不管客户端是什么平台的,首先把请求

41、转换成XML格式,SOAP网关可自动执行这个转换。为了保证传送时参数,方法名,返回值的唯一性,SOAP协议使用了一个私有标记表,从而服务端的SOAP网关可以正确的解析,这有点类似于COM/DCOM中的桩(STUB)。转化成XML格式后,SOAP终端名(远程调用方法名)及其他的一些协议标识信息被封装成HTTP请求,然后发送给服务器。如果应用程序要求,服务器返回一个HTTP应答信息给客户端。与通常对HTML页面的HTTP GET请求不同的是,此请求设置了一些HTTP HEADER,标识着一个SOAP服务激发,和HTTP包一起传送。例如:对于一个询问股票价格的应用程序,服务器端具有组件提供某股票当前

42、的价格,组件是COM或CORBA在服务器上建立的。客户端发送一个SOAP请求给服务器询问股票价格。服务器依赖于服务器上的SOAP网关,使用内嵌的HTML对象调用合适的方法, 然后把得到的价格通过SOAP应答传给客户端。3.4 XML和HTML的差异XML和HTML的不同可以归纳为3点: 1)XML扩展性比HTML强 XML(Extensible Markup Languages)是扩展标记语言的英语缩写,他可以创建个性化的标记语言,可以称之为元语言。XML的标记语言可以自定义,这样可以提供更多的数据操作,而不像HTML一样,只能局限于按一定的格式在终端显示出来。HTML的功能只有浏览器放入显示

43、和打印,仅仅适合静态网页的要求。 2)XML的语法比HTML严格 由于XML的扩展性强,它需要稳定的基础规则来支持扩展。它的严格规则为: 1、起始和结束的标签相匹配 2、嵌套标签不能相互嵌套 3、区分大小写 相对应XML的严格规则,HTML语言并没有规定标签的绝对位置,也不区分大小写,而这些全部由浏览器来完成识别和更正。 3)XML与HTML互补 XML可以获得应用之间的相应信息,提供终端的多项处理要求,也能被其他的解析器和工具所使用,在现阶段,XML可以转化成相应的HTML,来适应当前浏览器的需求。 XML 工具 XML如果有一个好的编辑器就能够减少很多麻烦3.5 SOAP 的前景W3C于2000年5月8日发表了Simple Object Access Protocol (SOAP) 1.1版本,具体规范发布在下列站点上( http:/www.w3.org/TR/SOAP/)。又与今年7月9号推出了SOAP Version 1.2版本的建议草案,具体规范发布在下列站点上( http:/www.w3.org/TR/soap12/)。编写SOAP Version 1.1版本的工作小组的成员包括: DevelopMent

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号