SAP Hana开发中的OData与XSJS

SAP Hana开发中的OData与XSJS,odata,sapui5,hana-xs,Odata,Sapui5,Hana Xs,我正在使用SAP Hana studio开发一个应用程序,我对为什么要使用XSODATA和为什么要使用XSJS感到困惑。为什么我不能使用一个XSODATA文件来执行所有数据库事务?我知道XSJS是服务器端的,但如果我做的是基本的CRUD操作,我可以只使用XSODATA吗 一个相关的问题是,XSODATA文件是否会在SAP Hana studio中创建并从此处正常工作?我问这个问题的原因是因为之前我必须在GatewayServiceBuilder中创建一个服务,并向应用程序提供URL来访问它。但现

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


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

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


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

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

然而,使用XSJS,您必须实现所有CRUD操作。这对于复杂的场景非常有用,例如当您尝试从外部服务发送/接收数据、识别会话用户、运行一些动态sql、文件上载、电子邮件等。如果在这种情况下,XSOData不能满足您的需求,那么XSJS就是一条出路


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

谢谢,这正是我的想法