首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Rest Notes-REST架构的视图

Rest Notes-REST架构的视图

作者头像
itliusir
发布2018-06-08 11:09:41
7510
发布2018-06-08 11:09:41
举报
文章被收录于专栏:刘君君刘君君

摘要: 上一篇我们已经孤立的了解了REST的架构元素,接下来我们可以使用架构视图来描述这些元素如何协作以形成一个架构。为了展示REST的设计原则,需要使用三种视图:过程视图、连接器视图、数据视图

正文:

REST架构的视图

过程视图(Process View)

过程视图的主要作用是通过展示数据在系统中的流动路径,得出组件之间的交互关系。下图提供了一个基于REST的架构的过程视图

process view
process view

一个用户代理正在处理三个并行的交互(a、b、c),用户代理的客户端连接器的缓存无法满足请求,因此它根据每个资源标识符的属性和客户端连接器的配置将每个请求转发到资源的来源服务器

  1. 请求a被发送到一个本地代理,然后代理通过DNS查找到了一个网关,该网关把这个请求发送到一个可以满足该请求的来源服务器
  2. 请求b被直接发送到了一个来源服务器
  3. 请求c被发送到了一个本地代理,它能够直接访问WAIS(一种与Web架构相分离的信息服务),并将WAIS的响应翻译为一种通用的连接器接口能够识别的格式

REST通过强制要求消息具有自描述性来支持中间组件的处理,其具体体现为:请求之间的交互是无状态的、使用标准的方法和媒体类型来表达语义和交换信息、以及响应可以明确地表名其可缓存性

连接器视图(Connector View)

连接器视图聚焦于组件之间的通信机制,客户连接器检查资源标识符,以便为每个请求选择一个合适的通信机制。例如标识符如果是一个本地资源,则连接到一个处理本地资源的代理组件

REST并不限制通信只能使用一种特殊的协议,比如上面过程视图中请求c将http转成了wais。尽管如此,与其他协议的服务的交互被限制为只能使用REST连接器的语义

数据视图(Data View)

数据视图展示了信息在组件之间流动时的应用状态。因为REST被明确定位于分布式信息系统,它将应用看作是一种信息和控制的聚合体,用户可以通过这个聚合体执行它们想要完成的任务。

REST将所有的控制状态都集中在从交互的响应中接收到的表述之中,其目的是通过使服务器无需维护当前请求之外的客户端状态从而改善服务器的可伸缩性。

REST的模型应用是一个引擎,它通过检查和选择当前表述集合中的状态跃迁选项从一个状态移动到下一个状态。

前几篇文章介绍了REST的风格推导到REST架构元素和REST架构视图。作者描述了指导REST的软件工程原则和为支持这些原则而选择的交互约束,并将它们与其他架构的约束进行了对比 下一篇将介绍REST应用于现代Web架构的设计、规范、部署过程中的经验与教训以及对REST架构的评估

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-06-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 正文:
  • REST架构的视图
    • 过程视图(Process View)
      • 连接器视图(Connector View)
        • 数据视图(Data View)
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档