InfoQ

InfoQ

新闻

我的书签

登录注册 以永久保存书签。

该内容已经被标记书签!

标记书签错误,请重试!

REST作为风格 -- WOA作为架构

作者 Dave West 译者 黄璜 发布于 2009年6月11日

领域
语言 & 开发,
架构 & 设计,
运维 & 基础架构,
企业架构
主题
REST ,
架构 ,
云计算 ,
SOA ,
设计 ,
互联网 ,
SOA平台
标签
Buzzwords ,
Web 2.0 ,
Reference Architectures

Dion Hinchcliffe最近创作了两篇相关的文章,探求了面向Web的架构(WOA)与其它技术之间的关系。第一篇主要关于WOA与REST;第二篇主要关于WOA与SOA。第一篇文章的主要观点是:REST是一种风格而WOA是架构。第二篇文章声称WOA实际上值得高度称赞的亚风格的SOA,并探讨了这一简单的观察所揭示的意义。

作为讨论的开头,Hinchcliffe承认一开始是REST最先吸引了你的注意:

你已经在Web上读了许多关于REST的文章,它将如何成为未来的Internet架构,并且你已经决定将其运用于你的工作。但当你更深入到这一课题时,会发现REST本身似乎就是关于在Internet上将数据资源从一处移到另一处,而不是构造一个完整的应用。对于你来说如何将其合适的应用于你的上下文环境-一个完整实现并良好设计的软件-中来并不清楚(当然也是缺乏文档的)。

然后他写到:

你开始揣测REST是如何被特别地(以及策略性地)用于一个应用或是整个软件架构的。换句话说,哪一些是活动的部分以及应用它们时该如何约束。你同样想知道还有什么是你可以与REST共同使用,或能对其补充使其变得更好的。你甚至可能想知道什么时候可以打破规则而使用其它一些相关的措施。这些正好是WOA派上用场的地方了。

最后总结到,“因此,简而言之,WOA远比REST更多,而REST是WOA的基本架构风格。”

Hinchcliffe将WOA分为两部分来定义:核心部分包括REST,URL,SSL以及XML;还有一个“WOA完全版”包括了协议以及接口(例如,BitTorrent),身份以及安全(例如,OpenID),分发与组件(例如,Open API),以及数据格式与描述(例如,ATOM)。这些内容以六个层次组织成了WOA栈(包括示例用的技术):

  • 分发(HTTP, feeds)
  • 组合(Hypermedia, Mashups)
  • 安全(OpenID, SSL)
  • 数据兼容性(XML, RDF)
  • 数据表示(ATOM, JSON)
  • 转移方式(REST, HTTP)

这一个栈增强了WOA与REST之间的关系,后者作为基础支撑着这整个大型的架构思想。

很重要的一点是要认识到WOA还并未成熟到成为一个架构模式或是良好定义的框架。如Hinchliffe所写的那样:

WOA是当下开发者们正在实施的...一系列设计Web应用的最佳实践。它并不是一个方案和技术的摸彩袋,而是一个真正发挥作用的优雅的模型:它是安全的,有着良好的Web伸缩性,性能卓越,...同时还是易于上手,易于实现,而当你一旦理解了Web之后这几乎是本能而直观的。

那这一风格与架构的讨论又是如何联系到SOA的呢?

首先,依据Hinchcliffe的说法,“WOA实际上值得高度称赞的亚风格的SOA”。更进一步

对于那些进行传统SOA开发的人们来说,WOA当然也提供了诸多的优势。其中包括了提升明显的服务消费模型,更便宜更节约时间,以及释放了链接架构的巨大能量来驱动信息发现,利用与分析。Open API与云计算所蕴含的深厚的业务意义这周变得更加清晰。WOA更是为访问现今可获取许多新的在线产品分发模型打开了匝道。SOA当中的分发是一个被忽视掉的悲伤的话题,然而WOA能带来一个广泛的技术集合,从聚合到非凡的低阻Web服务。

