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条回答
四川大学会员
2020-09-09 01:02

感谢安德烈·菲舍尔

我们将这些oData构建在系统中已存在多年的包装RFC之上,该包装将不同级别的数据整合在一起。 我们确实选择了

GET_EXPANDED_ENTITYSET(数据提供程序扩展)基于最佳实践,以避免递归地使用标准网关框架的$ expand。

我的问题更多关于Entityset输出。 我们几乎有大约7个表格参数需要在屏幕上的不同选项卡中显示。 数据提供者以传统的方式将所有数据提供给前端,然后前端团队确定何时何地显示,以避免多次调用后端系统。 使用oData,我们可以选择分别调用这些实体,因此想知道何时最好调用单个实体Vs将所有实体作为输出返回?

我已经看到My Fiori收件箱使用$ batch合并了对不同实体(例如项目,附件,相关对象等)的所有get请求调用的种类。使用$ batch在集线器部署中,所有这些对backenntity调用的es都将进行 被GW调用,因为处理的单个工作占用网关上的更多资源。 现在,在这种情况下,不是使用1个工作流程,而是使用4个或5个以不同的方式获取相同的数据。

希望我在上述声明中明确表示自己。 很乐意讨论这些问题,以了解SAP使用1个工作流程(GET_EXPANDED_ENTITYSET)与多个工作流程用法($ batch)背后的策略。

一周热门 更多>