首页 > 文章中心 > soap协议

soap协议

soap协议

soap协议范文第1篇

关键词:UPnP,设备控制,SOAP,设计与实现

 

1. 引言

UPnP是通用即插即用(UniversalPlug and Play)的缩写,主要用于实现设备的智能互联互通。在结合了UPnP技术的设备以物理形式连接到网络中之后,它们可以通过网络自动彼此连接在一起,而且连接过程无需用户的参与和使用中央服务器

[4]

。使用UPnP协议不需要设备驱动程序,因此使用UPnP建立的网络是介质无关的,它可以运行在几乎所有的操作系统平台之上,可使用C,C++,JAVA和VB等开发语言,可方便地构建设备相互联通的网络环境。

2. UPnP-AV媒体播放系统概述

UPnP提供的媒体播放系统体系结构定义了基本的AV设备和服务模板,说明了UPnP控制点和 UPnP-AV设备之间的整体关系,支持多种设备类型、内容格式及传输协议。一个UPnP控制点控制多个设备完成所需工作,但这些设备与控制点之间的相互作用都是独立的,控制点协调各台设备,使其成为一个整体。

1.1 UPnP设备控制的过程

UPnP设备工作过程由设备寻址、设备发现、设备描述、设备控制、设备事件、设备表征几部分构成,其核心部分就是设备控制。免费论文参考网。

设备控制过程主要基于简单对象存取协议(SimpleObject Access Protocol )。SOAP协议是一种应用程序之间进行数据通讯的机制,是一种在HTTP上使用XML发送命令并接收值的远程过程调用

[5]

。控制点通过向设备服务发出操作来控制设备,一般通过向服务的控制URL地址发送一个适当的控制消息,而服务则做出相应的响应。操作的效果可能改变一个描述服务运行状态的变量,设备事件将这一改变发送到所有相关的控制点。控制点也会轮询服务以获得状态变量的当前值,而每个服务则必须保持状态变量的一致性。

1.2 UPnP-AV媒体播放系统的控制过程

一个完整的UPnP-AV体系由三部分组成:一个用于控制播放过程的控制点(ControlPoint),相当于遥控器;一台用于存取视频、音频文件的MediaServer,相当于影碟机;一台用于输出图像和声音的MediaRenderer,相当于电视机。UPnP-AV系统工作由控制点启动。控制点请求设置 MediaServer 和MediaRenderer 以便使需要的内容从 MediaServer 流动到MediaRenderer (使用双方都支持的协议和数据格式)。 MediaServer 和 MediaRenderer 则处理控制点的UPnP操作调用。控制点不参与实际的内容传送过程,而只在需要时对它们进行简单的设置,并启动传输,一旦传输开始,控制点就退出了。如果用户需要,控制点可以调用各种各样的 AVTransport 操作来控制内容的流动,如Stop、Pause、FF、REW等。此外,控制点也能控制 MediaRenderer 设备的播放特性,如亮度、对比度、音量等。图1描述了三者之间的相互作用顺序。

soap协议范文第2篇

论文摘要:随着计算机网络的迅猛发展.现代企业和政府部门要求网络信息系统能够是松散耦合的、有良好的跨平台性,并且设计简单。SOAP正是基于此类需要而产生的协议。但是SOAP的特点使得基于其上的应用在效率的表现上较为低下。通过分析SOAP的请求响应机制.对这一过程中的某些方面优化的可能进行了一些探讨。

0引言

SOAP协议往往生成冗长的请求与应答, HTTP并不是有效率的通信协议,除此以外,基于文档的开放的无状态的协议处理客户端请求必须做更多的工作,其中包括必须对请求和结果进行语法分析,传输的内容的要进行序列化,XML需要文件解析等等,所有这些都需要耗费大量时间。因此,SOAP调用的等待时间往往高于CORBA调用的等待时间,基于SOAP的网络信息系统也显得效率低下。因此,必须找出不足的原因.并找出提高效率的对策。

1 SOAP服务分析

SOAP是一个在分散化的分布式环境中用来交换信息的轻便协议。一个典型的SOAP服务通常包含以下组件:SOAP客户机、SOAP服务器、实际服务(如图1)。

2讨论和优化

