REST架构风格的架构元素

本文是笔者研究REST总结的第二篇。建议阅读本文之前,先看一下笔者对REST总结的第一篇文章《REST架构风格的由来》,弄清楚REST的由来,再看本篇。

表述性状态转移(REST)风格是对分布式超媒体系统中的架构元素的一种抽象。REST忽略了组件实现和协议语法的细节,以便聚焦于以下几个方面:组件的角色、组件之间的交互之上的约束、组件对重要数据元素的解释。REST包括了一组对于定义 Web 架构基础的组 件、连接器和数据的基本约束,因此它代表了基于网络的应用的行为的本质。

REST提供了一组架构约束,当作为一个整体来应用时,强调组件交互的可伸缩性、接口的通用性、 组件的独立部署、以及用来减少交互延迟、增强安全性、封装遗留系统的中间组件。

如下为REST的架构元素。

1.数据元素(Data Elements)

1.1资源和资源标识符(Resources and Resource Identifiers

REST对于信息的核心抽象是资源。任何能够被命名的信息都能够作为一个资源:一份文档或一张图片、一个与时间相关的服务(例如,“北京今日的天气”)、一个其他资源的集合、一个非虚拟的对象(例如,人)等等。REST使用一个资源标识符来标识组件之间交互所涉及到的特定资源。

1.2表述(Representations

REST组件通过以下方式在一个资源上执行动作:使用一个表述来捕获资源的当前的或预期的状态、在组件之间传递该表述。一个表述是一个字节序列,以及描述这些字节的表述元数据。表述的其他常用但不够精确的名称包括:文档、文件、HTTP 消息实体、实例或变量。表述的数据格式被称为一种媒体类型。

2.连接器(Connectors)

%e8%bf%9e%e6%8e%a5%e5%99%a8

REST使用多种不同的连接器类型来对访问资源和转移资源表述的活动进行封装。连接器代表了一个组件通信的抽象接口,通过提供清晰的关注点分离、 并且隐藏资源的底层实现和通信机制,从而改善了架构的简单性。接口的通用性也使得组件 的可替换性成为了可能:如果用户对系统的访问仅仅是通过一个抽象的接口,那么接口的实现就能够被替换,而不会对用户产生影响。由于组件的网络通信是由一个连接器来管理的,所以在多个交互之间能够共享信息,以便提高效率和响应能力。

3.组件(Components)

REST 组件根据它们在整个的应用动作中的角色来进行分类。

说明:本文参考了由李锟、廖志刚、刘丹、杨光等翻译的<<架构风格与基于网络的软件架构设计>>

打赏支持我写出更多好文章,谢谢!

打赏作者

打赏支持我写出更多好文章,谢谢!

任选一种支付方式

1 1 收藏 2 评论

关于作者:求知者

一个前行中的程序员。 个人主页 · 我的文章 · 3

相关文章

可能感兴趣的话题



直接登录
最新评论
跳到底部
返回顶部