ROA(REST Oriented Architecture,面向REST的架构),是一个使用REST服务的SOA(Service Oriented Architecture ,面向服务的架构)的花哨的名称。
基于SOAP的SOA和ROA相比,最主要的优势是更成熟的工具支持;然而,随时间的发展,这一切都会改变;另一个SOA的优点是因为XML请求的类型安全原因,(当然,如果开发商希望,ROA的响应也可以使用XML)。
ROA的主要优点是便于实施、设计灵活、轻量级的对象访问方式。在某种程度上,SOA和SOAP就好像是穿着西装的人,你会发现在银行和金融业都是这样的人。相反,有人需要快速可上手的东西并且要具有良好的性能和低开销,这时候最好使用REST和ROA。
例如,当解释为什么他们选择REST而不是SOAP时,雅虎的人说,他们“相信REST具有较低的进入壁垒,比SOAP更容易使用,且完全足够[雅虎]服务”(雅虎开发人员网络常见问题,如2008年2月)。这不仅适用于REST与SOAP之间,也适用于ROA与SOA之间。
REST的另一个优点在于性能:对缓存更好地支持、轻量级的请求和响应、更容易响应解析,REST允许灵活的客户端和服务器,也降低了网络流量。
随着REST的成熟,它可能会被更好地理解、更受到大家欢迎,即使在较为保守的行业中。
基于SOAP的SOA和ROA相比,最主要的优势是更成熟的工具支持;然而,随时间的发展,这一切都会改变;另一个SOA的优点是因为XML请求的类型安全原因,(当然,如果开发商希望,ROA的响应也可以使用XML)。
ROA的主要优点是便于实施、设计灵活、轻量级的对象访问方式。在某种程度上,SOA和SOAP就好像是穿着西装的人,你会发现在银行和金融业都是这样的人。相反,有人需要快速可上手的东西并且要具有良好的性能和低开销,这时候最好使用REST和ROA。
例如,当解释为什么他们选择REST而不是SOAP时,雅虎的人说,他们“相信REST具有较低的进入壁垒,比SOAP更容易使用,且完全足够[雅虎]服务”(雅虎开发人员网络常见问题,如2008年2月)。这不仅适用于REST与SOAP之间,也适用于ROA与SOA之间。
REST的另一个优点在于性能:对缓存更好地支持、轻量级的请求和响应、更容易响应解析,REST允许灵活的客户端和服务器,也降低了网络流量。
随着REST的成熟,它可能会被更好地理解、更受到大家欢迎,即使在较为保守的行业中。
附上一些对本章的评论:
这是一个很好的文章。但与所应有的尊重,我不同意你的第一条语句,ROA是具有REST服务的SOA。
ROA和SOA代表了2种不同的设计风格。在SOA中“服务”或“动作“是重要的,它是建立在这些动词(服务是设计和组织)的基础上。
ROA或面向资源的架构中,其重要性是考虑到资源。在这种情况下,关注的是实体或“名词”的重要性,重点是组织服务中的资源。
REST是一种建筑风格或一种设计模式,它可以和SOAP结合来使用。我们不能说基于SOAP的SOA或者SOA是对我们采用任何相关技术(不仅仅是SOAP)的一种架构或蓝图。