web-services - 现实生活中的 Atom 发布协议(protocol)

标签 web-services language-agnostic atompub

我知道一些大公司已经接受了它,并且实际上已经以应用程序兼容的方式公开了他们的一些服务。然而,我在这个领域还没有发现很多其他(较小的)参与者。您知道任何使用 APP 作为其公共(public) API 协议(protocol)的 Web 应用程序/服务吗? 对 AtomPub 有何看法?您有使用它的实际经验吗?它有什么局限性和缺点?您更喜欢 AtomPub 作为您的 REST 风格还是有其他喜欢的风格?为什么?

我知道,这是很多问题,而不只是一个。不过,我感兴趣的事情很简单 - APP 标准是如何进入市场的,特别是它在 Web 开发人员中的采用情况如何?

最佳答案

我工作的公司正在开发很多 RESTful 服务。 然而,它们都没有公开公共(public) API。(从某种意义上说,所有服务都由我们自己的客户在内部使用)。我们选择 REST 架构风格的原因是我们希望我们的服务易于使用,更重要的是能够很好地扩展。

根据我自己的实践经验,我得出的结论是,HTTP + ATOM 聚合格式是一个好主意,只要你想保持灵 active (就不同的内容模型而言,附加和扩展与有效负载相关的元数据,统一解析等)。 ATOM 确保每个人都以统一的方式解释有效负载,不存在任何歧义。

但是,如果没有任何如此复杂的要求或没有预见到这样的要求,那么 ATOM 格式可能会有点开销。 (例如,作者、标题等元素在博客/RSS 世界中更有意义,但在您的特定问题域中可能没有意义)。

此外,如果目标只是在一端序列化数据结构并在另一端重建它,那么大多数 Web 框架(如 WCF)都具有更具吸引力的自定义格式。

因此,在我看来,如果您需要数据表示方面的灵 active ,并且如果不同类型的客户端的竞争环境很大,那么 ATOM Pub 是不错的选择。

但是,如果您非常了解潜在客户端和服务器/客户端使用模式,那么自定义格式可能是一个好主意。

如果客户端是基于浏览器的,那么 JSON 等格式非常有吸引力。

希望这能回答您的问题。

关于web-services - 现实生活中的 Atom 发布协议(protocol),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/366013/

相关文章:

java - 从集合中选择一个随机元素

language-agnostic - 去哪里浏览开放源代码项目?

javascript - 如何从 Javascript 中的 AtomPub XML HTTP 响应中提取值(适用于 Google Apps 管理设置 API)

.net - 有人知道 .Net 的 Atom APP 服务器吗?

c# - 在高并发 WCF Web 服务中使用实例和单例

android - 来自移动设备请求的 IP 地址

web-services - 为简单的 WCF 服务打开基本身份验证?

language-agnostic - null 的目的是什么?

java - 为什么 google api 客户端库不建立在 Apache 的 Abdera 框架之上?

java - 如何在Java中的Web服务中接收 HashMap ?