写点什么

REST 的业务用例

  • 2009-09-09
  • 本文字数:1464 字

    阅读完需:约 5 分钟

Justin Cormack 的一篇博文引发了关于 RESTful 架构在企业里的采用或缺失的热烈讨论

…或多或少总会听见 CTO 说:“把它做成 SOAP 的 API,谁有什么支持或反对的意见吗?”就像在婚礼上出现的那种场景一样,没有人作声。但我坚决反对。SOAP 不会是一个良好架构的主干,然而现在我们还没有说不的能力。

在他解释了资源在企业里所扮演的角色之后,他拿出这一数据 20 位开发者中有 9 位更愿意于使用 REST 因为它生产性更高。他暗示使用基于 REST 的 API 所带来的简洁性压倒了从服务契约或者服务模式 (wsdl,xsd) 所生成的代理,这些代理可以构建于 WS-* 标准之上,也可能基于其它标准。

这并非牵涉到生成一大堆无用代码的程序。它牵涉到的是超文本 (HATEOS),而不是映射数据库模型的晦涩文档。

接着他解释了企业里的资源这一概念,并以如何在 CRM 系统里对一个典型的客户进行建模作为例子进行了说明。

企业里的资源是什么?从客户开始。一个 CRM 系统很明显就是需要被建模的资源。你需要 API,通过调用它,来找出客户购买的产品,支持票据,你构建一个客户服务门户所必须的所有核心数据,以及内部的支持系统。

根据这一篇讲述 ROE(Resource oriented enterprise) 的文章所说,每个企业都有数据筒仓 (silo);比如满足不同业务功能的筒仓,工资系统,人事系统等等。而把这些筒仓所表示的数据当作是可访问的资源来考虑,是有其好处的。这些好处表现在成本方面,同时也表现在你打开了这些数据的孤岛,然后可以用它们来驱动以作出有根据的业务决策。

…ROE 所要求的,就是它们必须更加开放它们本身。并不仅仅主要在技术方面,同时也要提供一种更好的对它们信息内容的抽象。在一个面向资源的企业里面,这明显是通过将它们集成到一个基于 URI 的访问模式来实现的。

根据 Justin 的说法,要做到这一点不难。

构建这一框架可以是循序渐进的。你要么需要已经提供了 REST API 的工具,这会让事情更简易,要么需要一个 web 应用开发框架。这是应用架构与 web 内容管理的一个交汇点

除了他在他的博文里提到的企业迈向 ROE 的好处以外,他同时还汇集了一些来自 REST邮件列表的回应。

[它] 使得事物是人可浏览的,而声明使用它们是机器可浏览的 […] 业务逻辑变成了内容而不是数据,这里存在的再不是业务逻辑要像黑箱一样填充的参数表格,而是它们的状态变成了可发现,可访问,并且可推理的资源。

把 REST 引入企业 […] 帮助企业利用了 web 架构的灵活性,并且使得构建新的企业应用更加便宜和方便。

REST 的应用将 web 分散化的方面带入了企业的世界,并且支持一个网络的系统里的设计者和开发者可以创建并发展他们的组件,而不需要承担把他们聚到一个房间里来讨论 API 所消耗的资源与时间成本。[ Jan Algermissen 在 rest-discuss 邮件列表里写到。]

我相信 REST 对于超媒体的运用 […] 使得维护,部署与版本控制更加的容易,这一点在一个应用的维护阶段就转化成了业务上更低的成本。[ Darrel Miller 在 rest-discuss 邮件列表里谈到]。

同时,[…] 互操作性通过 REST 可以更容易的达到,这是由于 HTTP 的普遍性。同时这对于集成来说也有着极大的正面的副作用。我发自肺腑觉得 SOA 治理也能够真正的从 RESTful 架构的好处中得到收获,但我现在并没有什么细节的东西。[ Bill Burke 在 rest-discuss 邮件列表写到]。

Justin 着重强调了 Benjamin Carlyle 的观察,那就是你可以将 REST 视为 SOA 的一个演化,可以更好并且更容易的消费服务。我们正在见证企业里焦点从面向服务转移到对 RESTful 方案的采用吗?或者说像 Benjamin 所指出的那样,这是一种自然的演化?

查看英文原文: Business Case For REST

2009-09-09 22:512885
用户头像

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

关注

评论

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

一站式解决方案:体验亚马逊轻量服务器的顶级服务与灵活性

-亦世凡华、

Programming abstractions in C阅读笔记:p184-p195

codists

域名证书到期,如何通过nginx更换https证书

javaNice

nginx

企业该如何选择数字化转型工具?

优秀

数字化转型 数字化工具

亚马逊云科技大语言模型下的六大创新应用功能

淼.

用友成功签约国家能源全资子公司-宁波风电

用友BIP

财务数智化

大语言模型“战国时代”,未来将如何发展?

申屠鹏会

AI大语言模型

用了低代码工具,让我效率提升了80%

树上有只程序猿

软件开发 低代码开发平台 JNPF

李开复带领零一万物,新一轮融资由阿里云领投,估值超10亿美元

B Impact

轻量应用服务器:现代云计算的宝贵利器

E₀=mc²

云计算 虚拟化 亚马逊云科技 VPS

CNCC 2023 | 大模型全面革新推荐系统!产学界多位大咖精彩献言

小红书技术REDtech

算法 推荐系统 多模态 大模型 内容理解

罗拉ROLA住宅代理IP市场稳定增长,未来有哪些发展前景?

Geek_ccdd7f

项目管理从混乱到井然有序,就差这10款看板软件了!

彭宏豪95

项目管理 效率工具 项目经理 在线白板 看板工具

Python 文件处理指南:打开、读取、写入、追加、创建和删除文件

小万哥

Python 程序员 软件 后端 开发

垃圾回收是什么?

暂时不愿意透露姓名的热心人士

垃圾回收

OpenHarmony,奏响中国基础软件的“光辉岁月”

脑极体

开源鸿蒙

《用友企业绩效管理白皮书》要点解读之趋势洞察

用友BIP

企业绩效管理

第26期 | GPTSecurity周报

云起无垠

跨语言高性能RPC框架Focus发布V1.1.0

dinstone

RPC 高性能 跨语言 RPC框架

Macos ftp传输工具:Transmit 5 中文版 支持M1 附安装

加油,小妞!

ftp传输 Transmit 5

API自动化测试​

谷云科技RestCloud

API测试 API 接口

平台工程动态 Monthly News 2023-10

杨振涛

DevOps 平台 平台工程 平台工程社区 PECommunity

Amazon EC2 Hpc7g 实例现已在更多区域推出

亚马逊云科技 (Amazon Web Services)

Amazon EC2

对话在行人|泰开集团:通过财务数智化转型,实现多重管控要求

用友BIP

对话在行人 数智化领先实践

Linux Vim批量注释和自定义注释

芯动大师

快速实现一个企业级域名 SSL 证书有效期监控巡检系统

观测云

监控告警 智能巡检 SSL域名

【我和极客时间的故事】极客时间带给我的成长

三掌柜

我和极客时间的故事

Photoshop Web版本用了哪些CSS技术

南城FE

CSS css3 前端 PhotoShop

pycharm pro 2023.2.4中文版 支持M1

加油,小妞!

开发工具 PyCharm Pro

瓴羊重磅发布数据服务枢纽“瓴羊港”,推动企业数据流通及价值增长

B Impact

REST的业务用例_SOA_Dilip Krishnan_InfoQ精选文章