作为简单性和可伸缩性的代价,SOAP的调用过程耗费了大量的时间在序列化(对象到XML)、解析(XML到对象)、将用户的请求传输给后端服务器以及网络传输上,以下针对这些方面进行进一步讨论和优化处理。

2.1硬件扩充

从硬件的角度来看,可以从“内缩放”和“外缩放”来改进等待时间。内部缩放,即可以通过为服务器使用更多的或更好的硬件来改进软件的性能,例如采用更多的CPU、内存以及更高的网络带宽、增加传输的高速缓存器等。外部缩放,即通过把负载分布到多台服务器上来改进系统的性能。这时要求分布式网络系统要么是无状态的,要么在多台计算机之后共享状态。

2.2解析的考虑

有两种处理XML数据的模型:使用语法分析器产生的语法事件序列,直接输人到用户的处理中;或者首先把嵌套的节点、XML源结构构造成一个表示该程序的树中,然后通过与这些树形的数据类型相关的API来操作XML数据。这两种模型导致了两个不同的XML解析标准:

(1)基于事件的解析器SAX(Simple API for XML)

(2)基于树型的解析器DOM (Document Object Model )

(3)选择和改进

采用SAX或者DOM实际上是各有利弊的。

如果在SOAP Body中包含了大量的数据,可以在具体应用中进行合适的分段解析(见图2),在BODY中将这些数据分成适当大小的数据块,然后发送出去。而SOAP消息的接受端的处理程序将会把每个块元素视为一个原子,利用SAX进行解析。处理中,将视每个块元素被成功处理与否,而将相应的确认加入到SOAP响应中去。当SOAP请求消息被处理完毕之后,SOAP响应消息的生成处理也同时被完成。因此,消息的处理和响应的生成是交错进行的,这样做可以有效地提高了处理的时间。

当然,也可以适当对DOM分析器做一些改进氏在文档很庞大的情况下,采用一种基于“拉”的技术的DOM,也就是说,可以仅创建出要访问的那部分XML文档的基于DOM的内存结构。具体操作是,在解析中,只有遇到感兴趣的那部分的节点,才将该节点相关的部分读人成为完整的DOM树结构,即将其整个拉人内存中,然后可以调用常规的DOM方法进行处理。这种做法将有助于克服DOM的低效性,同时利用了DOM能允许代码直接读和修改XML文档各部分的特性。

2.3利用高速援存技术

使用高速缓存技术的好处在于它改进了应用系统的响应时间,避免重复执行相同的计算操作,或是避免当结果集在一段时间内持续有效的前提下,重复执行后台复杂的数据库访问,因为一系列针对相同信息的请求可以使用被高速缓存的版本来响应,而无需重复地处理并占用系统开销。高速缓存机制的另一个好处则是针对数据的传输,应用了高速缓存机制之后,数据的副本可以存于叶节点服务器以方便本地的服务,而无需重复地访间中央信息库。这样,不仅加快了对信息的访间,同时缩减了对网络带宽的占用,减轻了中央服务器的负载。此外,高速缓存技术改进了SOAP服务中的瓶颈,降低了序列化对象到XML文档上所花费的时间。

2.4网络传抢

SOAP消息的传输是通过绑定相应的传输协议来实现的。尽管SOAP可以采用其他传输协议,但它通常都是通过HTTP协议来完成网络传输工作的。

在使用HTTP进行SOAP消息的传输时,必须在消息头指定消息体的长度。在HTTP1.0中,这个值要在序列化后才能决定下来,然后填人消息头等待发送。所以在传输SOAP消息之前,系统中要有两个以供发送的缓冲器来分别存放消息头和消息体。并且要序列化完整的SOAP消息后以后才能完成消息头,再开始传输。这样做会增加系统调用,在消息很大时耗费大量的内存,并且在完成整个消息后才发送也延长了传输时间。

解决的办法是采用分块传送机制。可以将SOAP的消息体被分成适当大小的块以流的形式被传输.这时候不再需要计算整个消息体的大小.因为块大小是确定的,SOAP的接收者在处理消息时就能根据块的大小决定每块消息体在哪里结束。去掉消息体的长度意味着SOAP的发送者不用将整个SOAP消息放人缓冲区等待发送,而是将整个消息分块分批进行处理和传送,这样就允许网络传输和序列化能重叠进行,减少系统开销。同时,采用永久连接的方式,这将减少为每一个消息产生新连接的开销。

