/iwbep/cl_mgw_med_provider 类里的成员 mv_cache_active:
这个 cache 默认是开启状态。
调用 OData 服务的 MPC_EXT 类的 get_last_modified 方法获取最后一次修改的时间戳。这个时间戳(timestamp)也会影响到 cache 的行为,我们后续也会详细讨论。
第12 行 super 方法调用返回的 timestamp 是 0:
配置表:/iwbep/c_config
如果 share memory 缓存没有开启,就从 cluster 缓存表中读取 Metadata:
/iwbep/cl_mgw_med_utils=>get_cached_model(
EXPORTING
iv_last_modified = lv_last_modified - 20220817025754
iv_technical_name = iv_technical_name - ZBOOK_MANAGE_MDL
iv_version = iv_version - 0001
iv_is_busi_data_request = mv_is_busi_data_request
IMPORTING
es_model_data = ls_model - /IWBEP/IF_MGW_MED_ODATA_TYPES\TYPE=TY_S_MED_MODEL
ev_found = lv_found ).
tcode:/iwbep/cache
由于 SAP Gateway 安装在 AS ABAP 之上,因此无论选择实施何种部署选项,它都可以在现有的系统环境中运行。
可以通过以下方式之一安装 SAP Gateway:
-
嵌入式部署(Embedded deployment):SAP Gateway 的核心软件组件和任何可选组件安装在与 SAP Business Suite 系统相同的主机上。
-
中心枢纽部署(Central hub deployment):SAP Gateway 的核心软件组件和任何可选组件都安装在独立的主机中,与 SAP Business Suite 系统的主机分开。
除了使用标准的身份验证和授权机制外,SAP Gateway 还针对跨站点脚本 (XSS) 和请求伪造 (CSRF) 攻击提供额外级别的保护。
下图是客户端应用程序(例如,代表用户执行 OData 调用的 PHP 页面)通过 SAP Gateway 到 SAP ERP 的请求的数据流示例。
AS ABAP 为 SAP Gateway 提供用户身份验证和单点登录 (SSO) 功能。
SAP Gateway 支持使用以下身份验证机制:
-
X.509 客户端证书:SAP Gateway 建议使用客户端证书进行用户身份验证。 作为公钥基础设施 (PKI) 的一部分,用户需要从证书颁发机构 (CA) 接收他们的客户端证书。
-
安全断言标记语言:SAP Gateway 还支持使用 SAML 断言进行用户身份验证。 断言可以由身份提供者 (IdP) 系统或具有单点登录功能的 SAP NetWeaver 主机发出。