从字面意思分离开看,Web Service就是网络服务的意思。首先,我得理解什么是服务?
服务 是计算机后台程序提供的功能,比如说计算机上有一个计算器的功能,那么这个计算器就算是一个服务。通俗的讲,服务 就是计算机可以提供的某一种功能。
然而,服务又分 ‘本地服务’ 和 ‘网络服务’ 。举个例子,我要做一个相册,图片可以从本地取得,也可以从网络上取得。就好像肚子饿了以后,可以自己做饭,也可以叫
外卖。
网络服务(Web Service)的本质就是通过网络调用其它网站的资源。
WebService架构的核心是,自己只做核心的部分,把其余的部分都外包出去。
本地服务的缺点:
1、本地资源不足;
2、成本因素。本地提供服务,往往是不经济的,使用专业网站的服务更便宜。这里面涉及硬件和人员两部分,即使你买得起硬件,专门找一个人管理系统,也是很麻烦的事。
3、可移植性差。如果你想把本机的服务,移植到其他机器上,往往很困难,尤其是在跨平台的情况下。
网络服务的优点:
1、可移植性好,因为网络服务(WebService)是跨平台跨语言的。只有通过Web Service,客户端和服务器才能够自由的用HTTP进行通信,不论两个程序的平台和编程语言是什么。
2、由于网络服务是跨平台和语言的,所以对开发者来说,降低了开发的难度;
3、对于Web service使用者来说,可以轻易实现多种数据、多种服务的聚合(mashup),因此能够做出一些以前根本无法想像的事情。
网络服务的发展趋势:
1、在使用方式上,RPC和soap的使用在减少,Restful架构占到了主导地位;
2、在数据格式上,XML格式的使用在减少,json等轻量级格式的使用在增多。
3、在设计架构上,越来越多的第三方软件让用户在客户端(即浏览器),直接与云端对话,不再使用第三方的服务器进行中转或处理数据。
注:RPC、SOAP、RESTFUL我做了一些简单的调查,没有深入。会在下面的随笔中提到
上面的内容取自:http://www.ruanyifeng.com/blog/2009/08/what_is_web_service.html