轻松搞懂WebService工做原理

 

用更简单的方式给你们谈谈WebService,让你更快更容易理解,但愿对初学者有所帮助。php

WebService是基于网络的、分布式的模块化组件。web

 

咱们直接来看WebService的一个简易工做流程编程

客户端 ——>阅读WSDL文档(了解webservice的请求) ——> 调用WebService 服务器

 

上面的流程是一个大体的描述,客户端阅读WSDL文档发送请求,而后调用Web服务器最后返回给客户端,这和普通的http请求同样,请求->处理->响应,与普通的请求不同的就是webservice请求中有一个WSDL文档和SOAP协议,以及.NET Framework自带的Web Service请求处理器 ISAPI Extension。网络

 

咱们来看一个比较完整的流程并发

客户端——> 阅读WSDL文档 (根据文档生成SOAP请求) ——>发送到Web服务器——>交给WebService请求处理器 (ISAPI Extension)编程语言

——>处理SOAP请求——> 调用WebService——>生成SOAP应答 ——> Web服务器经过http的方式交给客户端分布式

 

OK,到这里已经明白了的同窗你能够走了,去逛逛别的文章,没懂的咱们继续往下:模块化

 

咱们先来解释一下上面的流程中出现的几个名词:工具

1. SOAP: 是以XML形式提供简单、轻量、用于在分散或分布式环境中交换结构化和类型信息的机制。SOAP消息的基本结构经过HTTP协议传递XML数据。简单的说就是一个基于XML的协议。

2. WSDL : 是使用XML文档描述Web服务的标准,是Web服务的的接口定义语言,描述如何访问具体的接口,包含3个基本属性:

     a. 如何访问服务:和服务交互的数据格式以及必要的协议。

     b. 服务在哪里: 协议相关的地址,好比url信息等

     c. 服务具备哪些功能: 服务提供的具体操做方法,=》就是你webservice中提供了哪些可调用的方法

 

原理详细描述:

不管使用什么工具、语言编写 WebService,均可以使用 SOAP 协议经过 HTTP 调用,其工做原理相同。建立 WebService 后,将其暴露给Web客户,任何语言、平台的客户均可以阅读其  WSDL 文档,以调用 WebService 。客户能够根据 WSDL 描述文档生成一个 SOAP 请求信息。 WebService 部署在Web服务器( 如IIS )上,客户生成的 SOAP 请求会被嵌入在一个 HTTP 请求中并发送到Web服务器,Web服务器(IIS)再将请求转发给 WebService 请求处理器。

对于.Net而言,WebService请求处理器则是一个 .NET Framework 自带的 ISAPI Extension。Web请求处理器用于解析收到的SOAP请求,调用 WebService,而后生成相应的SOAP应答。Web服务器获得SOAP应答后,在经过HTTP应答的方式将其返回给客户端。

 

WebService优点:

1.平台无关性 。  任何平台均可以使用WebService

2.编程语言无关系。 基于XML,XML自己与平台无关,使用XSD做为数据类型系统,不论用什么语言编写,全部数据类型都会被转换为XSD,只须要遵照WebService的统一标准便可。

3.部署、升级和维护Web服务简单、方便。

4.实现多数据、多服务的聚合。

5.成本低。

6.不受防火墙的影响。使用SOAP协议通讯,封装了XML格式的数据,以ASCII文本的方式传输,而非二进制,调试方便,并且可使数据容易的经过防火墙,不须要单独开通讯端口。 

 

总结:

WSDL、SOAP和UDDI(统一描述、发现和集成机制) 一块儿工做,支持WebService与Internet上的其余服务、应用程序和设备交互做用。UDDI提供了发布和定位Web服务功能(更多请自行了解),WSDL描述了Web服务,SOAP服务提供了传输消息。

 

 

申明:代码里(www.daimali.com)原创,转载请注明原文连接。

来源:代码里

连接:http://www.daimali.com/index.php/2016/05/03/448/

相关文章
相关标签/搜索