首页 > 其他分享 >SAP Gateway 上的 Metadata Cache

SAP Gateway 上的 Metadata Cache

时间:2022-12-19 21:11:58浏览次数:49  
标签:缓存 请求 Cache 文档 SAP 数据 Gateway

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

  1. 在 hub 上缓存。

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

  1. 在后端缓存。

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

  1. co-deployment 场景。

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

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

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

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

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

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

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

  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 上的元数据缓存。

标签:缓存,请求,Cache,文档,SAP,数据,Gateway
From: https://www.cnblogs.com/sap-jerry/p/16993065.html

相关文章

  • SAP Gateway 里的 REST 概念
    SAPGateway有助于轻松配置和使用SAPBusinessSuite系统的业务逻辑和内容,用于移动和Web应用程序。它降低了访问SAP数据所需的复杂性和技能组合,从而消除了部署障碍......
  • SAP ABAP CDS view 里 INNER JOIN 和 Association 的区别
    最近有朋友在我的知识星球里向我提问,SAPABAPCDSview的INNERJOIN和Association的功能可以理解为一样吗?(关于加入我的知识星球的方式,请移步本文文末)本文就来聊......
  • Amazon API Gateway Importer整合过程小结
    (1)需要将swaggerjson转换成amazonapigateway所需要的格式(根据MethodRequest中RequestPathsURLQueryStringParametersHTTPRequestHeaders---> IntegrationReque......
  • SAP根据excel表格数据将数据导入表中
    一、创建表首先你得有一个表,如果没有那就新建一个。事务代码SE11,输入表名,创建。交付类选择C,客户表,选择允许显示和维护。添加字段,数据元素可以选择已有的,也可以新建。......
  • SAP FICO 获利能力分析COPA配置及应用
    1先上通用的配置1.1特征值1.1.1系统预先定义特征值1.1.2自定义特征值1.1.3维护自定义特征值的内容1.1.4维护系统字段到自定义特征值的映射(派生规则)1.2值字段1.3经......
  • SAP ABAP CDS view 里 INNER JOIN 和 Association 的区别
    最近有朋友在我的知识星球里向我提问,SAPABAPCDSview的INNERJOIN和Association的功能可以理解为一样吗?(关于加入我的知识星球的方式,请移步本文文末)本文就来聊一......
  • SAP ABAP CDS view Association 引入的缘由
    ABAPCDSview支持三种join方式:InnerJoinLeftOuterjoinRightouterjoin我们使用ABAPDevelopmentTool的CDSview向导创建一个CDSview:向导里包含的$......
  • 【SpringBoot】Spring Data Redis封装和Spring Cache
    一、参考资料​​RedisUtil:最全的Java操作Redis的工具类,使用StringRedisTemplate实现,封装了对Redis五种基本类型的各种操作!​​​​SpringCache-简书​​​​redis分布......
  • SAP常用表
    一、MM常用表物料相关:1、MARA:常规物料数据2、MARC:物料的工厂数据3、MAKT:物料描述4、MARD:物料的工厂/库存地点数据5、MBEW:物料评估(财务数据),其中MBEW-......
  • 【Linux】Linux的buff/cache占用内存过高解决方法
    参考资料​​Varnish简介,原理,配置缓存-腾讯云开发者社区-腾讯云​​​​Varnish简介,原理,配置缓存-腾讯云开发者社区-腾讯云​​​​关于varnish缓存|缓存​​ ......