为什么OData而不是SAP中的BAPI?

Bal*_*jiB 0 sap abap bapi odata sap-gateway

无论我们用OData做什么,我们都可以使用BAPI吗?

那么,与BAPI相比,OData的主要内容是什么?

请让我知道你的看法

Flo*_*ian 8

BAPI

  • SAP专有
  • 基于RFC,SAP专有协议
  • 固定输入结构(没有灵活查询参数的URL)
  • 固定输出结构(结构,表格,但不是每个的动态数字)
  • 手动文档仅描述了服务的人体结构
  • 结论:适用于将SAP系统相互连接

的OData

  • 开放标准
  • 基于REST,是用于应用程序集成的Web事实上的标准协议
  • 灵活的查询语言(过滤,排序,扩展,关联,搜索)
  • 灵活的输出(实体,实体集,扩展实体)
  • 元数据文档以机器可读格式说明服务结构
  • 结论:适用于将SAP系统连接到SAPUI5和类似的UI

OData在BAPI上取得的主要成就是灵活性,开放标准和机器可读性.这可能是以速度为代价的.

这种比较略有偏差.虽然BAPI是为连接服务器而发明的,但OData更多地用于将服务器连接到客户端.尽管OData的发明者可能已经考虑过服务器连接,但纯REST已成为连接此级别的事实标准.因此,比较BAPI与REST以及可能的相关标准(如Web服务)会更加清晰.

可以通过BAPI接口模拟OData :( URL查询)字符串,(JSON结果)字符串输出.因此,您可以得出结论,两者在功率方面是等价的.但是,底层协议是不同的,系统更可能识别REST下的HTTP协议而不是SAP的专有RFC协议.