web service概念、架构及相关知识

作者:郫县华伟包装厂 来源:www.cdhwms.com 发布时间:2017-09-07 13:12:52
web service概念、架构及相关知识 一、WebService的定义

WebService有好几种定义:

W3C组织对其定义:WebService是一个软件系统,为了支持跨网络的机器间互操作交互而设计。 WebService通常被定义为一组模块化的API,我们可以通过网络进行调用,来执行远程系统的请求服务。 WebService就是暴露给外部使用的,可通过web调用的一组API。 WebService是一种跨编程语言和跨操作系统平台的远程调用技术。 Web Service = XML+XSD,SOAP和WSDL

其实这多种定义只是从不同的角度,不同的高度来理解WebService,最终都殊途同归。
从表面上看,WebService是应用程序暴露给外部的一个能够通过Web调用的API,它告诉我们:这里有一组对象,它有哪些方法,方法名称是什么,所需要的参数是什么,参数类型如何,方法会给你返回什么值,可能会出现哪些异常,你怎么调用它,使用什么通信协议来传输数据等等这些信息。这样就可以通过编程的方法调用这个方法,获得这个WebService所提供的服务。这解释了2,3两种定义,这是WebService的外在表现形式。

从深层次来讲,WebService是构建分布式系统,实现可互操作的新的技术架构,是一个平台,是一套标准。它定义了如何在网络上实现互操作性,而不管你使用的是哪种语言,哪种操作系统。它最大的特点就是跨网络,跨平台。实现互操作性是它的目的,而互操作性就是指在网络间的不同机器之间进行相互操作,否则同一个网络,同一个机器之间需要什么互操作性吗。W3C的定义中,机器二字就暗示着不管是windows系统,还是苹果系统还是Linux系统,不管机器上是使用Java还是C,C#语言等,都可以实现互操作。这是WebService的内在价值,是一种更高,更深层次的系统架构。

WebService为了构建这样一个跨语言的,跨网络的分布式平台,它必须提供一套协议或者说标准。任何一个平台都有它自己的数据表示方法和数据类型系统。它必须提供一个统一的类型系统,以沟通不同语言,不同平台,不同组件模型的差异,使它们能够交流。它还必须提供一套标准来描述WebService,让客户能够得到足够且充分的信息来调用它。最后,它需要提供一种远程调用方法,告诉客户端以什么样的格式或者说方式来调用webService。这正好对应了WebService的三大技术:XML+XSD,WSDL,SOAP。
Web Service = XML+XSD,SOAP和WSDL这是从技术实现层面上来说明WebService

二、WebService平台技术

XML+XSD,SOAP和WSDL就是构成WebService平台的三大技术。

XML+XSD
WebService采用HTTP协议传输数据,采用XML格式封装数据(即XML中说明调用远程服务对象的哪个方法,传递的参数是什么,以及服务对象的返回结果是什么)。XML是WebService平台中表示数据的格式。除了易于建立和易于分析外,XML主要的优点在于它既是平台无关的,又是厂商无关的。无关性是比技术优越性更重要的:软件厂商是不会选择一个由竞争对手所发明的技术的。

XML解决了数据表示的问题,但它没有定义一套标准的数据类型,更没有说怎么去扩展这套数据类型。例如,整形数到底代表什么?16位,32位,64位?这些细节对实现互操作性很重要。XML Schema(XSD)就是专门解决这个问题的一套标准。它定义了一套标准的数据类型,并给出了一种语言来扩展这套数据类型。WebService平台就是用XSD来作为其数据类型系统的。当你用某种语言(如.NET或Java,C语言)来构造一个Web service时,为了符合WebService标准,所有你使用的数据类型都必须被转换为XSD类型。你用的工具可能已经自动帮你完成了这个转换

SOAP:
WebService通过HTTP协议发送请求和接收结果时,必须要有一定的格式,并不是说通过Http随便发送一个请求就可以的。发送的请求内容和结果内容都采用XML格式封装,并增加了一些特定的HTTP消息头,以说明HTTP消息的内容格式,这些特定的HTTP消息头和XML内容格式就是SOAP协议。SOAP提供了标准的RPC方法来调用Web Service。

SOAP协议 = HTTP协议 + XML数据格式

SOAP协议定义了SOAP消息的格式,SOAP协议是基于HTTP协议的,SOAP也是基于XML和XSD的,XML是SOAP的数据编码方式。Http是基本协议,而SOAP在基础协议上添加了一系列的格式限制。打个比喻:HTTP就是普通公路,XML就是中间的绿色隔离带和两边的防护栏,SOAP就是普通公路经过加隔离带和防护栏改造过的高速公路。

WSDL:
WebService客户端要调用一个WebService服务,首先要先知道这个服务的地址在哪,以及这个服务里有什么方法可以调用,所以,WebService务器端首先要通过一个WSDL文件来说明自己家里有啥服务可以对外调用,服务是什么(服务中有哪些方法,方法接受的参数是什么,返回值是什么),服务的网络地址用哪个url地址表示,服务通过什么方式来调用。WSDL是WebService的描述。就好比你买了一辆散装自行车,总得附一个产品说明书吧,告诉你怎么把自行车怎么组装起来,各个零件的作用.

企业建站2800元起,携手武汉肥猫科技,做一个有见地的颜值派!更多优惠请戳:恩施网站制作 http://enshi.666rj.com

  • 上一篇:实例分析:软件形网站运营推广
  • 下一篇:最后一页