去年上课时学了,云山雾罩的,竟然还厚着脸皮做了 presentation,看到阮一峰博客上有将,就摘取部分过来学习学习。
参考链接:http://www.ruanyifeng.com/blog/2009/08/what_is_web_service.html
# 概念:
如果一个软件的主要部分采用了"网络服务",即它把存储或计算环节"外包"给其他网站了,那么我们就说这个软件属于Web Service架构。
Web Service架构的基本思想,就是尽量把非核心功能交给其他人去做,自己全力开发核心功能。比如,如果你要开发一个相册软件,完全可以使用Flickr的网络服务,把相片都储存到它上面,你只要全力做好相册本身就可以了。总体上看,凡是不属于你核心竞争力的功能,都应该把它"外包"出去。
最近很红的"云计算"(cloud computing)或者"云服务"(cloud services),实际上就是Web Service的同义词,不过更形象一些罢了。它们不说你把事情交给其他计算机去做,而说你把事情交给"云"去做。
# 本地服务缺点:
1. 资源不足
2. 成本高(专业服务由专业网站提供更合算)
3. 可移植性差
# web service 优点:
1. 平台无关
2. 语言无关,遵守协议即可
3. 服务提供者不用考虑兼容性
4. 使用者可以实现多重数据、服务的聚合
# 发展趋势
1. RPC, soap --> Restful架构
2. xml --> json
3. 设计架构上,使用第三方的服务器进行中转或处理数据 --> 用户在客户端(即浏览器),直接与云端对话