文章目录
什么是 Web Service
-
服务:计算机后台程序(Daemon)提供的功能,无需程序本身具备,程序使用时只需调用该功能即可。
-
本地服务
通过同一台机器获取的服务,不需要网络
-
网络服务 - Web Service
Web服务是一种
部署在Web服务器上
的对象/组件,提供了一个通过Web进行调用
,可以被不同
的网页应用程序
和网页部署平台
使用的API。因为所有网页开发都可以通过HTTP协议进行通信,通过XML进行数据传输。
-
Web Service 的产生
传统Web系统设计是从一次性开发角度实施的,应用的每一个更改都需要由特定的程序员来完成的,经常的应用更新使得代码的更改异常困难。因此,针对某些常用功能,需要创建对任何应用均可调用
的API,Web Service 由此产生。
Web Service 的特点
客户端:调用这个WebService的应用程序
服务器:提供这个WebService的应用程序
-
完好的封装性
Web服务既然是一种部署在Web上的对象,自然具备对象的良好封装性,对于使用者而言,他能且仅能看到该对象提供的功能列表。
-
松散耦合
对于调用者来说,只要Web服务的调用界面不变,Web服务的实现任何变更对他们来说都是透明的。跨编程语言:客户端使用的语言可以和服务器不同;跨操作系统:客户端程序的运行平台和服务器不同
-
使用协约的规范性
-
使用标准协议规范
-
高度可集成能力。
由于Web服务采取简单的、易理解的标准Web协议作为组件界面描述和协同描述规范,完全屏蔽了不同软件平台的差异,实现了在当前环境下最高的可集成性。
Web Service 架构
-
核心思想
尽量
把非核心
功能交给网络服务
去做,自己
全力开发核心
功能。 -
例子
“云计算”(cloud computing)或者"云服务"(cloud services),实际上就是Web Service的同义词,不过更形象一些罢了。它们不说你把事情交给其他计算机去做,而说你把事情交给"云"去做。
Web Service 核心技术
- SOAP
简单对象访问协议。
规定了运行在不同的操作系
统并使用不同的技术
和不同编程语言
的应用程序如何进行通信
。
基于XML语言,需同时绑定一个网络传输协议。这个协议通常是HTTP或HTTPS,但也可能是SMTP或XMPP。 - WSDL
Web服务描述语言。读音通常发为:“wiz-dəl”。
一个XML格式文档,用以描述服务的位置
、服务提供的操作
以及如何使用服务
(包括数据格式以及使用的协议)。 - UDDI
统一描述、发现和集成。
用来发布
和搜索
WEB服务的协议。应用程序可借由此协议在设计或运行时找到目标WEB服务。
Web Service 的发展趋势
-
在使用方式上,RPC和SOAP的使用在减少,
Restful架构
占到了主导地位。**SOAP:**即简单对象访问协议。一个基于XML的可扩展消息信封格式,需同时绑定一个网络传输协议。这个协议通常是HTTP或HTTPS,但也可能是SMTP或XMPP。
**RPC:**即远程过程调用。它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议
-
在数据格式上,XML格式的使用在减少,
json
等轻量级格式的使用在增多。 -
在设计架构上,越来越多的第三方软件让用户在客户端(即浏览器),直接与
云
端对话,不再使用第三方的服务器进行中转或处理数据。
参考文献
http://www.ruanyifeng.com/blog/2009/08/what_is_web_service.html Web service是什么?- 阮一峰
https://www.jianshu.com/p/49d7997ad3b7 webservice - 简书
https://wiki.mbalib.com/wiki/WEB服务 web服务 - 智库
https://www.ibm.com/developerworks/cn/webservices/ws-wsar/part2/index.html Web Service - IBM
https://juejin.im/post/5aadae4bf265da238a303917 web service - 掘金