soap协议范文第3篇

WSDL文档的元素

在WSD的应用中,所有的WS协议都是用WSDL和XSD编写的。WSDL主要可以描述服务提供的操作,如何访问服务以及协议相关的地址。

■ Types

Types定义了Web服务使用的所有数据类型集合,可被元素的各消息部件所引用。它使用某种类型系统,一般使用XML Schema中的类型系统。它是一个数据类型定义的容器,包含了所有在消息定义中需要的XML元素的类型定义。

■ Message

Message是通信消息数据结构的抽象类型化定义,它通过使用Types所定义的类型来定义整个消息的数据结构。

■ Operation

Operation是对服务中所支持操作的抽象描述。一般单个Operation描述了一个访问入口的请求/响应消息对。

■ PortType

PortType是对于某个访问入口点类型所支持操作的抽象集合,这些操作可以由一个或多个服务访问点来支持。PortType具体定义了一种服务访问入口的类型(传入/传出消息的模式及其格式),一个PortType可以包含若干个Operation,而一个Operation则是指访问入口支持的一种类型的调用。在WSDL里面支持四种访问入口调用的模式: 单请求、单响应、请求/响应、响应/请求。

■ Binding

Binding包含了如何将抽象接口的元素转变为具体表示的细节,具体表示也就是指特定的数据格式和协议的结合; 特定端口类型的具体协议和数据格式规范的绑定。Binding结构定义了某个PortType与某一种具体的网络传输协议或消息传输协议相绑定,从这一层次开始,描述的内容与具体服务的部署相关。

■ Port

Port定义为协议/数据格式绑定与具体Web访问地址组合的单个服务访问点。Port描述的是一个服务访问入口的部署细节,包括通过哪个Web地址(URL)来访问,应当使用怎样的消息调用模式来访问等。其中消息调用模式则是使用Binding结构来表示。

■ Service

Service是一个粗糙命名的元素,代表端口的集合; 相关服务访问点的集合。Service描述的是一个具体的被部署的Web服务所提供的所有访问入口的部署细节,一个Service往往会包含多个服务访问入口,而每个访问入口都会使用一个Port元素来描述。

总地说来,PortType(与Message和Type元素的细节相结合)描述了Web服务是什么,Binding元素描述了如何使用Web服务,Port及Service元素描述了Web服务的位置。

SOAP的用途

SOAP(简单对象访问协议)是以XML形式提供了一个简单、轻量的用于在分散或分布环境中交换结构化和类型信息的机制。在WSD网络服务中传输的都是SOAP消息。SOAP消息从发送方到接收方是单向传送,经常以请求/应答的方式实现。SOAP实现可以通过开发特定网络系统的特性来优化。

SOAP决不只是一个漂亮的口号,它是一种即将深入渗透到未来分布式计算的技术。人们希望,SOAP结合其他技术,比如UDDI和WSDL,在Web服务这一概念的支持下,改变未来商业应用跨越Web进行通信的方法。甚至无法充分地表达出在开发者的工具包中加上SOAP知识的重要程度。

WS协议

WS协议是微软在去年和今年上半年提出的一整套网络服务协议,主要包括WS-Discovery、WS-Transfer、WS-MetadataExchange、WS-Eventing、WS-Policy、WS-Security、DeviceProfile等。整套WS协议,可以全面实现WSD的网络服务,与WSD发现过程相关的协议主要有三个。

■ WS-Discovery

WS-Discovery,全名Web Services Dynamic Discovery,主要定义了网络服务的一套多播发现协议。最初的发现模式是客户端先主动寻找一个或多个目标服务,这是通过多播一个Probe消息实现的,这个Probe消息包括目标服务的服务类型和目标服务所在的范围。和Probe发的消息一致的目标服务将直接发送一个消息到此客户端。客户端为了定位服务,将发送一个Resolve多播消息到此网络,目标服务将直接发送一个消息到此客户端以确认。

为了减少客户端的探测次数,当一个目标服务加入网络后,它就多播一个Hello消息到网络。客户端通过监听这个多播组就可以直接探测到目标服务,而不用重复地发Probe。WS协议机制可以应用在很多场合,例如打印机的发现。

