首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我什么时候应该使用AtomPub?

我什么时候应该使用AtomPub?
EN

Software Engineering用户
提问于 2012-05-30 08:42:13
回答 1查看 7.2K关注 0票数 13

我一直在对RESTful的web服务设计进行一些研究,我已经达到了我认为是一个关键的决策点,所以我想我应该向社区提供一些建议。

为了符合RESTful体系结构的原则,我想提供一个可发现的API,因此我将尽可能全面地支持各种HTTP谓词。我的困难在于如何选择这些资源的代表性。您知道,我很容易想出自己的API,包括如何显示搜索结果,以及如何提供指向其他资源的链接,但这对于我的应用程序来说是独一无二的。

我读过有关Atom发布协议(RFC 5023)的文章,以及OData如何促进它的使用,但它似乎增加了一个额外的抽象级别,而不是(目前)相当简单的API。

所以我的问题是,开发人员什么时候应该选择AtomPub作为他们的表示法--如果有的话?如果没有,目前建议的方法是什么?

EN

回答 1

Software Engineering用户

回答已采纳

发布于 2012-07-26 13:56:56

在对此进行了大量研究之后,以下是我的发现:

有三种主要的格式和方法: AtomPub、OData和HAL。我总结了下面每一项的研究。

AtomPub

  • Pro:完善的标准
  • Pro:使用XML和JSON
  • Pro:通过Abdera拥有优秀的Java支持
  • Con: Abdera引入了许多依赖项。
  • Con:在服务器端处理非常复杂
  • Con:很难构建完整的JavaScript客户端

OData

  • Pro:构建在AtomPub上
  • Pro:使用XML和JSON
  • Pro:通过odata4j项目有良好的Java支持
  • Pro:提供了一个良好的URI查询结构。
  • Con:引入了一个完整的框架(实质上取代了Dropwizard)
  • Con:非常复杂的工作,特别是实体数据模型(EDM)。
  • Con:很难找到一个好的JavaScript客户端库而不依赖于仅使用Windows的电火花加工工具

硬件

  • Pro:介绍了一种轻量级和可扩展的方法。
  • Pro:使用XML和JSON
  • Pro:简单地创建JAXB模型来实现它(没有依赖关系)
  • Pro:提供一个良好的链接框架。
  • Pro:使用JavaScript XML解析创建jQuery客户端非常简单
  • Con:尚未批准(尽管已与IETF进行了接触)

所以我什么时候应该使用AtomPub?

如果您对额外的复杂性感到满意,并且希望为您的客户端使用标准库,那么应该从上面选择AtomPub。如果您正在运行一个大型文档存储库,则可能会出现这种情况。

我已经提出了更多的细节(这超出了这个问题的范围),最近的一篇博客文章可能会对其他人有所帮助。

票数 11
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/150807

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档