原帖:http://www.iteye.com/topic/82227
将REST定义为一种风格,架构的一种风格是合适的。但个人觉得应该有更合适的词语。REST不是一种具体的架构,也不是架构的一种规范,而是一个架构的指导思想或理念。这个思想有两个重要组成:简约和HTTP,前者易用,至于后者则是对Http协议的一个诠释(谁说http只是用来传递网页的),呵呵,好比谁说电话线只能用来打电话。
REST和分布式对象以及分布式个人认为完全不冲突,首先,以前人们考虑分布式时总是一个非常非常沉重的话题,类似的言论还有“电信系统是一个非常严格的系统”等等,这是REST主要要推翻的东西,好比淘宝推翻了“批发价就是大批量购买的价格”之类的东西。REST要革命的是思想,互联网时代开发人员的思想。
在互联网时代,几乎所有的企业都意识到了自己是否互联网企业的重要性,是否互联网企业并不仅仅说有一个主页了事,而是,你的客户,你的供应商,广告商,企业员工等等能否在互联网上很好的协作。呵呵,这是一个更大的分布式应用。对于自己内部的分布应用,我们已经有了很多协议和架构可用,它们是严谨的,安全和差错控制的。对于这个更大的,该怎么办呢。好像没有太多的办法,因为尽管你可以和你的供应商协调接口,但是太多接口了,因此REST作为一种风格出现了:简约+http。
那么,REST和EJB等如何共存呢。即使你是所谓电信的严格应用,到了WEB层面就应该以一种更简单的形式调用——将你的分布式对象wrapper一下,以REST风格发布出来,呵呵。
后话:以前光纤网络没有普及的情况下,网络应用运行在不可靠的连接中,分布式技术是一种重要的解决方案,主要强调可靠性。光纤网普及了,分布式应用很多都改成集中的了,分布式技术转而面向企业EAI,应用服务器从某种程度上来说就是分布式技术的一种转型,作为企业应用的粘合剂。但这是建立在企业内部(或紧密合作伙伴间)。
现在的互联网应用,好比当年的网络应用,连接不可靠,是否也采用当年的思路去解决问题,保证可靠的应用呢?显然,行不同,因为参与者不确定的情况下,很难制定协议。只有一种办法,舍弃。完全背道而驰的思路(所谓革命)。在应用服务器层面粘合,看来也不可能了,那就从浏览器层来粘合。
因此,不能接受REST的人,也是思想比较僵化,不善于开放思想的人;过分崇拜REST的人,是比较盲目的人,一个客观的IT工作者,以尚悟的方式去接触新技术,不要被某种思想或技术所毒害。(我常常称有些人被面向对象给毒害了)
将REST定义为一种风格,架构的一种风格是合适的。但个人觉得应该有更合适的词语。REST不是一种具体的架构,也不是架构的一种规范,而是一个架构的指导思想或理念。这个思想有两个重要组成:简约和HTTP,前者易用,至于后者则是对Http协议的一个诠释(谁说http只是用来传递网页的),呵呵,好比谁说电话线只能用来打电话。
REST和分布式对象以及分布式个人认为完全不冲突,首先,以前人们考虑分布式时总是一个非常非常沉重的话题,类似的言论还有“电信系统是一个非常严格的系统”等等,这是REST主要要推翻的东西,好比淘宝推翻了“批发价就是大批量购买的价格”之类的东西。REST要革命的是思想,互联网时代开发人员的思想。
在互联网时代,几乎所有的企业都意识到了自己是否互联网企业的重要性,是否互联网企业并不仅仅说有一个主页了事,而是,你的客户,你的供应商,广告商,企业员工等等能否在互联网上很好的协作。呵呵,这是一个更大的分布式应用。对于自己内部的分布应用,我们已经有了很多协议和架构可用,它们是严谨的,安全和差错控制的。对于这个更大的,该怎么办呢。好像没有太多的办法,因为尽管你可以和你的供应商协调接口,但是太多接口了,因此REST作为一种风格出现了:简约+http。
那么,REST和EJB等如何共存呢。即使你是所谓电信的严格应用,到了WEB层面就应该以一种更简单的形式调用——将你的分布式对象wrapper一下,以REST风格发布出来,呵呵。
后话:以前光纤网络没有普及的情况下,网络应用运行在不可靠的连接中,分布式技术是一种重要的解决方案,主要强调可靠性。光纤网普及了,分布式应用很多都改成集中的了,分布式技术转而面向企业EAI,应用服务器从某种程度上来说就是分布式技术的一种转型,作为企业应用的粘合剂。但这是建立在企业内部(或紧密合作伙伴间)。
现在的互联网应用,好比当年的网络应用,连接不可靠,是否也采用当年的思路去解决问题,保证可靠的应用呢?显然,行不同,因为参与者不确定的情况下,很难制定协议。只有一种办法,舍弃。完全背道而驰的思路(所谓革命)。在应用服务器层面粘合,看来也不可能了,那就从浏览器层来粘合。
因此,不能接受REST的人,也是思想比较僵化,不善于开放思想的人;过分崇拜REST的人,是比较盲目的人,一个客观的IT工作者,以尚悟的方式去接触新技术,不要被某种思想或技术所毒害。(我常常称有些人被面向对象给毒害了)