最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

面向資源的架構(gòu)(ROA)概述

2021-07-21 12:02 作者:信碼由韁  | 我要投稿

【注】本文譯自:?「鏈接」

了解面向資源的架構(gòu) (ROA)、其價(jià)值以及最佳實(shí)踐。


面向服務(wù)的架構(gòu) (Service-Oriented Architecture,SOA) 和面向資源的架構(gòu) (Resource-Oriented Architecture,ROA) 是用于實(shí)現(xiàn)健壯、可擴(kuò)展的分布式應(yīng)用程序架構(gòu)的架構(gòu)設(shè)計(jì)模式。分布式架構(gòu)由通過(guò)定義良好的接口在網(wǎng)絡(luò)上使用的組件組成。在 ROA 中,這些組件被稱為資源,而在 SOA 中,它們被稱為服務(wù)。本文概述了面向資源的體系結(jié)構(gòu)。

什么是面向資源的架構(gòu) (ROA)?

面向資源的架構(gòu) (ROA) 是一種架構(gòu)風(fēng)格,它擴(kuò)展了 REST 架構(gòu)風(fēng)格,并提供了更廣泛、可擴(kuò)展、靈活且與傳輸無(wú)關(guān)的架構(gòu)。面向資源的架構(gòu) (ROA) 范式建立在資源的概念之上。資源是一個(gè)獨(dú)立的、可識(shí)別的實(shí)體,其狀態(tài)可以被分配一個(gè)統(tǒng)一的資源定位符 (URI)。服務(wù)代表所請(qǐng)求操作的執(zhí)行,而資源代表可通過(guò)一致的標(biāo)準(zhǔn)化接口進(jìn)行管理的分布式組件。

面向資源架構(gòu)的特征之一是與傳輸無(wú)關(guān)。因此,必須有特定的機(jī)制將面向資源的服務(wù)暴露給外部世界。當(dāng)消費(fèi)者請(qǐng)求統(tǒng)一資源定位器(Uniform Resource Locator,URL)并指定訪問方法(例如,GET、PUT、POST 和 DELETE)時(shí),該 URL 將轉(zhuǎn)換為相對(duì)的內(nèi)部 URI。訪問方法被轉(zhuǎn)化為動(dòng)作。

面向資源的架構(gòu)僅圍繞四個(gè)概念建模:

  • 資源

  • URI

  • 表述

  • 鏈接和連通性

以下是面向資源架構(gòu)的四個(gè)屬性:

  • 可尋址性

  • 無(wú)狀態(tài)性

  • 連通性

  • 統(tǒng)一的接口

面向資源的架構(gòu):資源

資源是 ROA 的基石;資源是信息的邏輯表示。例如,學(xué)生是數(shù)據(jù)點(diǎn)的抽象集合,可以用多種方式表示,包括 XHTML、JSON 和 XML。 資源名稱包括以下內(nèi)容:

  • 資源的類型

  • 資源標(biāo)識(shí)符

  • 父元素的資源名

  • API 服務(wù)的名稱

資源是 REST 或 RESTful 架構(gòu)中最重要的信息抽象。術(shù)語(yǔ)“資源”是指任何可識(shí)別的信息。這些信息可以是文檔、計(jì)算機(jī)、汽車、臨時(shí)服務(wù)(例如“俄亥俄州今天的天氣”)、其他資源的集合、個(gè)人、學(xué)生等。

每個(gè)不可變資源表示都可以通過(guò)相對(duì)的統(tǒng)一資源指示符 (URI) 來(lái)標(biāo)識(shí),它可能包括到其他資源以及其他不可變資源的連接。請(qǐng)注意,一個(gè)資源也可以有多個(gè) URI。

每種資源應(yīng)具有以下特征:

  • 是唯一的

  • 必須至少有一個(gè)表述

  • 具有屬性,模式可以被訪問并提供上下文

統(tǒng)一資源標(biāo)識(shí)符(URI)

統(tǒng)一資源標(biāo)識(shí)符 (Uniform Resource Identifier,URI) 是包含資源名稱和地址的字符序列,用于標(biāo)識(shí)邏輯或物理資源。請(qǐng)注意,資源必須具有一個(gè)或多個(gè) URI。 沒有 URI,一條信息不被視為資源,因?yàn)樗荒鼙灰没蛟L問。 您可以使用 URI 來(lái)標(biāo)識(shí)任何事物,例如現(xiàn)實(shí)世界的對(duì)象、網(wǎng)頁(yè)、書籍等。

下面是一個(gè) URI 的例子:

語(yǔ)法::

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

