Webservice采用的主要技术简介

XML——XML(可扩展的标记语言)是WebService平台中表示数据的基本格式,它解决了数据表示的问题。

  SOAP——SOAP(简单对象访问协议)提供了标准的RPC方法来调用WebService。

  WSDL——WSDL是一种基于XML的用于描述WebService及其操作、参数和返回值的语言。

  UDDI——UDDI是通用描述、发现和集成(Universal Description,Discovery and Inte-gration)的英文缩写,它是由Ariba、IBM、微软等公司倡导的,其目的是在网上自动查找WebServices。

  Web Service所使用的是Internet上统一、开放的标准协议,如HTTP、XML、SOAP(简单对象访问协议)、WSDL等。这套协议来实现分布式应用程序的创建。任何平台都有它的数据表示方法和类型系统。要实现互操作性,Web Service平台必须提供一套标准的类型系统,用于沟通不同平台、编程语言和组件模型中的不同类型系统,使之可以在任何支持这些标准的环境(Windows,Linux)中使用。从而能够体现在互联网和企业内部网上。
  目前这些协议有:


SOAP (简单对象访问协议)

  SOAP协议(Simple Object Access Protocal,简单对象访问协议),它是一个用于分散和分布式环境下网络信息交换的基于XML编码信息的轻量级通讯协议。在此协议下,软件组件或应用程序能够通过标准的HTTP协议进行通讯。它的设计目标就是简单性和扩展性,这有助于大量异构程序和平台之间的互操作性,从而使存在的应用程序能够被广泛的用户访问。

  Web service建好以后,其他人就会去调用它。它有三个主要方面:XML-envelope为描述信息内容和如何处理内容定义了框架,将程序对象编码成为XML对象的规则,执行远程过程调用(RPC)方法来调用Web service。SOAP规范定义了SOAP消息的格式,以及怎样通过HTTP协议来使用SOAP。SOAP也是基于XML和XSD的,XML是SOAP的数据编码方式。客户端和服务端之间的方法调用请求和结果返回值都放在这些消息里。SOAP可以运行在任何其他传输协议上。例如,你可以使用 SMTP,即因特网电子邮件协议来传递SOAP消息,这可是很有诱惑力的。在传输层之间的头是不同的,但XML有效负载保持相同.Web Service希望实现不同的系统之间能够用“软件-软件对话”的方式相互调用,打破了软件应用、网站和各种设备之间的格格不入的状态,实现“基于Web无缝集成”的目标。

XML(可扩展的标记语言)

  是Webservice平台中表示数据的基本格式。
  XML(优点: 易于建立易于分析外,还有平台无关、厂商无关。缺点: 解决了数据表示的问题,但它没有定义一套标准的数据类型,更没有说怎么扩展这套数据类型)

  XSD(XMLSchema)
  定义了一套标准的数据类型,并给出了一种语言来扩展这套数据类型, Web service平台就是用XSD来作为其数据类型系统的。当你用某种语言如VB.NET或C#来构造一个Web Service时,为了符合Web Service标准,所有你使用的数据类型都必须被转换为XSD类型。如想让它使用在不同平台和不同软件的不同组织间传递,还需要用某种东西将它包装起来。这种东西就是一种协议,如SOAP。

  无关性是比技术优越性更重要的。更没有说怎么去扩展这套数据类型。例如,整形数到底代表什么?16位,32位,还是 64位?这些细节对实现互操作性都是很重要的。W3C制定的XML Schema(XSD)就是专门解决这个问题的一套标准。它定义了一套标准的数据类型,并给出了一种语言来扩展这套数据类型。当用某种语言(如VB.NET或C#)来构造一个Web service时,为了符合Web service标准,所有使用的数据类型都必须被转换为XSD类型。

  WSDL(Web Services Description Language)
用于描述服务端所提供服务的XML格式,是用机器能阅读的方式提供的一个正式描述文档而基于XML的语言。WSDL文件里,描述了服务端提供的服务、调用方法、调用时所要遵循的格式,比如调用参数和返回值的格式等等。WSDL 很像COM编程里的IDL(Interface Description Language),是服务器与客户端之间的契约,双方必须按契约严格行事才能实现功能。因为是基于XML的,所以WSDL既是机器可阅读的,又是人可阅读的。

  WSML(WebServices Meta Language)
用于描述WSDL里提供的方法与实现该方法的COM对象之间的映射关系。该文件是Microsoft的实现中特有的,不是SOAP标准的一部分。一般情况下,该文件只在服务端存在。


  UDDI UDDI 的目的是为电子商务建立标准;UDDI是一套基于Web的、分布式的、为Web Service提供的、信息注册中心的实现标准规范,同时也包含一组使企业能将自身提供的Web Service注册,以使别的企业能够发现的访问协议的实现标准。

  远程过程调用RPC与消息传递

Web Service本身其实是在实现应用程序间的通信。我们现在有两种应用程序通信的方法:RPC远程过程调用和消息传递。使用RPC的时候,客户端的概念是调用服务器上的远程过程,通常方式为实例化一个远程对象并调用其方法和属性。RPC系统试图达到一种位置上的透明性:服务器暴露出远程对象的接口,而客户端就好像在本地使用的这些对象的接口一样,这样就隐藏了底层的信息,客户端也就根本不需要知道对象是在哪台机器上。

你可能感兴趣的:(Web,webservice,网络协议,企业应用,SOAP)