BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Atom的价值?

| 作者 Mark Little 关注 14 他的粉丝 ,译者 黄璜 关注 0 他的粉丝 发布于 2008年11月4日. 估计阅读时间: 3 分钟 | QCon上海2018 关注大数据平台技术选型、搭建、系统迁移和优化的经验。

在回应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?

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

谢谢 受益匪浅 by jacken chen

谢谢 受益匪浅

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

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

1 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT