BT

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

纯GET的REST集成模式——是同步,还是集成?

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

Duncan Cragg阐释了他关于纯粹基于GET的REST集成模式的想法,其内容与微软FeedSync规范的愿景极为相似。他通过与一名企业架构师的假想对话这一方式,来解释了这一模式。

这位担忧的企业架构师注意到面向服务的环境中充满这样的REST实践:Web站点有“REST API”,或者有着小's'的“Web服务”。就算AtomPub也有“服务文档”!一些模式,比如AtomPub,通过完整的HTTP方法集,仅提供简单的数据读/写服务。而另一些模式仅把这种读/写接口作为对更多复杂的服务功能的封装。

他不禁想到:“Web在REST集成中处于什么位置?没有PUT和DELETE,Web也工作得很好:那么就使用本身RESTful的GET不就够了吗?”

他将自己的基于GET的集成模式称作 FOREST,一个RESTful的观察者同步模式,像他所解释的那样:

FOREST是一个只有GET的REST集成模式,简单的定义为:一个资源的状态依赖于它所链接的其它资源的状态。[...]这意味着,为了查看这些依赖,资源服务器同时也必须是客户端。

接下来他给出了一些关于这一集成场景的例子,还包括混搭...

FOREST是由纯GET或Web轮询用例引申而来的REST模式,包括某些特定类型的混搭,比如feed聚合或筛选器,为其它网页创建摘要的站点,等等。

...以及它与企业的相关性。

FOREST是在ROA/WOA/SOA环境里构建“企业混搭”的一个REST模式。[...]据我所知与此最相近的是企业混搭标记语言,但FOREST却十分不同:它简单得多,并且是/纯粹/的REST模式。

就这点而言,实际上ATOM/RSS feed使用基于GET的同步已有一段时间了,FeedSync就是这样的形式之一,这是微软的一个feed同步规范。

FeedSync对于Atom和RSS的应用范围是定义一个最小的必需扩展,来支持松散协作的应用使用Atom和RSS feed来作为条目共享的基础——也就是说,在两个或多个跨订阅的feed之间对新的和变更的条目异步地进行同步。

在这样的集成形式中,资源表示-通常指的是规范的数据模型,以feed的方式暴露出来,并可以被端点用于提取同步(pull-synchronization)。如果加上端点可以是各种能够通过使用HTTP的GET语义来同步资源状态的设备,服务,应用程序等等这种思想,这种模式将会更加普遍适用。

查看英文原文:GET-only REST Integration Patterns Blur The Line Between Synchronization And Integration

评价本文

专业度
风格

您好,朋友!

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

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的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通知我

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

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

讨论

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


找回密码....

Follow

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

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

Like

内容自由定制

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

Notifications

获取更新

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

BT