写点什么

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

  • 2009-10-30
  • 本文字数:954 字

    阅读完需:约 3 分钟

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

2009-10-30 05:512333
用户头像

发布了 133 篇内容, 共 38.2 次阅读, 收获喜欢 1 次。

关注

评论

发布
暂无评论
发现更多内容

简历应该这样写

xcbeyond

面试技巧 28天写作 12月日更

何为异步流

喵叔

28天写作 12月日更

Kafka 在消息队列领域为何如此流行?

老周聊架构

kafka 内容合集 签约计划第二季

手把手带你漫游语音识别世界|入门到实战

攻城先森

音视频 语音识别 内容合集 签约计划第二季

面试官:react中的setState是同步的还是异步的

全栈潇晨

React

我们的护城河在哪

hackstoic

商业模式

Apache APISIX 助力便利充电创领者小电,实现云原生方案

API7.ai 技术团队

运维 云原生 物联网 网关 Apache APISIX

分布式系统的架构演进过程(二)

卢卡多多

28天写作 12月日更

Prometheus Exporter (二十六)Statsd Exporter

耳东@Erdong

Prometheus 28天写作 exporter 12月日更 StatsD

手把手教你提交Jar包到Maven公共仓库 | 萌新写开源02

Zhendong

Java maven

效能研发:做一款GraphQL代码生成器

梁龙先森

签约计划第二季

信息

Nydia

日常的情绪控制

搬砖的周狮傅

情绪控制

Game On Serverless:SAE 助力广州小迈提升微服务研发效能

阿里巴巴云原生

阿里云 Serverless 云原生 SAE 合作

语音识别之降噪技术

攻城先森

音视频 语音识别 智能降噪 签约计划第二季

Structuring: 魔法诞生之法

mtfelix

28天写作

尤雨溪几年前开发的“玩具 vite”,才100多行代码,却十分有助于理解 vite 原理

若川

JavaScript vue.js 前端 签约计划第二季

[Pulsar] DLQ原理

Zike Yang

Apache Pulsar 12月日更

阿里Java编码手册实战详解-命名规范篇

JavaEdge

12月日更

尤雨溪推荐神器 ni ,能替代 npm/yarn/pnpm ?简单好用!源码揭秘!

若川

JavaScript vue.js 前端 签约计划第二季

前端工程建设那些事

梁龙先森

内容合集 签约计划第二季

浅谈数据资产

圣迪

数据 数据资产

初学者也能看懂的 Vue3 源码中那些实用的基础工具函数

若川

JavaScript vue.js 签约计划第二季

Vue 3.2 发布了,那尤雨溪是怎么发布 Vue.js 的?

若川

JavaScript vue.js 前端 签约计划第二季

让容器跑得更快:CPU Burst 技术实践

阿里巴巴云原生

阿里云 容器 云原生 cpu CPU调度

大学生要远离宿舍

Tiger

28天写作

go语言技术探究--合集

en

内容合集 签约计划第二季

javascript中获取 DOM 元素的几种方式

你好bk

JavaScript 前端 大前端 DOM BOM

【docker 总结】第二篇 - Image 镜像

Brave

Docker 12月日更

Vue 团队公开快如闪电的全新脚手架工具 create-vue,未来将替代 Vue-CLI,才300余行代码,学它!

若川

JavaScript vue.js 前端 签约计划第二季

前端开发:正确安装nvm的方法(非常详细)

三掌柜

28天写作 28 12月日更 12月

纯GET的REST集成模式——是同步,还是集成?_SOA_Dilip Krishnan_InfoQ精选文章