SAP Gateway 上的 Metadata Cache

简介: SAP Gateway 上的 Metadata Cache

SAP Gateway Foundation 缓存服务的元数据信息以显着提高性能。 SAP 提供了三种类型的缓存:


1、在 hub 上缓存。

在 Hub 系统上缓存了元数据模型、注释模型以及服务的注释文本。


2、在后端缓存。

在后端仅缓存元数据模型和注释模型。 后端不需要注释文本来进行服务实例化,因此不会在此处缓存。


3、co-deployment 场景。

共部署场景是指 hub 和 backend 是一个系统。 因此,缓存只需为 hub 和每个后端系统执行一次。

16fcaf427c21dae2067a3c239d0ae42d.png

SAP 推荐在开发系统上不打开缓存 cache:

b9f2a5b268edfa59efc35918199ef1c0.png

59dbb892bcfce892d0cd6fbdbb8552d3.png

在 OData 通道编程范例中,包含最后修改时间戳的模型提供程序类仅在最初加载元数据并将其存储在 SAP Gateway Foundation 元数据缓存中时调用一次。 如果之后更改了模型提供者类(例如,由于编码更改或由于导入更改后的模型提供者类),元数据缓存会为每个服务文档或服务元数据文档请求执行一次握手,并检查缓存是否包含最新的元数据。 如果元数据已过时,则会自动触发缓存刷新。


SAP Gateway 元数据组件允许完全缓存元数据,从而显着提高通过 SAP Gateway 发送的请求的性能。


存在三种不同的访问场景:


  1. 1、需要满足对OData服务文档或OData服务元数据文档的请求。

  2. 2、SAP Gateway 运行时本身需要访问元数据才能处理请求。

  3. 3、IW_BEP 软件组件需要访问元数据才能处理请求。


SAP Gateway 通过提供三级缓存策略为所有这些场景提供功能。


Access Scenario 1 - Web Infrastructure Cache


在这种情况下,存在获取服务文档或服务元数据文档的消费者请求。 这意味着对资源的请求在生产环境中很少改变。


为了使用 HTTP 标准技术,SAP Gateway OData Channel 根据 HTTP 缓存标准(Last-Modified)设置服务(元数据)文档的 HTTP 响应标头。 如果之前已经请求过资源,则此参数使 Web 基础结构组件(例如,Web 服务器和浏览器)能够满足其缓存之外的请求。


特定于应用程序的模型提供程序类可以通过实现方法 GET_LAST_MODIFIED 影响此时间戳。 此方法的默认实现根据模型提供程序类 (MPC) 的更改时间戳派生最后修改的时间戳。 如果不合适,应用程序可以覆盖逻辑。


Access Scenario 2 - SAP Gateway Metadata Cache


如果无法通过 Web 基础架构缓存满足请求,或者 SAP Gateway 运行时本身需要访问元数据,例如读取提要,则会检查当前服务的元数据是否已存在于 SAP Gateway 元数据中 缓存(如果启用)。


如果存在,则直接从缓存中检索数据。 另一方面,如果它不存在,则从相应的数据源读取数据并传回。数据源的一个示例是模型提供程序类或 SAP Gateway 元数据持久性,存储在 SAP Gateway 元数据缓存中以服务来自它的后续请求。


Access Scenario 3- IW_BEP Metadata Cache


IW_BEP 上的缓存无法禁用,需要正确实现模型提供程序类方法才能检索最后修改的时间戳。


如果模型提供者类未更改,但底层 ABAP 字典绑定(例如 ABAP 结构中字段类型的定义),则更改不会直接反映出来,因为没有 ABAP 字典更改的挂钩。 在这种情况下,需要手动清除 IW_BEP 上的元数据缓存。

相关文章
|
11天前
|
安全 数据安全/隐私保护
SAP ABAP Gateway 系统接口 /IWBEP/IF_MGW_APPL_SRV_RUNTIME 的作用介绍
SAP ABAP Gateway 系统接口 /IWBEP/IF_MGW_APPL_SRV_RUNTIME 的作用介绍
37 0
|
11天前
|
存储 缓存 前端开发
关于 SAP Spartacus Optimization Engine 里的 cache 参数使用注意事项
关于 SAP Spartacus Optimization Engine 里的 cache 参数使用注意事项
23 0
|
7月前
|
数据采集 供应链 搜索推荐
什么是 SAP OData Annotations 的 metadata extension files
什么是 SAP OData Annotations 的 metadata extension files
45 0
|
7月前
|
JSON 数据处理 数据格式
关于 SAP ABAP OData 服务响应里的 d,results 和 __metadata 这几个字段的作用
关于 SAP ABAP OData 服务响应里的 d,results 和 __metadata 这几个字段的作用
75 2
|
7月前
|
缓存 安全
SAP ABAP Gateway 系统里 HTTP 请求响应头部字段 DataServiceVersion 的可能取值范围
SAP ABAP Gateway 系统里 HTTP 请求响应头部字段 DataServiceVersion 的可能取值范围
66 0
|
7月前
|
前端开发 Windows
在 SAP ABAP Gateway 系统上定义后台系统的 Alias
在 SAP Fiori Launchpad 中,用户最初连接的系统和分配给用户的应用程序正在运行的系统,即所谓的远程系统(remote 系统),可能会有所不同。
59 0
|
7月前
|
前端开发
在 SAP Fiori Gateway 系统配置一个指向 SAPGUI 事务的 tile
对于应用程序类型 Transaction、Web Dynpro 和 URL,开发人员可以直接在 SAP Fiori Launchpad Designer 的目标映射中定义系统别名。
47 0
|
7月前
|
XML 测试技术 区块链
SAP UI5 Gateway Export 和 Client Export 的比较
SAP UI5 Gateway Export 和 Client Export 的比较
59 0
|
8月前
|
XML JSON 网络协议
SAP ABAP Gateway Client 的 ABAP 实现,重用 HTTP Connection
SAP NetWeaver Gateway 是一种提供了根据市场标准将设备、环境和平台连接到 SAP 软件的简单方法的技术平台。 该框架支持开发以人为本的创新解决方案,将 SAP 业务软件的强大功能引入社交和协作环境、移动和平板设备以及富互联网应用程序等新体验。
56 0
|
8月前
SAP ABAP Gateway Client 里 OData 测试的 PUT, PATCH, MERGE 请求有什么区别
SAP ABAP Gateway Client 里 OData 测试的 PUT, PATCH, MERGE 请求有什么区别
93 2