WebService是一种跨编程语言和跨操作系统平台的远程调用技术。
是一种可以接收从Internet或者Internet上的其它系统中传递过来的请求,轻量级的独立的通讯技术。通过SOAP在Web上提供的软件服务,使用WSDL文件进行说明,并通过UDDI进行注册。
- 基于web的服务:服务端提供的服务接口让客户端访问
- 跨平台、跨语言的整合方案
什么时候要用WebService
电商平台,订单的物流状态、天气预报 .net实现的web service服务接口
WebService的三大技术
WSDL(Web Services Description Language):webservice定义语言
Webserivce需要WSDL文件来说明自己有什么服务可以对外调用,并且有哪些方案,方法里有哪些服务
WSDL是基于XML(可扩展标记语言)去定义的, 因为是基于XML的,所以WSDL既是机器可阅读的,又是人可阅读的,这将是一个很大的好处。一些最新的开发工具既能根据你的Web service生成WSDL文档,又能导入WSDL文档,生成调用相应WebService的代理类代码。
- 对应一个.wsdl的文件类型
- 定义了webservice的服务端和客户端应用进行交互的传递数据和响应数据格式和方式
- 一个webservice对应唯一一个wsdl文档
//Types标签:定义服务端的数据类型
SOAP(Simple Object Access Protocal简单对象访问协议)
Webservice通过http协议发送和接收请求时,发送的内容(请求报文)和接收的内容(响应报文)都是采用xml格式进行封装,并增加了一些特定的HTTP消息头,以说明 HTTP消息的内容格式,这些特定的http消息头和xml内容格式就是SOAP协议SOAP提供了标准的RPC方法来调用Web Service。
SOAP协议 = HTTP协议 + XML数据格式
- 一种简单、基于HTTP和XML的协议
- Soap消息:请求和响应消息
- http+xml报文
SEI(webservice endpoint interface)webservice的终端接口
Webservice服务端用来处理请求的接口,也就是发布出去的接口,即服务器上的接口方法
调用原理
实现一个完整的Web服务包括以下步骤:
◆ Web服务提供者设计实现Web服务,并将调试正确后的Web服务通过Web服务中介者发布,并在UDDI注册中心注册; (发布)
◆ Web服务请求者向Web服务中介者请求特定的服务,中介者根据请求查询UDDI注册中心,为请求者寻找满足请求的服务; (发现)
◆ Web服务中介者向Web服务请求者返回满足条件的Web服务描述信息,该描述信息用WSDL写成,各种支持Web服务的机器都能阅读;(发现)
◆ 利用从Web服务中介者返回的描述信息生成相应的SOAP消息,发送给Web服务提供者,以实现Web服务的调用;(绑定)
◆ Web服务提供者按SOAP消息执行相应的Web服务,并将服务结果返回给Web服务请求者。(绑定)
建议阅读