InfoQ

InfoQ

新闻

我的书签

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

该内容已经被标记书签!

标记书签错误,请重试!

Atom的价值?

作者 Mark Little 译者 黄璜 发布于 2008年11月3日

领域
架构 & 设计,
企业架构
主题
REST ,
SOA
标签
AtomPub ,
Atom

在回应How to GET a Cup of Coffee这篇文章时,Bill Burke,RESTeasy(一个JAX-RS实现)的主要开发者之一,这样谈到:

我始终没能被Atom的价值触动,在这个特例里,它又比”multipart/*”之类的好在哪里呢?为了支持Atom XML交互格式,你又不得不增加客户端及服务器端的复杂性。通过multipart,我们可以以一种更加紧凑的格式来获取同样的信息(通过位置[Location],内容位置[Content-Location],和内容类型[Content-Type]报头)。
就算比multipart更好,为什么不就返回一个逗号分隔的有序URI列表呢?
REST吸引我的地方之一(但不仅如此)就是你可以关注于你的服务之间交换的数据格式而不是用某种中间协议来在交互中充当隧道。目前来说,Atom于我而言不过是SOAP的另一种更具诱惑性的替代罢了。

Bill de hOra试图帮助(另一个)Bill来回答这一问题,并为他列出了Atom的七大要领:
 

  1. atom:id
  2. atom:updated
  3. atom:link
  4. 扩展规则(mustIgnore, foreign markup)
  5. 日期构建规则
  6. 内容编码规则
  7. 无序的元素

根据Bill(de hOra)的说法,SOAP以前(或是现在?)的问题(就一个问题?)在于“最小化的信封什么也没定义,扩展规则采用了错误的默认规则[mustUnderstand],而内容编码成为了遗留的功课。 ”

他接着总结到这些原则实际上比Atom本身更为广泛适用:

就算你不喜欢Atom(或就此不喜欢XML),如果你的传送格式想要在Web上生存下去的话,你也必须处理这七项基本类型。这就是我对那些喜欢更直接一点并具体到域,而不是将整个域映射到像Atom和SOAP这种抽象格式上的人们想说的话——就格式来讲,对此展开进攻你大概就能获得80%的质量和健壮性了。我相信它对任意Web或去中心化系统上所用的格式都是适用的,而不限于XML。一旦一种稀松的数据格式被放任自流,你不能仅仅去重构调用者了,你只有不断的版本控制,版本控制,版本控制。

实际上一篇最早期的Atom文章提到如下几点:……

……Atom API设计在思想上与如下几点指导原则保持了高度一致:
  • 定义良好的数据模型——包括模式及其它一切!
  • 文档风格的Web服务,而不是RPC
  • 发挥XML和名字空间的所有优势
  • 发挥HTTP的所有优势
  • 安全,因此在明文中没有密码

这确实与SOAP的开端截然不同,随着越来越多的人 开始出于各种理由拥抱Atom,有理由相信此刻它是REST最受宠的一个孩子。

查看英文原文:The Value Of Atom?

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

谢谢 受益匪浅 发表人 jacken chen 发表于
  1. 返回顶部

    谢谢 受益匪浅

    发表人 jacken chen

    谢谢 受益匪浅

    开发者资讯 | 我们致力于为开发者提供动力!
    欢迎你的到来!
    jacken.com.cn
    嘻嘻

深度内容

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

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

特性注入:成功三部曲

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