RFC一次使用部分冗余编码还是几次没有冗余?

2020-09-21 10:47发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)伙计们, 背景 ...

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

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


伙计们,

背景

我目前正在通过oData通过任务网关为Fiori My Inbox 2.0设计自定义任务提供程序。 到目前为止,我已经总结了数据检索所需的业务逻辑,这必须通过RFC完成,因为数据位于另一个系统上,即我正在将Facade-Class作为网关上的数据提供程序实现,但是 应该管理的数据驻留在我们的ERP系统中。

幸运的是,到目前为止,我对初始数据检索所需的所有逻辑都是由ERP系统上的4个标准功能模块提供的。

问题/讨论

目前,我正在尝试找出什么是"最佳"方法,或者是什么是方法的最佳折衷方案。 到目前为止,我有两个想法,想提出来进行讨论:

A)我将4个远程功能模块合并到我的Facade类的各个方法中,这意味着它们将在嵌套调用堆栈中单独调用。 在Facade类内部或在两个SAP系统(网关和ERP)之间,都不会有编码冗余,但是会有4到X个(假设X =在最坏的情况下最多为数百个)单个RFC。

B)我在ERP系统内构建了一个包装器类,在本地进行所有数据检索,理论上可以将检索到的数据减少为网关上所需的实际零件 并且从网关到ERP系统之间仅建立一个RFC,从技术上"逻辑"地检索全部信息一次,但是,它可能在Task Gateway框架/模型中发生多次,即,可能会 信息不会被调用一次,而是几次,这在功能上是毫无意义的,但是框架可能会多次调用某些方法,因此我可能无法始终如一地保存所有信息(我现在还不知道;可能是 实际上只有一个RFC,仅此而已)。 这意味着我将在网关和ERP系统上同时拥有部分冗余的业务逻辑,并可能通过RFC整体带来更大的数据负载(至少在内容方面)。

目前,我为哪种方式感到困扰。 我个人不赞成使用方法B)进行编码冗余,但是这样做并不坏,以至于使事情变得混乱或难以维护。 这更多是一个原则问题。 另一方面,方法A)的性能可能会降低一点,但很可能不会引起人的注意,假设最终用户会不时清理其工作空间,他们很可能不会

我也愿意采用完全不同的方法,前提是经过数小时的调试和/或例行盲目检查,我已经麻木了。

欢呼,卢卡斯

(11.0 kB)