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