SAP Fiori 技术架构存在 ABAP Frontend 服务器(有时也称为 Gateway 服务器,前台服务器) 和 ABAP Backend(后台)服务器两个角色,其中 Frontend 服务器上主要安装 SAP Gateway 组件(实现类和数据库表的命名空间为 /IWFND/) 和 SAP UI5 应用部署到 ABAP 系统后生成的 BSP 应用,后台服务器主要包含了 OData 服务的 ABAP 实现(DPC, DPC_EXT, MPC, MPC_EXT) ,即本教程开发的 OData 服务在事物码 SEGW里自动生成的以 Z 开头的一系列 ABAP 类:
以及 SAP OData 的框架代码,这些框架代码的命名前缀为 /IWBEP.
笔者的文章 SAP Fiori应用的三种部署方式
介绍过 Frontend 系统(下图红色区域)同 Backend 系统(下图绿色区域)在 SAP Fiori 架构体系中扮演的角色。
注意,理论上我们可以将上图 Frontend 和 Backend 系统组件部署在同一台物理服务器上,这也是最简单的一种部署体系架构。
因为一个 OData 元数据请求从浏览器或者 Postman 等工具发送,在 SAP 服务器响应过程中会依次经过 Frontend 和 Backend 服务器,其处理逻辑确实比较复杂,根据前台服务器和后台服务器的配置的不同排列组合,存在着非常多的处理分支,故我们不可能在一篇文章把所有这些处理分支全部介绍,故这个 OData Metadata 元数据的处理逻辑主题,笔者会利用几篇文章连续介绍。
本文介绍下图绘制的 SAP OData 元数据请求处理逻辑的蓝色块分支。其他颜色的分支逻辑,在后续文章继续介绍。