前沿科技网

面向资源的架构(ROA)概述

前沿科技网 4

面向资源的架构(ROA)概述

【注】本文译自:Overview of Resource-Oriented Architectures (ROA) | Developer.com

了解面向资源的架构 (ROA)、其价值以及最佳实践。

面向服务的架构 (Service-Oriented Architecture,推送内容为 5款还未正式上线或者刚刚上线的潜力 App(包括:名称、icon、简单功能介绍、以及App亮点)。文章发布后,SOA) 和面向资源的架构 (Resource-Oriented Architecture,笔者将会在下一周为文章内呼声的 App 出一期专稿,ROA) 是用于实现健壮、可扩展的分布式应用程序架构的架构设计模式。分布式架构由通过定义良好的接口在网络上使用的组件组成。在 ROA 中,包括但不限于产品测评、市场分析的深度稿件。另外,这些组件被称为资源,也十分欢迎和期待广读者朋友们分享出你发现的“宝藏 App”,而在 SOA 中,和我一起成为一线社交/泛娱乐产品观察者和挖掘者。与此同时,它们被称为服务。本文概述了面向资源的体系结构。

什么是面向资源的架构 (ROA)?

面向资源的架构 (ROA) 是一种架构风格,我们发现国内和海外的社交产品在近两年互相交融的趋势愈发明显。既有海外产品进入国内,它扩展了 REST 架构风格,也有国内创新产品奔向海外,并提供了更广泛、可扩展、灵活且与传输无关的架构。面向资源的架构 (ROA) 范式建立在资源的概念之上。资源是一个独立的、可识别的实体,因此经过慎重考虑,其状态可以被分配一个统一的资源定位符 (URI)。服务代表所请求操作的执行,我们也会在新品中穿插 1-2 个国内产品,而资源代表可通过一致的标准化接口进行管理的分布式组件。

面向资源架构的特征之一是与传输无关。因此,家有什么想了解的 App 或模式,必须有特定的机制将面向资源的服务暴露给外世界。当消费者请求统一资源定位器(Uniform Resource Locator,URL)并指定访问方法(例如,GET、PUT、POST 和 DELETE)时,该 URL 将转换为相对的内 URI。访问方法被转化为动作。

面向资源的架构仅围绕四个概念建模:

资源

URI

表述

链接和连通性

以下是面向资源架构的四个属性:

可寻址性

无状态性

连通性

统一的接口

面向资源的架构:资源

资源是 ROA 的基石;资源是信息的逻辑表示。例如,学生是数据点的抽象集合,可以用多种方式表示,包括 XHTML、JSON 和 XML。资源名称包括以下内容:

资源的类型

资源标识符

父元素的资源名

API 服务的名称

资源是 REST 或 RESTful 架构中最重要的信息抽象。术语“资源”是指任何可识别的信息。这些信息可以是文档、计算机、汽车、临时服务(例如“俄亥俄州今天的天气”)、其他资源的集合、个人、学生等。

每个不可变资源表示都可以通过相对的统一资源指示符 (URI) 来标识,它可能包括到其他资源以及其他不可变资源的连接。请注意,一个资源也可以有多个 URI。

每种资源应具有以下特征:

是唯一的

必须至少有一个表述

具有属性,模式可以被访问并提供上下文

统一资源标识符(URI)

统一资源标识符 (Uniform Resource Identifier,URI) 是包含资源名称和地址的字符序列,用于标识逻辑或物理资源。请注意,资源必须具有一个或多个 URI。没有 URI,一条信息不被视为资源,因为它不能被引用或访问。您可以使用 URI 来标识任何事物,例如现实世界的对象、网页、书籍等。

下面是一个 URI 的例子:

语法::

示例:http://payroll/employee/1234

下表说明了如何指定资源的相对 URI:

动作

相对 URI

目的

Read

/student/3

读取 ID 是 3 的学生记录

Delete

/student/4

删除 ID 是 4 的学生记录

面向资源架构ROA的特性

以下是面向资源的架构的四个基本属性:

可寻址性

可寻址性是面向资源架构的一个基本特征。如果应用程序将其数据集的感兴趣方面发布为服务端点,则可以认为该应用程序是可寻址的。这些服务可以反过来用于处理应用程序的数据。由于 ROA 中的资源使用 URI 公开,因此应用程序应使用 URI 公开其数据。

无状态

无状态是面向资源架构的另一个特征,这意味着该架构中的每个 HTTP 请求都是独立发生的。换句话说,当客户端向服务器请求资源时,客户端必须提供服务器请求成功所需的所有信息。服务器从不存储来自先前请求的信息,也就是说,服务器上不存储状态信息。如果服务器需要来自较早请求的信息来处理请求,则客户端必须在另一个请求中再次发送该信息。

连通性

在面向资源的架构中,表述是超媒体:包含数据和其他资源链接的文档。RESTful Web 服务遵循超媒体作为应用程序状态引擎 (Hypermedia As the Engine Of Application State, HATEOS) 原则。这是数据格式影响应用程序中转换状态的原则。到其他资源的链接嵌入在响应中,但对于相同的资源,它们可能会根据其当前状态而有所不同。

网络最重要的特征之一是它的互连性。也就是说,互联网上的几乎所有信息都通过超链接链接在一起。超链接可用于将互联网上可访问的任何资源连接到另一个资源。基于 ROA 构建的应用程序应将其所有资源相互链接,反之亦然。当我们为资源选择合适的表述时,我们可以在应用程序中实现连通性。

统一接口

您应该有一组定义良好的方法来操作应用程序中的资源。例如,HTTP 提供了以下您可能通常需要在任何应用程序中执行的常见操作:

HTTP GET – 获取一个资源

HTTP POST – 创建新资源

HTTP PUT – 修改一个存在的资源

HTTP DELETE – 删除一个存在的资源

HEAD 和 OPTIONS HTTP 方法

下面是您应该了解的另外两个重要的 HTTP 方法:

HTTP HEAD – 用于检索资源的元数据表述

HTTP OPTIONS –用于检查特定资源支持哪些 HTTP 方法

总结

面向资源的体系结构是无状态的,并以资源为中心。URI 用于标识每个资源。您总是可以在计算机上同时拥有同一资源的多个副本。一个资源也可以有多个 URI。

现代三星手机型号怎么看

佳能相机星空怎么拍摄好看

尼康二代照相机怎么换镜头

猫咪为什么床上拉屎了

狗狗经常犯指尖炎怎么回事

宠物店送美容文案怎么写

天文摄影佳能相机怎么用

直播教育平台对教学的影响

seo优化中的核心是什么

免责声明:文中图片均来源于网络,如有版权问题请联系我们进行删除!

标签:架构 uri 应用程序 resource soa