SAP Netweaver和Hybris的資料庫層

i042416發表於2018-05-05

ABAP Netweaver

在SAP基於Netweaver的ABAP應用裡,應用開發人員用Open SQL訪問資料庫, 這些Open SQL會被Database interface(資料庫介面)轉換成各種資料庫提供商支援的原生SQL語句然後執行。

SAP Netweaver和Hybris的資料庫層

Netweaver 支援的資料庫提供商在表DBCON的DBMS欄位裡能看到:

SAP Netweaver和Hybris的資料庫層

除了普通的ABAP Open SQL的語句用於業務資料的增刪查改之外,SAP CRM和C4C裡還支援Enterprise Search(有時也成為simple search,模糊搜尋), 就是類似Google搜尋一樣,使用者只需要指定待搜尋值,而無需指定該搜尋值對應的搜尋條件。

SAP Netweaver和Hybris的資料庫層

在這兩個產品裡的Enterprise Search實現原理實際上是應用程式發起一個RFC(Remote Function Call)到TREX伺服器上拿到查詢結果。

關於SAP TREX介紹請參考wikipedia.

https://en.wikipedia.org/wiki/TREX_search_engine

SAP Netweaver和Hybris的資料庫層

Hybris

Hybris裡也有和CRM WebUI裡的API層起同樣作用的層,封裝了對DB的操作。

SAP Netweaver和Hybris的資料庫層

Hybris裡對資料庫的訪問實現是封裝在大量以DAO(Data Access Object)結尾的Java class實現的,相當於SAP CRM API層的那些function module。

SAP Netweaver和Hybris的資料庫層

隨便點開一個DAO看實現,裡面也是拼SQL語句然後拋到DB去執行:

SAP Netweaver和Hybris的資料庫層

上圖程式碼裡拼裝的SQL語句也不是資料提供商相關的原生SQL語言,而是一種新的語言,稱為Flexible Search。類似ABAP的OPEN SQL一樣,它將Hybris應用訪問資料庫層的程式碼和底層資料庫解耦。

在Hybris幫助文件上能看到支援的資料庫列表:

SAP Netweaver和Hybris的資料庫層

在Hybris開發環境下使用的資料庫名叫HSQLDB: 一個輕量級的純Java開發的開放原始碼的關聯式資料庫系統

SAP Netweaver和Hybris的資料庫層

要獲取更多Jerry的原創技術文章,請關注公眾號"汪子熙"或者掃描下面二維碼:


SAP Netweaver和Hybris的資料庫層
SAP Netweaver和Hybris的資料庫層

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24475491/viewspace-2153852/,如需轉載,請註明出處,否則將追究法律責任。

相關文章