写点什么

从业务角度论证如何采用 REST 风格架构

  • 2008-12-25
  • 本文字数:873 字

    阅读完需:约 3 分钟

在一系列题为“REST 对话”的连载博文中,Duncan Cragg“为eBay 列举了应该给他们的集成API 采用一种真正REST 方法的论据”。在《业务对话》一文中,Duncan 从业务角度对REST 风格架构的采用进行了论证。

Duncan(以一种对话风格)向一个虚构的 eBay 架构师解释说,使用 RESTful 方法构架业务流程要比使用以 WS-* 规范为基础的 SOA 构建方法更简单,但更强大。关于应用架构师的角色,他说道:

在设计应用层资源交互,或者也可能是在架构师使用某些现有资源类型以及使用帮他完成业务逻辑的‘资源激活’代码时,架构师的工作是:资源类型或业务层。要是使用 WS-*,只会把这项任务搞得混乱和复杂。

“当你是从资源而不是动作出发进行思考时,所有事情都变得更清晰了”,在谈到用面向资源架构(ROA)来处理诸如服务发现和描述、客户端状态和会话,业务流程的问题时,Duncan states 这样说道。他还提到:

最好由松散的协议和已建立的惯例作为起始点;只在绝对必要时才添加约束、契约和中央控制。确保中央控制仅在模式(schema)之上。

使你的企业能够‘Mashable’,这样每个人都会对你感恩戴德。在 URL 中暴露数据的 UUID 和 GUID。在标准内容类型内对数据进行转换和修饰。

对于在这样一种架构中管理客户端的状态,他警告说:

任何隐藏状态都是一个危险信号。只要在 URI 中暴露状态信息,你就会知道一切运转正常。[……] 如果你发现你自己在会话或 cookies 中隐藏状态,或是通过设置 no-cache 返回该客户端专用的不同数据,或是如果你通过会话把连续的交互紧紧地绑在了一起,你就走向了一条不归路。

他承认这样一种方法可能很难在企业内推广,但是又表示它“更紧密地映射到了业务操作和互操作的实际发生方式”。

REST[……] 很自然地映射到声明性的业务规则上。当你从“流程思维”转换到“资源思维”时,你还必须把思维转换成声明性的。与协调两个手工编码的接口间数据的导入导出不同,你只能把它们全都链接起来,并指望人们可以提取(derefernce)和发现你的数据。

请分享你在企业中推广 Restful 风格的经验,另外再看看原文和这个系列文章

查看英文原文 RESTful Business Conversations

2008-12-25 03:151294
用户头像

发布了 255 篇内容, 共 63.1 次阅读, 收获喜欢 10 次。

关注

评论

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

AI大模型助力:离线生成中英双语字幕

百度开发者中心

人工智能 数字化时代 大模型

招个Java工程师,却发现了一个宝藏平台

王磊

Java 面试

科普:嵌入式多核并行仿真

DevOps和数字孪生

仿真建模 多核并行仿真

AI技术在医疗领域中有哪些改变?

小魏写代码

Transformer大模型学习导引:光速掌握大模型

鲸品堂

大模型 企业号 3 月 PK 榜

基于SkyEye仿真飞腾处理器:运行U-Boot并加载Phytium-FreeRTOS

DevOps和数字孪生

SkyEye 飞腾处理器

低代码助力企业数据资产价值升级

Crabc低代码平台

低代码 数字化 数据服务

开源推荐 | 简洁且强大的开源堡垒机OneTerm

37丫37

DevOps 运维 运维自动化 堡垒机 安全审计

中国滑雪运动趋势洞察2024

易观分析

报告 滑雪

arthas火焰图(async-profiler)在云交易中的运用

京东零售技术

后端 效能提升

雷龙科技Nand flash芯片试用体验

芯动大师

存储 芯片 Flash

深度解析大模型:概念、架构与应用价值

木南曌

AI 大模型

Github 每日热榜 2024.03.18

天马行空的大杂烩

程序员 开源软件 最新软件

[人脸修复]基于CodeFormer的人脸修复模型配置

alexgaoyh

环境配置 CodeFormer 人脸修复 人脸复原 旧照片修复

[自研开源] MyData v0.7.3 更新日志

LIEN

开源 数据集成 业务融合 API对接 mydata

数据平台“国产替代”掣肘在迁移?奇点云的工业制造实践解读

先锋IT

Java 文件处理完全指南:创建、读取、写入和删除文件详细解析

小万哥

Java 程序人生 编程语言 软件工程 后端开发

2023 re:Invent 使用 PartyRock 和 Amazon Bedrock 安全高效构建 AI 应用程序

亚马逊云科技 (Amazon Web Services)

生成式人工智能

何为代码检查服务的门禁级检查

华为云开发者联盟

开发 华为云 华为云开发者联盟 代码检查

北京大学讲座:大模型时代的软件研发:技术、范式与工具

华为云PaaS服务小智

人工智能 华为云

第43期 | GPTSecurity周报

云起无垠

《Java核心技术·卷 I(原书第11版)》PDF

程序员李木子

基于SkyEye仿真6678处理器:实现国产操作系统ReWorks仿真运行

DevOps和数字孪生

国产操作系统ReWorks SkyEye

报名最后一天!Farris-Vue前端组件创新挑战赛火热报名中!

inBuilder低代码平台

华为云数据库创新发展论坛,打造行业更优数据库底座!

华为云开发者联盟

数据库 后端 华为云 云原生数据库 华为云开发者联盟

从业务角度论证如何采用REST风格架构_SOA_Dilip Krishnan_InfoQ精选文章