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

开发者社区> jerrywangsap> 正文

答网友问:如果用 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,取决于集成所需实现的具体场景以及实现复杂度。


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
10095 0
使用SSH远程登录阿里云ECS服务器
远程连接服务器以及配置环境
2511 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
13893 0
windows server 2008阿里云ECS服务器安全设置
最近我们Sinesafe安全公司在为客户使用阿里云ecs服务器做安全的过程中,发现服务器基础安全性都没有做。为了为站长们提供更加有效的安全基础解决方案,我们Sinesafe将对阿里云服务器win2008 系统进行基础安全部署实战过程! 比较重要的几部分 1.
9161 0
阿里云服务器ECS登录用户名是什么?系统不同默认账号也不同
阿里云服务器Windows系统默认用户名administrator,Linux镜像服务器用户名root
4510 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,云吞铺子总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系统盘、创建快照、配置安全组等操作如何登录ECS云服务器控制台? 1、先登录到阿里云ECS服务器控制台 2、点击顶部的“控制台” 3、通过左侧栏,切换到“云服务器ECS”即可,如下图所示 通过ECS控制台的远程连接来登录到云服务器 阿里云ECS云服务器自带远程连接功能,使用该功能可以登录到云服务器,简单且方便,如下图:点击“远程连接”,第一次连接会自动生成6位数字密码,输入密码即可登录到云服务器上。
22412 0
阿里云ECS云服务器初始化设置教程方法
阿里云ECS云服务器初始化是指将云服务器系统恢复到最初状态的过程,阿里云的服务器初始化是通过更换系统盘来实现的,是免费的,阿里云百科网分享服务器初始化教程: 服务器初始化教程方法 本文的服务器初始化是指将ECS云服务器系统恢复到最初状态,服务器中的数据也会被清空,所以初始化之前一定要先备份好。
7365 0
+关注
2628
文章
0
问答
来源圈子
更多
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载