WebService基本概念

从表面上来看,Web Service就是一个应用程序,它向外界暴露了一个能够通过Web进行调用的API。这就是说,能够使用编程的方法通过Web调用来实现某个功能的应用程序。

从深层次上看,Web Service是一种新的Web应用程序分支,它们是自包含、自描述和模块化的应用,可以在网络(通常为Web)中被描述、发布、查找以及通过web来调用。

Web Service是基于网络的、分布式的模块化组件;它执行特定的任务,遵守具体的技术规范,这些规范使得Web Service能与其它兼容组件进行互操作。它可以使用标准的互联网协议,Web Service平台是一套标准,它定义了应用程序如何在Web上实现互操作。

注意:

Web服务并不一定存在与WWW上,Web服务可以在网络的任何地方生存,互联网或局域网都行。

Web服务的实现、部署平台的细节与调用该服务的程序无关。Web服务可通过声明API和调用机制使用。这与Web浏览器和Web应用服务器之间的关系类似。

Web Service平台需要一套协议来实现分布式应用程序的创建。任何平台都有它的数据表示方法和类型系统。要实现互操作,Web Service平台必须提供一套标准的类型系统,用于沟通不同平台、编程语言和组件模型中的不同类型系统。目前这些协议包括:

XMLXSD。可扩展的标记语言XMLWeb Service平台中表示数据的基本格式。除了容易建立和易于分析外,XML主要的优点在于它既与平台无关,又与厂商无关。XMLW3C创建,同时,W3C制定了XML Schema定义了一套标准的数据类型,并给出了一种语言来扩展这套类型。

Web Service平台是用XSD来作为数据类型系统的。当你用某种语言如VB.NET或者c#java来构建一个Web Service时,为了符合Web Service的标准,所有使用的数据类型都必须被转化为XSD类型。如想让它使用在不同平台和不同软件的不同组织间传递,还需要用某种东西将它包装起来。这种东西就是一种协议,如SOAP协议。

SOAPSOAP即简单对象访问协议(Simple Object Access Protocol),它是用来交换XML编码信息的轻量级协议。它有3个主要方面:XML-envelope为描述信息内容和如何处理内容定义了框架;将程序对象编码成为XML对象的规则;执行远程过程调用(RPC)的约定。SOAP可以运行在任何传输协议上。

简单对象访问协议(Simple Object Access ProtocolSOAP)是一种在系统之间使用XML传递消息的协议。在SOAP出现之前,人们在系统之间使用CORBADCOM机制交互数据,这些机制都使用了人类无法认读的二进制数据传送消息,难以开发和调试。

SOAP使用文本形式的、开放的XML文档传送消息,可以使用超链接传输协议(HyperText Transfer ProtocolHTTP)、文件传输协议(File Transfer ProtocloFTP)等网络协议传输,又利于促进各种异构分布式系统、各种编程语言实现之间的相互协作。SOAP一般用于将应用程序中的消息封装成通信报文,在分布式系统之间交换数据、调用异构系统对象的方法。随着Web服务的流行,SOAP的应用与日俱增。

Web Service希望实现不同的系统之间能够用“软件-软件对话”的方式相互调用,打破了软件应用、网站和各种设备之间的格格不入的状态,实现“基于Web无缝集成”的目标。

WSDLWeb Service描述语言WSDL就是机器能阅读的一个正式描述文档,它是基于XML的语言,用于描述Web Service及其函数、参数和返回值。因为是基于XML的,所以WSDL既是机器可阅读的,又是人可阅读的。

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

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

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