OData介紹 (SAP)


OData介紹

OData是一種非常簡單的接口協議,它有着簡單的結構以及簡單的操作方式。當我們提及接口的方式,目前首推的是RESTful,REST是Representational State Transfer的縮寫,它是一種輕量的接口方式(和傳統的SOAP的接口方式相比)。注意,REST不是協議,只是開發接口中的術語,這種接口方式有以下一些特點:

  • 無狀態交互(Statelessness)

    請求不會在服務端存儲,任何的請求包含了所有服務所需要的信息。

  • 可緩存(Cacheability)

    請求的返回信息可以定義是否需要緩存。

  • 層級系統(Layered System)

    客戶端不清楚訪問的最終系統,有可能是直接連接,也可能是中間系統。

  • 統一接口(Uniform Interface)

    統一的接口方式可以將客戶端和服務端解耦。

  • 按需編程(Code on demand)

    服務可以根據客戶端傳輸的請求內容定制化。

REST請求的通用操作:

  • GET

    客戶端從服務端獲取數據。

  • POST

    客戶端傳送信息給服務端進行創建的操作或者修改的操作。

  • PUT

    客戶端傳送信息給服務端進行創建的操作或者修改的操作。

  • DELETE

    刪除服務端的數據操作

  • PATCH

    更新某一條數據中的某個屬性。

OData的定義

OData是Open Data Protocol的縮寫,是一種基於REST的數據訪問方式。目前這種協議有微軟進行維護和發布。

詳細的OData的介紹請參考:www.odata.org

OData 協議遵循以下五種設計原則
  • 數據多樣性存儲

    在一個服務里面可以定義多種數據的存儲。

  • 向下兼容

    客戶端和服務端可以使用不同版本的OData服務,每個服務都可以向下兼容。

  • REST原則

    遵循上文中提到的REST原則。

  • 容易擴展

    如果需要額外的服務,應該能夠進行簡單的擴展。

  • 簡單

實施OData

如果需要實施OData服務,需要完成以下四個部分:

  • OData模型

    定義數據結構,一般發生在后端系統。

  • OData協議

    支持CRUDQ(創建,讀取,修改,刪除,查詢)功能,數據的傳輸可以使用XML或者JSON。

  • OData客戶端庫

    保證了客戶端能夠使用庫函數方便的訪問OData服務。注意,客戶端庫並不是必須的,但是盡量有,這樣可以節省大量的編碼工作。

  • OData服務

    可以最終被客戶端訪問的服務。

OData服務的結構
  • 服務文檔(Service Document)
  • 服務元結構文檔(Service Metadata Document)

以上兩種文檔包含了:

  • 實體(Entity)
  • 實體類型(Entity Type)
  • 實體集合(Entity Set)
  • 屬性(Property)
  • 導航屬性(Navigation Property)
  • 關聯(Association)
OData的操作
  • 創建

    HTTP請求類型: POST

    成功返回:201

  • 讀取(包括單條讀取-read_entity,多條讀取read_entityset)

    HTTP請求類型:GET

    成功返回:200

  • 更新

    HTTP請求類型:PUT

    成功返回:204

  • 刪除

    HTTP請求類型:DELETE

    成功返回:204

  • 查詢

    HTTP請求類型:GET/POST

    成功返回:200/201

    查詢操作清單:

    操作 查詢方式
    篩選 $filter
    排序 $orderby
    客戶端換頁 $top,skip,inlinecount
    數據量 $count
    嵌入內容 $expand
    格式化 $format
OData 在SAP中的方案

SAP對於標准的OData進行了擴展,特別是在對於字段屬性定義上,如果熟悉SAP系統的人都知道SAP系統表中的字段定義往往很難理解,SAP的擴展中就包括了使用字段的描述作為OData的屬性進行命名。

SAP對於OData的支持擴展包括:

  • HTTP返回碼可以自定義
  • CRUD的支持
  • CUD多媒體文件的支持
  • 序列化處理
  • 深層結構處理
  • Merge/patch的支持
  • Paging,filter的擴展支持

OData在SAP各種產品中的使用:

  • SAP Fiori
  • SAP Jam
  • SAP Netweaver Portal
  • SAP HANA

總結

本文簡單的過了一下OData,也大概看了一下SAP中OData的使用,在接下來的一篇文章中會介紹Gateway的基本架構。



作者:翱翔雲天SAP
鏈接:https://www.jianshu.com/p/e254fd74cff9
來源:簡書
簡書著作權歸作者所有,任何形式的轉載都請聯系作者獲得授權並注明出處。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM