SAP Netweaver和Hybris的数据库层
ABAP Netweaver
在SAP基于Netweaver的ABAP應用里,應用開發人員用Open SQL訪問數據庫, 這些Open SQL會被Database interface(數據庫接口)轉換成各種數據庫提供商支持的原生SQL語句然后執行。
Netweaver 支持的數據庫提供商在表DBCON的DBMS字段里能看到:
除了普通的ABAP Open SQL的語句用于業務數據的增刪查改之外,SAP CRM和C4C里還支持Enterprise Search(有時也成為simple search,模糊搜索), 就是類似Google搜索一樣,用戶只需要指定待搜索值,而無需指定該搜索值對應的搜索條件。
在這兩個產品里的Enterprise Search實現原理實際上是應用程序發起一個RFC(Remote Function Call)到TREX服務器上拿到查詢結果。
關于SAP TREX介紹請參考wikipedia.
https://en.wikipedia.org/wiki/TREX_search_engine
Hybris
Hybris里也有和CRM WebUI里的API層起同樣作用的層,封裝了對DB的操作。
Hybris里對數據庫的訪問實現是封裝在大量以DAO(Data Access Object)結尾的Java class實現的,相當于SAP CRM API層的那些function module。
隨便點開一個DAO看實現,里面也是拼SQL語句然后拋到DB去執行:
上圖代碼里拼裝的SQL語句也不是數據提供商相關的原生SQL語言,而是一種新的語言,稱為Flexible Search。類似ABAP的OPEN SQL一樣,它將Hybris應用訪問數據庫層的代碼和底層數據庫解耦。
在Hybris幫助文檔上能看到支持的數據庫列表:
在Hybris開發環境下使用的數據庫名叫HSQLDB: 一個輕量級的純Java開發的開放源代碼的關系數據庫系統
要獲取更多Jerry的原創技術文章,請關注公眾號"汪子熙":
總結
以上是生活随笔為你收集整理的SAP Netweaver和Hybris的数据库层的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 森养 AF 35-150mm F2-2.
- 下一篇: 三星连续9年称霸全球条形音箱市场!份额高