生成式AI领域的最新成果都在这里!抢 QCon 展区门票 了解详情
写点什么

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

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

关注

评论

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

AI 应用的全流程存储加速方案技术解析和实践分享

Baidu AICLOUD

海量存储 高性能计算 高性能存储 AI加速

音视频开发进阶——YUV与RGB的采样与存储格式

ZEGO即构

音视频开发

前端编程培训学习就业有前途吗?

小谷哥

高级特性之Render Props

夏天的味道123

React

个推TechDay治数训练营第三期直播预告:分享数据指标体系搭建秘诀!

个推

数据中台 数据分析 指标体系 数据指标 指标中台; 数据分析

上干货 | 园区智慧物联管理解决方案

AIRIOT

物联网 智慧园区 低代码开发 园区解决方案

Zebec 以 Layer2 的形式推出 Zebec Chain,流支付新时达来临了

鳄鱼视界

SPL 工业智能:识别指定工况

石臻臻的杂货铺

SPL 10月月更

React-diff原理及应用

xiaofeng

React

web前端开发培训学习合适吗?

小谷哥

AntDB数据并行加载工具的实现

亚信AntDB数据库

大数据 AntDB AntDB数据库 企业号十月PK榜 企业号十月 PK 榜

深度解析云安全责任共担模型

HummerCloud

10月月更

国产CPU执行SPL实现数据库运算的性能实用性测试

石臻臻的杂货铺

数据库 SPL 10月月更

不知道如何设计帮助中心?这里有解决办法!

Baklib

产品 效率工具 帮助中心 文档编辑

一文读懂 DNS 解析的工作机制和优化挑战

融云 RongCloud

DNS

大数据开发培训机构有哪些?

小谷哥

重磅来袭 | 尚硅谷数据湖Hudi视频教程发布

小谷哥

在线问题反馈模块实战(一):梳理业务需求并创建数据库表

bug菌

springboot 项目实战 10月月更

深度理解Redux原理并实现一个redux

夏天的味道123

React

React高级特性之Context

夏天的味道123

React

testcontainers-java 新增对 TiDB 的支持

PingCAP

TiDB

Zebec 以 Layer2 的形式推出 Zebec Chain,有望引发流支付赛道的新变革

股市老人

在线问题反馈模块实战(二):封装代码自动生成类文件器

bug菌

springboot 项目实战 10月月更

除了防火墙,还要部署什么设备才能保证服务器安全?

青藤云安全

网络安全 主机安全 青藤云安全

Baklib电子产品手册制作,简单且实用

Baklib

在DAYU200上实现OpenHarmony跳转拨号界面

OpenHarmony开发者

OpenHarmony

React的5种高级模式

夏天的味道123

React

前端培训学习好就业吗?

小谷哥

Zebec 以 Layer2 的形式推出 Zebec Chain,流支付新时代来临了

EOSdreamer111

在线问题反馈模块实战(三):自动生成所有Controller、Service、Mapper等文件

bug菌

springboot 项目实战 10月月更

STM32 非接触测温传感器 项目记录(ModbusRTU协议)

矜辰所致

stm32 ModbusRTU 10月月更 非接触测温

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