点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)专家们, 道歉,但对我来说,这...
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)专家们, 道歉,但对我来说,这...
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
专家们,
道歉,但对我来说,这个话题始终是利益冲突/看法冲突。因此,我想提供更多细节。
我的问题更多地是基于数据建模方法,而不是技术瓶颈。
我们的系统在SAP上:7.50版本
我们正在使用SAPUI5作为前端(而不是Fiori)的自定义应用程序,并以OData服务作为数据源。 与其他许多活动一样,我们有一个独立的UI团队和SAP后端团队。
为说明我的问题,让我提供一个假设的销售订单业务实体的示例用例:
对象模型如下所示:
基于SAP准则,我使用 CDS-BOPF-SEGW(参考数据源)来实现OData定义,以处理所有CRUD操作。
我坚信 OData服务应完全与业务定义保持一致。 其关联和层次结构应完全独立于消费层。
现在,假设要求是按照下面的模型构建UI。
SAPUI5小组从他们的角度说,他们将无法引用多个服务(例如,状态的主服务,主服务和订单服务),并且无法处理各自的JSON输出以合并并获得所需的输出。 他们将需要直接数据绑定方法来进行轻量级的客户端编程。 相反,期望是将OData服务更改为以下模型,以便使用扩展调用可以一次性获得所需的结果。
(注意:我们看不到OData服务的其他使用者)
这将要求我:
(我不喜欢以上两个选项)。
只想从SAPUI5和SAP OData专家那里获得想法。
再次为冗长的内容表示歉意。
此致
参孙。
(105.2 kB)
嗨,Geert-Jan Klaps,
感谢您对此发表看法。 非常感谢您抽出宝贵的时间来回答这个冗长的问题。
我确实知道,理想情况下,UI设计团队希望实现一种解决方案,在该解决方案中实现更直接的数据绑定。 但是我的看法是,如果与服务和UI使用者之间的联系非常紧密,那么OData不是理想的选择。 在这种情况下,应使用更多特定于接口的约定方法,例如-Web服务。
此外,在我的模拟UI中,按国家(地区)计数,我已经在"消费"视图中使用分析聚合注释实现了此功能。 我在其中一个博客中读到,这应该是正确的方法,避免在CDS视图中显式聚合。 但是现在由于UI依赖性,必须更改我的服务。
另一个滥用OData功能的示例是,例如,用户在Order项目中进行了新的添加,删除或修改。 UI团队争辩说,在最后,跟踪单个增量并发送适当的POST,DELETE,PUT调用将非常困难且性能昂贵。 相反,他们将再次发送整个项目列表(作为POST调用),并期望后端找出增量并做有需要的事情。 我相信这完全违反了使用基于REST的API的定义。
尽管如此,我将保持线程开放以获取更多输入,观点和建设性论据。
另外,在另一个注释中,我之前曾探讨过在V2中包含多个服务,但是在诸如扩展所包含服务的子节点等方面确实存在很多限制。
此致
Samson
一周热门 更多>