而WOA-因为将REST合并作为核心技术,而又不完全等同于它-提供了在基于SOAP模型与基于REST的Web服务技术之间的调和。

WOA可以被看着是将SOA超出防火墙的一种方法。Hinchcliffe与他的同事,David Linthicum,建议:

WOA最大的舞台可能是其跨防火墙的意义,API部门可以使用SOA来提供可伸缩的,自服务的交易合作功能,尽管防火墙内部的业务也是一个很大的舞台。

WOA支持SOA实践者去探索不同的业务场景集合。Hinchcliffe讨论了五个潜在的场景,包括:“SOA信息的爬虫性,搜索性,与发现性”与“Open API将WOA直接暴露于合作伙伴。”

揭开WOA:前沿架构风格的六个方面SOA世界开始认真考虑WOA 这两篇文章都值得一读,以更深入的看待REST,WOA,与SOA这个三元组。

查看英文原文:REST is a style -- WOA is the architecture.

译者 黄璜 糊口靠的是Java Web,赶过SOA的潮,追过Cloud的风,真正欢喜的是Linux,向往的事情是研究网格计算。

深度内容

大规模视频网站的计费与流量管理

本次分享将会就大规模视频网站的计费与流量管理这个话题,从操作层面细细进行讲解和分析,为系统工程师们揭示平日里我们没有关心的另一些内容。同时也希望本次分享能揭示行业中的一些“潜规则”,让互联网行业的流量与带宽管理更为开放与简洁。
本次演讲视频录制于QCon杭州2011

专访Jeffrey Richter:Windows 8是微软的重中之重

Jeffrey Richter以其多本Windows核心技术的经典著作而闻名,同时,他深入掌握微软的.NET等一系列核心技术,2012年1月,Jeffrey Richter在北京接受了InfoQ中文站的专访,谈到Windows 8和WinRT编程,并就异步编程、Windows编程中的可扩展性、性能和安全性方面给出自己的建议。

应用云平台的可用性——从新浪SAE看云平台设计

云计算平台的可用性,相比传统互联网服务而言,更加复杂和困难,也更具有挑战性。本文借助新浪SAE云平台为读者讲述了云平台可用性的定义、如何打造高可用的平台,以及对云计算的用户提出了建议。

JVM定制改进 @ 淘宝

淘宝高度重视Java平台的健康发展,组建了一个团队专注于Java平台的底层部分的性能、功能与稳定性改进;工作主要基于OpenJDK中的HotSpot VM开展,其中一些通用的功能随后也会逐渐反馈给OpenJDK社区。希望能与使用Java平台开发应用的大家交流经验。
本次演讲视频录制于QCon杭州2011

"伤得起"的云计算应用——对云端应用之架构的思考

2011年4月21日至22日是值得云计算从业者纪念的日子。Amazon的IaaS服务出现故障,导致许多商业网站的服务中断,影响非常严重。作为云计算用户,我们需要思考的是,如何保证即便在云服务不可用的情况,我们的应用架构仍然能够屹立不倒?本文正是站在云计算用户的角度试图探讨这一问题。

让交付的速度跟上思考的速度

12人的技术团队,4组刀片服务器,每月20亿的访问量,每日1次准时部署,99.9%的可用性。这可能吗?当然。想知道如何做的吗?百姓网将与您分享他们在DevOps实践过程中的经验和技巧。
本次演讲视频录制于QCon杭州2011

架构之路——穿行在产品和业务之间

篱笆作为一家起源于社区的电子商务公司,反映到技术层面就是同时要面对产品和业务,以及经营战略的变化调整。如何在产品和业务的夹缝之间完成技术架构的抽象与平衡,寻找更有效的价值定位,这当中有些经验教训和个人感悟愿与众人分享。
本次演讲视频录制于QCon杭州2011

特性注入:成功三部曲

本文将对特性注入以及相关方法做一个扫盲性的介绍。我们会解释这个框架的关键要素,并附上实例来证实它们。为了让文章保持相对较短,我们不会深入到某个工具或方法中,而是会给出一些参考资料,以便大家做进一步的研究。