上午听了一个大牛的讲座(大牛的名字就不透露了,反正是一个足以影响全球软件业方向的人),听到了一个新名词--REST,当时是一头雾水,吃完午饭赶紧在网上搜了一把,总算摸着点头绪。REST--Representational State Transfer的首字母连起来就是,直接翻译就是可表示的状态转换。这个词是Roy Fielding博士在他的博士论文中提出来的,Roy Fielding何许人也--Day 软件公司的首席科学家,阿帕奇软件基金会的重量级人物。REST的初衷是为了总结Web成功的核心因素和经验,然后用这些好的经验进一步的促进Web的发展。REST将整个WWW上的Web页面组成的网络看作一个虚拟的状态机,某一时刻用户和某一个页面进行交互(也就是访问某一个页面,Web页面组成的网络会返回客户一个结果页面),这种交互就会激发一个状态转换事件(生成一些结果页面返回给客户)使得虚拟机的状态发生变化而进入另一个状态。REST是从一个更加抽象的层面来看待Web页面以及用户和Web页面的交互。REST不是一个标准,而是一种架构模型,这种架构模型使得架构中的组件之间松散耦合,同Web Service和SOA追求的目标相一致。一个REST架构的系统应该具有如下特征:
1。客户-服务器模型:服务器提供资源的统一表示,客户用一个统一的方法访问资源
2。状态无关:从客户来的请求必须是自我包含的,也就是说服务器只用请求里包含的信息就可以正确理解客户的请求,无需借助其它的存储在服务器上的上下文信息
3。统一接口:系统中的所有资源都可以用一个统一的接口来访问。
4。命名的资源:系统中的资源用URL来命名
5。相互关联的资源表示:资源的表示用URL来相互关联。
6。组件分层:在客户和服务器之间可以加入一些中间组件,如代理服务器,网关软件,缓存软件等等。
从上面的特征可以看到,REST的模型和SOA的架构模型有几分相似。
[@more@]REST和Web Service来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10398239/viewspace-924457/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/10398239/viewspace-924457/