下表說(shuō)明了如何指定資源的相對(duì) URI:

  • 動(dòng)作相對(duì) URI目的

  • Read/student/3讀取 ID 是 3 的學(xué)生記錄

  • Delete/student/4刪除 ID 是 4 的學(xué)生記錄

面向資源架構(gòu)ROA的特性

以下是面向資源的架構(gòu)的四個(gè)基本屬性:

可尋址性

可尋址性是面向資源架構(gòu)的一個(gè)基本特征。如果應(yīng)用程序?qū)⑵鋽?shù)據(jù)集的感興趣方面發(fā)布為服務(wù)端點(diǎn),則可以認(rèn)為該應(yīng)用程序是可尋址的。這些服務(wù)可以反過(guò)來(lái)用于處理應(yīng)用程序的數(shù)據(jù)。由于 ROA 中的資源使用 URI 公開,因此應(yīng)用程序應(yīng)使用 URI 公開其數(shù)據(jù)。

無(wú)狀態(tài)

無(wú)狀態(tài)是面向資源架構(gòu)的另一個(gè)特征,這意味著該架構(gòu)中的每個(gè) HTTP 請(qǐng)求都是獨(dú)立發(fā)生的。換句話說(shuō),當(dāng)客戶端向服務(wù)器請(qǐng)求資源時(shí),客戶端必須提供服務(wù)器請(qǐng)求成功所需的所有信息。服務(wù)器從不存儲(chǔ)來(lái)自先前請(qǐng)求的信息,也就是說(shuō),服務(wù)器上不存儲(chǔ)狀態(tài)信息。如果服務(wù)器需要來(lái)自較早請(qǐng)求的信息來(lái)處理請(qǐng)求,則客戶端必須在另一個(gè)請(qǐng)求中再次發(fā)送該信息。

連通性

在面向資源的架構(gòu)中,表述是超媒體:包含數(shù)據(jù)和其他資源鏈接的文檔。RESTful Web 服務(wù)遵循超媒體作為應(yīng)用程序狀態(tài)引擎 (Hypermedia As the Engine Of Application State, HATEOS) 原則。這是數(shù)據(jù)格式影響應(yīng)用程序中轉(zhuǎn)換狀態(tài)的原則。到其他資源的鏈接嵌入在響應(yīng)中,但對(duì)于相同的資源,它們可能會(huì)根據(jù)其當(dāng)前狀態(tài)而有所不同。

網(wǎng)絡(luò)最重要的特征之一是它的互連性。也就是說(shuō),互聯(lián)網(wǎng)上的幾乎所有信息都通過(guò)超鏈接鏈接在一起。超鏈接可用于將互聯(lián)網(wǎng)上可訪問的任何資源連接到另一個(gè)資源?;?ROA 構(gòu)建的應(yīng)用程序應(yīng)將其所有資源相互鏈接,反之亦然。當(dāng)我們?yōu)橘Y源選擇合適的表述時(shí),我們可以在應(yīng)用程序中實(shí)現(xiàn)連通性。

統(tǒng)一接口

您應(yīng)該有一組定義良好的方法來(lái)操作應(yīng)用程序中的資源。例如,HTTP 提供了以下您可能通常需要在任何應(yīng)用程序中執(zhí)行的常見操作:

HTTP GET – 獲取一個(gè)資源

HTTP POST – 創(chuàng)建新資源

HTTP PUT – 修改一個(gè)存在的資源

HTTP DELETE – 刪除一個(gè)存在的資源

HEAD 和 OPTIONS HTTP 方法

下面是您應(yīng)該了解的另外兩個(gè)重要的 HTTP 方法:

HTTP HEAD – 用于檢索資源的元數(shù)據(jù)表述

HTTP OPTIONS –?用于檢查特定資源支持哪些 HTTP 方法

總結(jié)

面向資源的體系結(jié)構(gòu)是無(wú)狀態(tài)的,并以資源為中心。URI 用于標(biāo)識(shí)每個(gè)資源。您總是可以在計(jì)算機(jī)上同時(shí)擁有同一資源的多個(gè)副本。一個(gè)資源也可以有多個(gè) URI。


面向資源的架構(gòu)(ROA)概述的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
新巴尔虎左旗| 汉中市| 余江县| 上高县| 色达县| 澄迈县| 乐陵市| 宁晋县| 江北区| 科技| 鄢陵县| 阳江市| 平邑县| 故城县| 兴宁市| 靖宇县| 格尔木市| 台北县| 乌拉特前旗| 师宗县| 拜城县| 盐池县| 额敏县| 临清市| 静安区| 陆良县| 离岛区| 清镇市| 三门峡市| 临夏市| 原平市| 鄯善县| 资兴市| 涟水县| 白朗县| 饶阳县| 德保县| 营口市| 卓尼县| 阳江市| 吴堡县|