写点什么

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

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

关注

评论

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

火山引擎视频云发布赛事直播方案,延时缩短至1s

新消费日报

软件测试学习笔记丨Vue使用axios

测试人

Vue 软件测试 自动化测试 测试开发

公链开发需要多少钱?

区块链开发团队DappNetWork

Golang 1.23: 新的 unique 包

huizhou92

Game-Fi 新贵 MetaArena 项目全解析:重塑区块链游戏生态

股市老人

德国电动汽车生产:欧洲第一,世界第二

财见

2024 年 5 月区块链游戏研报:市值增长、玩家参与变迁、迷你游戏兴起

Footprint Analytics

链游

如何用二维码进行来访登记?这个模板帮你轻松实现!

草料二维码

草料二维码 访客登记 来访登记 访客来访二维码 来访二维码

IPv6改造技术:隧道技术的原理和优缺点

国科云

利用 AI 机器学习,轻松实现化合物配比最优化解决方案

Altair RapidMiner

人工智能 机器学习 数据分析 大模型

低代码开发应用:国企数字化转型的思考与探索

快乐非自愿限量之名

低代码 数字化

如何用Vue3构建一个交互式3D图

秃头小帅oi

时序数据库 IoTDB 构筑长安汽车海量车况数据管理新引擎,助力智能网联汽车发展

Apache IoTDB

从票务到游戏:Celestia 首届黑客松亮点项目盘点

TechubNews

Game-Fi 新贵 MetaArena 项目全解析:重塑区块链游戏生态

股市老人

领域数据视图化和无代码设计原理

XIAOJUSURVEY

前端 低代码 搭建 schema 问卷模型

QEMU X86架构机器类型之pc-i440fx-piix

Linux内核拾遗

芯片 虚拟化 qemu

低代码开发:智能财务系统开发应用

不在线第一只蜗牛

低代码

区块链钱包浏览器开发功能,价格和时间周期

区块链开发团队DappNetWork

Go 1.23: 新包 Iter

huizhou92

Go

解决Python使用GPU

快乐非自愿限量之名

Python 开发语言

智谱AI CodeGeeX代码大模型获信通院最高等级,成为国内首批通过可信AI评估的企业

技术研究院

中小企业转型有招,华为云618营销季步步“智”胜

YG科技

实力认可|心大陆多智能体入围“2024DIIRC大模型十大典范案例”服务商!

心大陆多智能体

人工智能ChatGPT的多种应用:如何更好地提问

霍格沃兹测试开发学社

从0到100:找搭子小程序开发笔记(一)

CC同学

蓝易云 - Ubuntu22.04交叉编译gcc9.5 for arm

百度搜索:蓝易云

ubuntu 内存 服务器 云服务器 GCC

蓝易云 - Redisson集成SpringBoot详解

百度搜索:蓝易云

Java redis spring Spring Boot redisson

蓝易云 - 关于openfeign的http和rpc详解

百度搜索:蓝易云

Web HTTP Hystrix Ribbon openfeign

快速删除Win10、Win11恼人的英文键盘

程序员与厨子

windows 键盘 输入法

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