写点什么

纯 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:512374
用户头像

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

关注

评论

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

Spring Boot基础学习

偏执

面试 后端 spring Boot Starter

什么是JVM?深入解析JVM原理!

愚者

Java JVM

双因子认证是什么意思?有什么作用?

行云管家

信息安全 双因子认证

用了七个步骤,4面通过拿offer,终“跳进”字节跳动

Java 编程 程序员 架构 面试

体验设计也可以很简单。只要释放出一些善意就可以了。

石云升

用户体验 7月日更 体验设计

为什么在线自习室这么受年轻人的追捧?

anyRTC开发者

音视频 WebRTC 在线教育 在线自习室 实时直播

Java版人脸检测详解下篇:开发java应用并做成docker镜像同步

编程菌

Java 编程 程序员 技术 技术栈

springboot自动装配源码解析

偏执

面试 后端 spring Boot Starter

fil是怎么挖的?Fil矿机有什么配置要求?

区块链 IPFS fil fil矿机 fil矿机配置

拼多多 +蚂蚁金服 +头条(已拿offer),面试真题分享!

Java 程序员 架构 面试 计算机

快手技术大咖分享“领域数据建设”实践经验

Geek老T

大数据 数据治理

三分钟评估 你的CMDB是“磐石”还是“豆腐渣”

鹿小U

DevOps 运维自动化 CMDB IT运维

智能获客黑科技系统开发搭建

从零开始学习3D可视化之项目部署

ThingJS数字孪生引擎

大前端 数据 可视化 数字孪生

现在双非本科的学历还有机会拿到大厂 offer 吗?

java小李

面试 spring Boot Starter

底层即真理!Netty+Redis+ZooKeeper解读高并发系统架构!

Java架构追梦

Java redis zookeeper 架构 架构编程

二本的他是如何在12天面试突击中,拿到阿里P7的offer

Java架构师迁哥

详解什么是JMM!

愚者

JMM

百度智能云在视频云解决方案市场位居前三!

百度大脑

云计算 云服务 IDC

洗清杂念 辟除妄见 归于自然|靠谱点评

无量靠谱

博睿数据携数据链DNA理念亮相山东 助力金融行业数字化转型

博睿数据

ONES Performance 研发效能管理解决方案

万事ONES

研发效能 解决方案 ONES

博睿作为AIOps代表厂商入选《2021年中国ICT技术成熟度曲线报告》

博睿数据

数据链DNA:可观测助力云原生时代服务可达

博睿数据

模块三作业

Geek_35a345

单机12万QPS——FunTester复仇记

FunTester

性能测试 接口测试 测试框架 压力测试 测试开发

博睿数据把脉“体验经济”,以“上帝”视角解决业务运营挑战

博睿数据

模块3.架构设计

Geek_ywh40v

持续演进的云原生应用交付

CODING DevOps

DevOps 云原生 k8s 研发工具 交付工具

抖音快手获客系统开发公司

有了 NGINX 和 Kong,为什么还需要 Apache APISIX?

API7.ai 技术团队

网关 kong ngnix APISIX

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