写点什么

SAP Netweaver 和 Hybris 的数据库层

用户头像
Jerry Wang
关注
发布于: 2021 年 05 月 24 日
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 的原创技术文章,请关注公众号"汪子熙":



发布于: 2021 年 05 月 24 日阅读数: 7
用户头像

Jerry Wang

关注

个人微信公众号:汪子熙 2017.12.03 加入

SAP成都研究院开发专家,SAP社区导师,SAP中国技术大使。

评论

发布
暂无评论
SAP Netweaver和Hybris的数据库层