写点什么

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

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

关注

评论

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

软件测试学习笔记丨Flask框架-接口使用

测试人

flask 软件测试

鸿蒙多环境配置(一)

龙儿筝

鸿蒙

云原生开源开发者沙龙丨AI 应用工程化专场杭州站邀您参会

阿里巴巴云原生

阿里云 云原生

解锁低成本数据库归档方案,Databend 受邀参加 TiDB 杭州地区交流会精彩回顾

Databend

1024!一张照片定制程序员科技感写真

阿里巴巴云原生

阿里云 云原生

鸿蒙Navigation处理启动页跳转到首页问题

龙儿筝

鸿蒙

Comprehensive Analysis of QCN6274, QCN6224, and QCN6024 Chipsets - Performance, Use Cases, and Emerging Trends

wifi6-yiyi

WiFi7

除了邮件钓鱼外,你还知道哪些常见的钓鱼攻击方式?

国科云

鸿蒙封装日志库并支持跳转显示行号

龙儿筝

鸿蒙

决策权分配的最佳实践指南

爱吃小舅的鱼

管理 决策权分配

如果您干不动跨境外贸独立站,可以来看看反向海淘代购模式

tbapi

反向海淘 反向海淘代购系统 逆向海淘代购系统

测试外包服务 | 从人员外包到测试工具、测试平台,提供全方位的测试解决方案~

测吧(北京)科技有限公司

测试

豆包MarsCode 上线新能力 #Workspace:快速上手代码仓库、轻松分析项目结构

豆包MarsCode

程序员 AI 开发 代码

《使用Gin框架构建分布式应用》阅读笔记:p272-p306

codists

Go golang gin 编程人 codists

如何解决SD-WAN安全问题?

Ogcloud

SD-WAN 企业组网 SD-WAN组网 SD-WAN服务商 SDWAN

鸿蒙多环境配置(二)

龙儿筝

鸿蒙

天润融通邀您参加AI破局·聚力增长行业论坛

天润融通

用户增长 AI大模型 用户运营 天润融通

使用docker搭建ELK分布式日志同步方案

EquatorCoco

Docker 容器

推特账号被冻结怎么办?检查IP是否正常

Ogcloud

云手机 海外云手机 海外原生IP 海外IP

曹操出行借助 ApsaraMQ for Kafka Serverless 提升效率,成本节省超 20%

阿里巴巴云原生

阿里云 云原生

Java Pom两个模块需要互相引用怎么办

快乐非自愿限量之名

Java Python 前端

JVM性能优化实战手册:从监控到调优策略

乘云数字DataBuff

性能优化 JVM 监控 可观测性

中昊芯英加入信通院算力产业发展方阵,共推高性能AI算力发展

科技热闻

谁是下一个超级个体?

阿里巴巴云原生

阿里云 云原生 通义灵码

新技术如何解决体育直播平台开发中的五大难题?

软件开发-梦幻运营部

AI 辅助编程的效果如何衡量?

阿里巴巴云原生

阿里云 AI 云原生

谁是下一个超级个体?

阿里云云效

阿里云 云原生 通义灵码

时序数据库是什么:概念、特点与分类简析

Apache IoTDB

AI 辅助编程的效果如何衡量?

阿里云云效

阿里云 云原生 通义灵码

通义灵码知识库问答增强:知识库构建与管理指南

阿里云云效

阿里云 云原生 通义灵码

数智时代:以低代码开发为催化剂 加速中国制造转型升级

EquatorCoco

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