SAP Hana Development 中的 OData 与 XSJS

OData vs XSJS in SAP Hana Development

我正在使用 SAP Hana studio 开发应用程序,我对为什么要使用 XSODATA 以及为什么要使用 XSJS 感到困惑。为什么我不能只使用 XSODATA 文件来执行所有数据库事务?我得到 XSJS 是服务器端的,但是如果我正在执行基本的 CRUD 操作,我可以只使用 XSODATA 吗?

一个相关的问题,XSODATA 文件是否可以在 SAP Hana studio 中创建并从那里正常工作?我问的原因是因为之前我必须在网关服务构建器中创建服务并向应用程序提供 URL 以访问它。但现在我假设一切都在 hana studio 上完成,除此之外不需要做任何事情。

你是对的。如果您只需要数据库上的 CRUDQ,那么 XSODATA 就是您的不二之选。 XSJS 应该用于非 CRUD 操作(例如自定义处理操作、文件上传等)。

是的,您可以直接在 HANA 工作室或基于 Web Workbench 中创建它。当您拥有 Netweaver 系统(不一定是 HANA 系统)并且您希望从那里公开一些业务实体时,将使用网关。它们是两种截然不同的技术(Netweaver 与 HANA XS Classic),具有不同的使用场景(尽管在某些情况下您可以将它们结合使用)。

对于 CRUD 操作,当您使用 HANA 时,XSOData 将是理想的选择。由于 XSOData 实现了 OData 协议,大部分繁重的工作都由底层 XS 引擎完成。因此,一旦您提供了服务定义,您就可以期望一切都开箱即用。您还可以获得 OData v2.0 的功能集。

但是对于 XSJS,您将必须实现所有 CRUD 操作。这对于复杂的场景很有用,例如当您尝试 send/recieve 来自外部服务的数据、识别会话用户、运行 一些动态 sql、文件上传、电子邮件等时。如果在这种情况下 XSOData 不能满足您的需求,XSJS 是您的不二之选。

此外,如果您正在开发 UI5 应用程序,XSOData 是更好的选择,因为与 XSJS 等其他 REST 服务相比,在 UI5 中使用 OData 服务要容易得多。