AUTOSAR_EXP_PlatformDesign - 08 RESTful Communication

AUTOSAR_EXP_PlatformDesign - 08 RESTful Communication

【translated by sky8336, 2019.06.07, Shanghai】

8 RESTful Communication 

8.1 Overview 

通信棧ara::com和ara::rest都可以在自適應應用程序之間建立通信路徑。ara: rest是一個框架,用於在這樣的API之上構建RESTful API以及特定的服務。它沒有定義一個特定的開箱即用API來直接構造RESTful服務。這個框架是模塊化的,它允許開發人員直接訪問RESTful消息事務中涉及的不同層。相比之下,ara::com的重點是提供一個傳統的函數調用接口,並隱藏事務的所有細節。另一個重要的區別是ara::rest確保了與非autosar對等體的互操作性。例如,ara::rest服務可以與移動HTTP/JSON客戶機通信,反之亦然。

 

8.2 Architecture 

rest的體系結構基於模塊化設計,它支持API級別的開發人員和服務設計。下圖說明了它的總體設計。它描述了服務應用程序如何在ara::rest中組成。

ara::rest 的通用REST層只提供三個基本抽象:樹形結構的消息有效負載(對象圖)、URI和請求方法(像HTTP中知名的GET或POST)。通過這些基本的原語,可以組成特定於領域的RESTful API,它定義了通過對象圖、URI和方法進行交互的具體高級協議。它的目的是定義訪問特定領域的數據模型的規則,併爲應用程序提供抽象(c++) API。當不需要進一步抽象時,自適應應用程序也可以直接使用ara::rest,而不是使用這個Domain API。

 

8.3 Components 

ara: rest由以下組件組成。

對象圖(Object Graph)是獨立於協議綁定的樹狀數據結構,是所有ara::rest通信的基礎。它的目的是映射到協議格式如JSON和C結構體。這最大化了與non-ARA通信對等點和經典AUTOSAR的兼容性。對象圖在消息中傳輸,這些消息完全抽象自具體的底層協議綁定。如果需要,它們仍然允許用戶訪問特定於協議的細節。

 

消息將請求/應答通信週期的整個上下文封裝在ara::rest的異步編程模型中。

 

路由概念提供了將請求(包括請求方法和URI)映射到用戶定義的處理函數的方法。路由是將抽象從通用REST提升到特定類型RESTful API的基石。

 

Uri是一種與RFC兼容的(RFC-compliant)且效率很高的通用URL表示。

 

ara: rest爲服務器和客戶機通信提供了所謂的(網絡)端點,它們都提供了相當程度的資源控制。兩者都是爲了在單核和多核系統上提供快速和高效的通信能力而設計的。

 

整個框架設計嚴格面向最大限度的資源控制。可以嚴格控制所有計算和分配,並根據應用程序(部署)的精確需求進行定製。

 

---------------------

【end-2019.06.08】

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章