答网友问:如果用 OData 就能直接和 SAP 系统互通,BTP 和 CPI 这样的平台意义在哪里呢?

简介: 有朋友提问:外部SaaS应用通过ODATA API访问SAP标准接口,直接从本方应用发起访问就可以,无需借助PI或者BTP类的平台吧?既然这样,通过BTP或CPI来构建应用相对比直接在第三方平台上构建应用的好处是什么呢?是因为这2个平台除了获取数据,有更多关于流程设计和类似扩展插件(不用重复造轮子)的功能,并可以发布到SAP应用市场吗?也就是如果我不需要这些插件辅助,不到应用市场发布,是可以绕过这些平台的。

有朋友提问:

image.png

关于 SAP 和第三方系统之间的集成,我写过一篇短文:SAP S/4HANA Cloud 系统集成的一些场景介绍

image.png

SAP On-Premises 和 SAP Cloud 产品,都可以将其业务,以 OData 服务的方式暴露出来,供第三方系统集成使用。


SAP Cloud 产品,更准确的说,SAP Public Cloud 产品,其 OData 服务可以直接通过公网访问。理论上,在第三方应用上,直接采用 Java,C#,nodejs,Python 或者其他编程语言,调用 OData API 即可。在同 SAP Public Cloud 集成的场景下,第三方应用既可以部署在 SAP BTP 上,也可以部署在任何其他服务器上,比如本地服务器,或者腾讯云,阿里云等等。


反观 SAP On-Premises 暴露的 OData API,因为 SAP On-Premises 通常部署在企业内网,因此其 OData API 无法直接被第三方应用访问到,需要使用 SAP Cloud Connector,实现内外网穿越,即下图中间的 Secure Tunnel. 在这种场景里,SAP BTP 是必须的。


image.png


SAP BTP 除了结合 SAP Cloud Connector 实现第三方应用访问企业内网 On-Premises 系统之外,本身的 Service Market Place 上也提供了很多开箱即用的服务,即包括应用程序层级的 Business Service,也有偏底层基础设施(infrastructure)层面的 Technical Service. 第三方应用部署到 SAP BTP 上之后,可以消费这些服务,避免重复造轮子。


image.png


当然,如果第三方应用不需要连接 SAP On-Premises 系统,也不需要使用 SAP BTP 服务市场这些服务,那么理论上,不将第三方应用部署在 SAP BTP 上,技术上也没有问题。


再说 CPI. 第三方系统通过同步 OData API 的方式同 SAP 系统集成,实现简单,代价小。而 SAP CPI 作为 第三方系统和 待集成 SAP 产品之间的中间件,两种方式各有优缺点。采用 OData API 直连 SAP 系统的方式,我们可以理解成广义上的消息通讯机制,这种机制缺乏消息的持久化,消息监控,消息发送出错后的重试机制等等。当第三方系统同 SAP 产品交换的场景趋于复杂时,比如下面这张图里展示的,外部系统同 SAP S/4HANA 服务场景的集成,第三方应用会主动向 S/4HANA 发送两条消息,并接收从 SAP S/4HANA 回复的一条异步消息。只有当这两发一收操作全部结束之后,一个场景才算完全处理完毕。如果采用 OData API 发送机制实现,这个场景的错误处理,边界条件控制等措施,需要在第三方应用内部实现,开发复杂度比较高。而这些正是 SAP CPI 作为中间件的强项和用武之地。


image.png


综上,第三方系统同 SAP 系统集成,是否选择 SAP BTP 或者 CPI,取决于集成所需实现的具体场景以及实现复杂度。


相关文章
|
1月前
|
中间件
什么是 SAP CRM 系统里的 Initial Download
什么是 SAP CRM 系统里的 Initial Download
23 0
|
2月前
|
缓存 UED
关于 SAP OData Annotation Provider Class 以及 metadata 模型注册的事务码
关于 SAP OData Annotation Provider Class 以及 metadata 模型注册的事务码
26 0
|
3月前
|
数据采集 供应链 数据管理
关于评估 SAP 主数据的数据初始化对 SAP 系统影响范围的方法论
关于评估 SAP 主数据的数据初始化对 SAP 系统影响范围的方法论
42 0
|
3月前
|
XML API 数据格式
SAP 标准 OData 服务 CATALOGSERVICE;v=2 的作用介绍
SAP 标准 OData 服务 CATALOGSERVICE;v=2 的作用介绍
24 0
|
3月前
|
供应链 中间件
SAP CRM 和 ERP 系统之间的主数据同步 - PRODUCT_R3_ADAPTER
SAP CRM 和 ERP 系统之间的主数据同步 - PRODUCT_R3_ADAPTER
66 0
|
3月前
|
监控 前端开发 数据可视化
SAP 标准 OData 服务 ABAP_REPOSITORY_SRV 的作用介绍
SAP 标准 OData 服务 ABAP_REPOSITORY_SRV 的作用介绍
31 1
|
18天前
|
Java BI API
SAP Cloud for Customer 里如何通过 ABSL 二次开发方式消费 SAP S/4HANA 系统的 API
SAP Cloud for Customer 里如何通过 ABSL 二次开发方式消费 SAP S/4HANA 系统的 API
14 0
|
1月前
|
数据库 开发者 容器
SAP OData metadata.xml 里 EntityType,EntitySet 和 EntityContainer 三个概念之间的区别和联系
SAP OData metadata.xml 里 EntityType,EntitySet 和 EntityContainer 三个概念之间的区别和联系
24 0
|
2月前
|
安全 数据安全/隐私保护
SAP ABAP Gateway 系统接口 /IWBEP/IF_MGW_APPL_SRV_RUNTIME 的作用介绍
SAP ABAP Gateway 系统接口 /IWBEP/IF_MGW_APPL_SRV_RUNTIME 的作用介绍
28 0
|
2月前
|
SQL 开发框架 数据库
聊聊 SAP ABAP 系统里的胖接口(Fat Interface)
聊聊 SAP ABAP 系统里的胖接口(Fat Interface)
28 0