■ WS-Transfer

WS-Transfer主要是传递描述基于XML的服务信息的协议,主要描述了几个方面: 目标设备、目标服务。在WSD发现过程中主要用到的有以下两种消息的传输: Get消息,其作用是获取服务的描述信息; Get Response,其作用是把目标服务的具体信息发送给客户端。

■ DeviceProfile

DeviceProfile,又称Devices Profile For Web Services (DPWS),是关于WS系列协议的细节规定,主要包括以下几个方面: 发送和接受网络服务的安全信息; 自动发现网络服务; 描述一个网络服务; 定制和接收服务事件。

UDDI

UDDI注册中心包含了通过程序手段可以访问到的对企业和企业支持的服务所做的描述。此外,还包含对Web服务所支持的因行业而异的规范、分类法定义以及标识系统的引用。UDDI提供了一种编程模型和模式,它定义了与注册中心通信的规则。UDDI规范中所有API都用XML来定义,包装在SOAP信封中,在HTTP上传输。

soap协议范文第4篇

关键词:分布式计算;XML Web Service;SOAP、WSDL;UDDI

Abstract: with the development of geographic information system and the popularization, cannot be confined to a single geographic information system server mode, can only be updated by the server system. Distributed network geographic information system spatial data storage server can be in multiple sites, the server through the analysis of the client request, determining the user required data location, access to the corresponding data back to the client.

Key words: distributed computing; XML Web Service; SOAP, WSDL; UDDI

中图分类号:TP338.8文献标识码:A 文章编号:2095-2104(2012)

地理信息系统是土地管理和分析空间数据的应用工程技术。近年来,地理信息系统发展迅速,已经不满足于集中式计算模式,桌面系统在数据共享和信息交换的模式。需要更广义的应用模式来完善地理信息系统。

分布式计算是指在独立的计算机的集合系统中通过网络通信来开发、部署、管理和维护以资源共享和协同工作为主要应用目标的分布式应用系统[9]。其目的在于改进传统的集中式计算模式。分布式计算在性价比、伸缩性、安全性等很多方面相对于集中式计算模式都有很大优势,比桌面系统在数据共享和信息交流方面也体现出极大的优势。

分布式计算模式与网络地理信息系统相结合,改善了用户只能通过浏览器访问单一的地理信息系统服务器的方式,可以将空间数据存储在多个站点上,服务器通过分析客户端请求,确定用户需要的数据位置,获得相应的数据返回给客户端。分布式网络地理信息系统的服务器端必须是一个网络,通过系统中的数据分布特征和针对其中数据处理的计算特征而分类,其目的是实现空间数据互操作和空间计算功能共享。

XML Web Service(eXtensible Markup Language Web Service,可扩展标记语言的Web服务)是分布式计算模式的重大变革。XML为计算机之间和应用程序之间提供了用于数据采集和传输的统一数据格式,XML Web Service是Internet级别分布式计算环境的基本程序模块,其最大特点是基于标准开放网络协议进行程序间的通讯和协作。由于XML Web Service是同构/异构应用程序集成平台,应用程序可以集成多个不同来源的XML Web Service,这些服务协同工作,不需要知道XML Web Service的实现技术、运行平台和服务所处位的,就可以构建一定业务操作的服务。XML Web Service的最大优点是允许在不同的平台上用不同语言编写各种程序以实现基于标准的方式相互通信。

SOAP(Simple Object Access Protocol ,简单对象访问协议)是XML Web Service的标准通信协议,用来规范XML格式,其规范的其他程序,比如将程序数据表示为XML,以及如何使用SOAP进行远程过程调用,这些可选的规范部分用于实现RPC(Remote Procedure Call,远程过程调用)形式的应用程序。SOAP规范的最后一个可选部分定义了包含SOAP消息的HTTP消息的样式,该部分虽然可选,但几乎所有的SOAP实现方案都支持HTTP绑定,它是SOAP的唯一标准协议,也是Web的核心协议。HTTP的普及和SOAP的简单性是XML Web Service的理想基础。

WSDL(Web Service Description Language)是一个XML文档,是XML Web Service的接口描述语言,用于说明一组SOAP消息以及如何交换这些消息,还定义了服务的位置以及使用什么通信协议与服务进行通信。

