专栏首页刘君君Rest Notes-REST架构的视图

Rest Notes-REST架构的视图

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

正文:

REST架构的视图

过程视图(Process View)

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

一个用户代理正在处理三个并行的交互(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架构的评估

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Rest Notes-表述性状态移交(Representational State Transfer ,REST)

    itliusir
  • Rest Notes-将REST应用于URI

    itliusir
  • Rest Notes-架构上的教训(论文部分完结)

    itliusir
  • 【AI核心技术】课程十一:VGG网络更深的架构尝试

    UAI与PaddlePaddle联合推出的【AI核心技术掌握】系列课程持续更新中!

    用户1386409
  • 什么是 REST 风格

    REST是REpresentational State Transfer 的缩写,那它究竟意味着什么呢?也许这个问题已经困惑你很久了,下面就由包子给你细细分解。...

    包子面试培训
  • 从实践的角度分析WebService两种方式SOAP和REST比较

    在SOA的基础技术实现方式中WebService占据了很重要的地位,通常我们提到WebService第一想法就是SOAP消息在各种传输协议上交互。近几年REST...

    貟王軍
  • 初识云计算:历史、服务、架构

    我们主要从用户对云计算的认知角度来谈云计算的发展史,至于它从提出到发扬光大的那些大事件,网上搜下就知道了,而且我觉得去谈那些发展事件意义也不大,倒不如说说我们对...

    CloudDeveloper
  • 前沿 | 首次大规模神经机器翻译架构分析结果出炉,LSTM 优于GRU

    选自arxiv 作者:Denny Britz等 机器之心编译 参与:微胖、蒋思源、吴攀 这样的实验只有谷歌级别的公司才能处理的了。这篇文章对大型 NMT 模型训...

    机器之心
  • 软件工程期末考试复习(四) 设计原理高内聚,低耦合的系统有什么好处呢? 面向数据流的设计方法

    总体设计的基本且的就是回答“概括地说,系统应该如何实现”这个问题。因此,总体设计又称为概要设计或初步设计。通过这个阶段的工作将划分出组成系统的物理元素程序、文件...

    用户2417870
  • 推荐一款轻量化、易用的css框架bulma.css

    最大的特点:简单好用 提供二十多种常用组件,比如表单 、表格、图标、面包屑、菜单、导航、Modal 窗口等等。简单的网站,可以不用写任何 CSS 代码。

    薛定喵君

扫码关注云+社区

领取腾讯云代金券