SAP Netweaver和Hybris的数据库层的示例分析

这篇文章给大家介绍SAP Netweaver和Hybris的数据库层的示例分析,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

ABAP Netweaver

在SAP基于Netweaver的ABAP应用里,应用开发人员用Open SQL访问数据库, 这些Open SQL会被Database interface(数据库接口)转换成各种数据库提供商支持的原生SQL语句然后执行。

SAP Netweaver和Hybris的数据库层的示例分析  hybris 第1张

Netweaver 支持的数据库提供商在表DBCON的DBMS字段里能看到:

SAP Netweaver和Hybris的数据库层的示例分析  hybris 第2张

除了普通的ABAP Open SQL的语句用于业务数据的增删查改之外,SAP CRM和C4C里还支持Enterprise Search(有时也成为simple search,模糊搜索), 就是类似Google搜索一样,用户只需要指定待搜索值,而无需指定该搜索值对应的搜索条件。

SAP Netweaver和Hybris的数据库层的示例分析  hybris 第3张

在这两个产品里的Enterprise Search实现原理实际上是应用程序发起一个RFC(Remote Function Call)到TREX服务器上拿到查询结果。

关于SAP TREX介绍请参考wikipedia.

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

SAP Netweaver和Hybris的数据库层的示例分析  hybris 第4张

Hybris

Hybris里也有和CRM WebUI里的API层起同样作用的层,封装了对DB的操作。

SAP Netweaver和Hybris的数据库层的示例分析  hybris 第5张

Hybris里对数据库的访问实现是封装在大量以DAO(Data Access Object)结尾的Java class实现的,相当于SAP CRM API层的那些function module。

SAP Netweaver和Hybris的数据库层的示例分析  hybris 第6张

随便点开一个DAO看实现,里面也是拼SQL语句然后抛到DB去执行:

SAP Netweaver和Hybris的数据库层的示例分析  hybris 第7张

上图代码里拼装的SQL语句也不是数据提供商相关的原生SQL语言,而是一种新的语言,称为Flexible Search。类似ABAP的OPEN SQL一样,它将Hybris应用访问数据库层的代码和底层数据库解耦。

在Hybris帮助文档上能看到支持的数据库列表:

SAP Netweaver和Hybris的数据库层的示例分析  hybris 第8张

在Hybris开发环境下使用的数据库名叫HSQLDB: 一个轻量级的纯Java开发的开放源代码的关系数据库系统

SAP Netweaver和Hybris的数据库层的示例分析  hybris 第9张

关于SAP Netweaver和Hybris的数据库层的示例分析就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:niceseo99@gmail.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

评论

有免费节点资源,我们会通知你!加入纸飞机订阅群

×
天气预报查看日历分享网页手机扫码留言评论电报频道链接