UDDI(Universal Description,Discovery,and Intergration,统一描述、发现和集成)是Web服务的黄页,UDDI目录条目是介绍提供的业务和服务的XML文件,其服务的类型是通过一个成为类模型的UDDI文档来完成的,多数情况下,类模型包括一个WSDL文件,用于说明访问XML Web Service的SOAP接口,该模型非常灵活,可以用于说明几乎所有类型的服务。UDDL还包括很多种方法,可用于搜索构建应用程序所需要的服务。

参考文献

[1]邬伦,刘瑜,张晶等.地理信息系统原理方法和应用[M].科学出版社.2007.

soap协议范文第5篇

1、WebService及相关技术

1.1WebService概述

WebService是一个平立的、松耦合的、自包含的、基于可编程的Web的应用程序,可使用开放的XML标准描述、、发现、协调和配置这些应用程序,用于开发分布式的互操作的应用程序。WebService能够在一些常规的计算中提供一些服务,从而完成一个具体的任务,处理相关的业务或者解决一个复杂的问题。WebService使用基于XML的标准化语言和标准化协议在因特网或内部网上展示它们的可编程功能部件,并通过自描述接口实现。这些自描述接口基于开放的因特网标准。

1.2WebService体系结构

WebService体系结构基于三种角色(服务提供者、服务注册中心和服务请求者)之间的交互。交互涉及、查找和绑定操作。这些角色和操作一起作用于WebService构件:WebService软件模块及其描述。在典型情况下,服务提供者托管可通过网络访问的软件模块(WebService的一个实现)。服务提供者定义WebService的服务描述,并把它到服务请求者或服务注册中心。服务请求者使用查找操作来从本地或服务注册中心检索服务描述,然后使用服务描述与服务提供者进行绑定并调用WebService实现或同它交互。服务提供者和服务请求者角色是逻辑结构,因而服务可以表现两种特性。如图所示:

1.3WebService的相关技术标准

(1)XML———可扩展标记语言(ExtensibleMarkupLanguage)提供了一种可被用于不同的平台和编程语言之间的语言。定义了用于定义其它特定领域有关语义的、结构化的标记语言的句法语言。XML不同于超文本语言(HTML),用户可以自由定义自己需要的标记。使用XML,用户可以定义自己需要的标记,如用户个人的信息、一个包括服务序号、姓名、性别、年龄等内容。

(2)SOAP———简单对象访问协议(SimpleObjectAccessProtocol)一个基于XML的可扩展消息信封格式,需同时绑定一个传输用协议。这个协议通常是HTTP或HTTPS,但也可能是SMTP或XMPP。一个SOAP消息包括SOAP<Header>,SOAP<Body>和SOAP<Fault>三个子元素。它们被封装在SOAP<Envelope>内,组成了一个统一体。<Header>元素用来传递辅的附加消息,它的内容通常是特定于应用程序的。<Body>元素用来存放信息体,可以包括多个体条目,内容可以为遵循SOAP所规定的串行化编码规则的远程调用,以及其它一些信息。<Fault>元素是用来返回当一个SOAP消息传递失败使得相关描述信息的,如错误原因,出错位置等。(3)WSDL———WebService描述语言一个XML格式文档,用以描述服务端口访问方式和使用协议的细节。通常用来辅助生成服务器和客户端代码及配置信息。(4)UDDI———通用描述、发现与集成一个用来和搜索WebService的协议,应用程序可借由此协议在设计或运行时找到目标WebSer-vice。

2、WebService的安全性

基于WebService自身的一些特点,在使用过程中对其安全性提出了多方面的需求,认证(信任)与授权(访问控制)、机密性、数据完整性、不可抵赖性、互操作性、权限委托等是基本的需求。以下将结合商业银行客户信息系统的实际需求对WebService的安全技术作具体地讨论。

2.1网络环境安全

确保WebService系统安全的基础就是首先要保证系统所在网络环境的安全,保证系统的网络连接是安全、可靠、有效的。因

