2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

REST 作为风格 -- WOA 作为架构

  • 2009-06-11
  • 本文字数:1577 字

    阅读完需:约 5 分钟

Dion Hinchcliffe 最近创作了两篇相关的文章,探求了面向 Web 的架构 (WOA) 与其它技术之间的关系。第一篇主要关于 WOA 与 REST;第二篇主要关于 WOA 与 SOA。第一篇文章的主要观点是:REST 是一种风格而 WOA 是架构。第二篇文章声称 WOA 实际上值得高度称赞的亚风格的 SOA,并探讨了这一简单的观察所揭示的意义。

作为讨论的开头,Hinchcliffe 承认一开始是 REST 最先吸引了你的注意:

你已经在 Web 上读了许多关于 REST 的文章,它将如何成为未来的 Internet 架构,并且你已经决定将其运用于你的工作。但当你更深入到这一课题时,会发现 REST 本身似乎就是关于在 Internet 上将数据资源从一处移到另一处,而不是构造一个完整的应用。对于你来说如何将其合适的应用于你的上下文环境 - 一个完整实现并良好设计的软件 - 中来并不清楚 (当然也是缺乏文档的)。

然后他写到:

你开始揣测 REST 是如何被特别地 (以及策略性地) 用于一个应用或是整个软件架构的。换句话说,哪一些是活动的部分以及应用它们时该如何约束。你同样想知道还有什么是你可以与 REST 共同使用,或能对其补充使其变得更好的。你甚至可能想知道什么时候可以打破规则而使用其它一些相关的措施。这些正好是 WOA 派上用场的地方了。

最后总结到,“因此,简而言之,WOA 远比 REST 更多,而 REST 是 WOA 的基本架构风格。”

Hinchcliffe 将 WOA 分为两部分来定义:核心部分包括 REST,URL,SSL 以及 XML;还有一个“WOA 完全版”包括了协议以及接口 (例如,BitTorrent),身份以及安全 (例如,OpenID),分发与组件 (例如,Open API),以及数据格式与描述 (例如,ATOM)。这些内容以六个层次组织成了 WOA 栈 (包括示例用的技术):

  • 分发 (HTTP, feeds)
  • 组合 (Hypermedia, Mashups)
  • 安全 (OpenID, SSL)
  • 数据兼容性 (XML, RDF)
  • 数据表示 (ATOM, JSON)
  • 转移方式 (REST, HTTP)

这一个栈增强了 WOA 与 REST 之间的关系,后者作为基础支撑着这整个大型的架构思想。

很重要的一点是要认识到 WOA 还并未成熟到成为一个架构模式或是良好定义的框架。如 Hinchliffe 所写的那样:

WOA 是当下开发者们正在实施的…一系列设计 Web 应用的最佳实践。它并不是一个方案和技术的摸彩袋,而是一个真正发挥作用的优雅的模型:它是安全的,有着良好的 Web 伸缩性,性能卓越,…同时还是易于上手,易于实现,而当你一旦理解了 Web 之后这几乎是本能而直观的。

那这一风格与架构的讨论又是如何联系到 SOA 的呢?

首先,依据 Hinchcliffe 的说法,“WOA 实际上值得高度称赞的亚风格的 SOA”。更进一步

对于那些进行传统 SOA 开发的人们来说,WOA 当然也提供了诸多的优势。其中包括了提升明显的服务消费模型,更便宜更节约时间,以及释放了链接架构的巨大能量来驱动信息发现,利用与分析。Open API 与云计算所蕴含的深厚的业务意义这周变得更加清晰。WOA 更是为访问现今可获取许多新的在线产品分发模型打开了匝道。SOA 当中的分发是一个被忽视掉的悲伤的话题,然而 WOA 能带来一个广泛的技术集合,从聚合到非凡的低阻 Web 服务。

而 WOA- 因为将 REST 合并作为核心技术,而又不完全等同于它 - 提供了在基于 SOAP 模型与基于 REST 的 Web 服务技术之间的调和。

WOA 可以被看着是将 SOA 超出防火墙的一种方法。Hinchcliffe 与他的同事,David Linthicum,建议:

