oData-多个RFC输出表参数-最佳实践

2020-09-09 00:38发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)尊敬的会员 这可能不是问这个问...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


尊敬的会员

这可能不是问这个问题的第一个,但我没有找到关于该主题的最佳实践。 因此,让我从这个角度提出问题。

我们有一个RFC,它将提供约7个表参数作为输出。 输入将从UI提供给此oData服务,并且需要提供7个表参数作为输出。 在用户界面中,所有这7个表参数都可能不会一次显示。 UI中大约有4个选项卡将列出这些数据。 我们知道

GET_EXPANDED_ENTITYSET可以与关联和导航一起使用。 我们已经建立了这个并且能够成功获得结果。 我试图从最佳实践的角度来理解什么更有意义?

1)RFC/SOAP/REST服务中的传统处理方式-在一次调用中获取输入并提供所有相关的输出,因此不会有多个客户端到服务器的调用。 从系统和用户的角度来看更好。 我的视图-这很好,因为我们不会在网关系统中加载所有导航/多个EntitySet调用。

2)使用oData和某些标准服务-设计是为了与UI匹配,因此仅在需要时才从UI对后端进行多次调用,以从相应的实体集中检索数据(kinda微服务)。 如果用户不断在选项卡或页面之间导航,这似乎在客户端和服务器之间来回很多。 我的视图-我们可以使用$ batch将所有实体集调用包装成一个,但仍然不行。 从网关到后端,将需要使用批处理中的全部工作流程(乘以Get/Insert调用的次数)。 如果同时有100个用户使用该应用程序,则我们将消耗全部 并行的工作流程和其他工作流程将必须等待/使用顺序本质流程

我想从您的经历中听到什么更有意义。

您何时采用上述每种策略?

使用GET_EXPANDED_ENTITYSET时的性能如何?

此致

Raj

4条回答
clasier
2020-09-09 01:06

如果使用$ expand不会 并行GET请求,但是无论您是否已实现GET_EXPANDED_ENTITYSET还是让SAP Gateway框架以递归方式调用GET_ENTITY和GET_ENTITYSET方法的工作,都只有一个。

实现GET_EXPANDED_ENTITYSET是否带来任何性能依赖于 基础业务逻辑。 如果您在第一次调用时仍要读取全部数据(例如,如果使用一个BAPI一次调用标头和项目数据)会更好,但是实现起来比较麻烦。

您 可能要研究构建CDS视图并使用参考数据源方法。

致谢

Andre

一周热门 更多>