此,本系统将采用SSLVPN技术来保证网络环境的安全。SSLVPN是一种采用SSL(SecuritySocketLayer)协议来实现远程接入的新型VPN(VirtualPrivateNetwork)技术。SSLVPN提供对所传送的数据的加密、认证和发送源的身份认证,提供对基于TCP协议的应用程序通讯的安全保护,并实现不同用户对于不同应用程序的访问控制。对于内、外部应用来说,使用SSL可保证信息的真实性、完整性和保密性。

2.2网络通信安全

WebService是通过基于XML的SOAP(SimpleObjectAccessProtocol,简单对象访问协议)协议进行消息传递的,SOAP是在分散或分布式环境中交换信息的轻量级协议,它的两个主要设计目标是简单性和可扩展性,因此SOAP协议在制定时并没有过多考虑安全性,而是尽可能地利用已有的标准和协议来实现相应的安全功能。而且XML是以文本格式来表示和存储数据,在网络上传送或在经过中间服务器处理时,完全以明文形式出现,导致数据有被任意篡改的可能;SOAP能穿越已有的网络防火墙,与应用建立通信。这就给病毒和黑客入侵带来了很大的隐患。为了保证商业银行客户信息系统在客户信息数据共享过程中的安全,就必须要先保证网络通信的安全。有许多技术可用于保护网络通信的安全性,其中最基本的技术就是消息加密。密码技术解决了在网络通信中应用层的四方面安全需求:认证(信任)与授权(访问控制)、机密性、数据完整性、不可抵赖性。目前有三种主要的密码技术:对称加密(秘密密钥加密)、非对称加密(公开密钥加密)、数字证书与数字签名(带密钥的消息摘要)。其中,应用最广泛的是非对称加密(公钥密码术)———RSA(由Rivest、Shamir和Adleman三人共同完成)。使用非对称加密模式可同时确保机密性与数据接收者的真实性,但是,这种模式无法确保不可抵赖性,不能确保对数据发送者的认证,而且性能也得不到保证。协同使用数字签名与公钥加密模式不但可以提供机密性、完整性、不可抵赖性及数据发送者和接收者的认证,也解决了性能上的问题。数字签名算法(DSA)对生成签名的速度进行了优化,使其可以在低功耗的微处理器上运行,例如智能卡;公钥加密AES算法因密钥建立时间短、灵敏性好、内存需求低,而且至今为止还没有被破译的官方报道,在各个领域得到了广泛的研究与应用。因此,本系统将采用SHA1withDSA数字签名算法技术协同AES加密技术来保证网络环境的安全。核心代码如下:publicabstractclassDSACoder{/**签名*/privatestaticbyte[]sign(byte[]data,byte[]privateKey)throwsEx-ception{PKCS8EncodedKeySpecpkcs8KeySpec=newPKCS8Encod-edKeySpec(privateKey);//还原私钥、转换私钥材料KeyFactorykeyFactory=KeyFactory.getInstance(“DSA”);//实例化密钥工厂PrivateKeypriKey=keyFactory.generatePrivate(pkcs8KeySpec);//生成私钥对象Signaturesignature=Signature.getInstance(“SHA1WITHD-SA”);//实例化Signaturesignature.initSign(priKey);//初始化Signaturesignature.update(data);//更新returnsignature.sign();//签名}/**校验*/privatestaticbooleanverify(byte[]data,byte[]publicKey,byte[]sign)throwsException{X509EncodedKeySpeckeySpec=newX509EncodedKeySpec(publicKey);//还原公钥、转换公钥材料KeyFactorykeyFactory=KeyFactory.getInstance(“DSA”);//实例化密钥工厂PublicKeypubKey=keyFactory.generatePublic(keySpec);//取公钥对象Signaturesignature=Signature.getInstance(“SHA1WITHD-SA”);//实例化Signaturesignature.initVerify(pubKey);//初始化Signaturesignature.update(data);//更新returnsignature.verify(sign);//验证}/**生成密钥*/privatestaticMap<String,Object>initKey()throwsException{KeyPairGeneratorkeygen=KeyPairGenerator.getInstance(“DSA”);//初始化密钥对生成器。

相关期刊更多

Chinese Annals of Mathematics Series B

SCI期刊 审核时间1-3个月

复旦大学

Journal of Earth Science

SCI期刊 审核时间1-3个月

教育部

Journal of Zhejiang University Science A

SCI期刊 审核时间1-3个月

中华人民共和国教育部