WOA 最大的舞台可能是其跨防火墙的意义,API 部门可以使用 SOA 来提供可伸缩的,自服务的交易合作功能,尽管防火墙内部的业务也是一个很大的舞台。

WOA 支持 SOA 实践者去探索不同的业务场景集合。Hinchcliffe 讨论了五个潜在的场景,包括:“SOA 信息的爬虫性,搜索性,与发现性”与“Open API 将 WOA 直接暴露于合作伙伴。”

揭开WOA:前沿架构风格的六个方面 SOA 世界开始认真考虑 WOA 这两篇文章都值得一读,以更深入的看待 REST,WOA,与 SOA 这个三元组。

查看英文原文: REST is a style – WOA is the architecture.

2009-06-11 01:054201
用户头像

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

关注

评论

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

小游戏看广告项目系统开发流程步骤/需求逻辑/源码功能

系统开发咨询1357O98O718

使用 Python 循环创建多个列表

霍格沃兹测试开发学社

Mac电脑上好用的设计绘图软件都有哪些,这6款一定不要错过!

Rose

mac设计软件 设计必备工具 苹果电脑设计软件合集 好用的平面设计软件

火山引擎VeDI:如何高效使用A/B实验,优化APP推荐系统

字节跳动数据平台

大数据 大数据 A/B测试

合约跟单系统开发功能策略/需求设计/源码案例

系统开发咨询1357O98O718

dapp链上合约质押挖矿系统开发详细流程/步骤逻辑/案例设计/源码模式

系统开发咨询1357O98O718

javascript中symbol究竟是什么?

秃头小帅oi

答辩ppt要包含什么内容?分享2个制作答辩ppt的实用技巧!

彭宏豪95

PPT 大学生 在线白板 办公软件 演示文稿制作软件

Mac怎么锁屏,快速锁定Mac电脑屏幕的方法

Rose

苹果电脑使用教程 Mac电脑锁屏 macos锁屏

神技能!如何用Python快速生成SQL语句?

霍格沃兹测试开发学社

什么是链游?链游dapp游戏系统开发详细案例/步骤方案/规则玩法/源码流程

系统开发咨询1357O98O718

阿里巴巴瓴羊基于 Flink 实时计算的优化和实践

Apache Flink

大数据 flink 实时计算

万界星空科技MES系统在食品加工行业的应用

万界星空科技

制造业 mes 万界星空科技 食品行业 食品加工

测试开发名企定向培训训练营即将开营,限时优惠进行中

测试人

软件测试

阿里巴巴中国站拍立淘API返回值详解:以图搜商品新体验

技术冰糖葫芦

api 货币化 API 接口 API 文档 API】 pinduoduo API

不谈虚的,平台即产品真的有那么好吗?

SEAL安全

运维 平台工程 PaaP

使用Python捕获和处理异常日志

霍格沃兹测试开发学社

AI大模型是如何改变我们的日常生活的?

天津汇柏科技有限公司

AI大模型

短剧系统开发流程步骤/功能设计/方案项目/源码程序

系统开发咨询1357O98O718

量化交易搬砖套利对冲系统开发指南详细/源码功能

系统开发咨询1357O98O718

BTC/ETH/IPFS/DAPP云算力质押模式挖矿分红系统开发详情介绍

系统开发咨询1357O98O718

Topaz Photo AI for mac常见问题 导入图像时冻结

Rose

浅谈Python在人工智能领域的应用

小齐写代码

Dapp/DeFi算力质押项目挖矿分红系统开发稳定版及详细

系统开发咨询1357O98O718

如何构建更稳定高效的TiDB多租户系统

TiDB 社区干货传送门

新版本/特性解读 数据库架构设计 应用适配 HTAP 场景实践 7.x 实践

共同探讨人工智能产业未来发展方向“2024长三角人工智能展会”

AIOTE智博会

人工智能展览会 人工智能展会 人工智能展

论文解读-面向高效生成大语言模型服务:从算法到系统综述

合合技术团队

人工智能 算法 OCR LLM

浅谈Python在人工智能领域的应用

小魏写代码

REST作为风格 -- WOA作为架构_SOA_Dave West_InfoQ精选文章