ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

ABAP Cloud 如何消费外部集成服务,从 Service Consumption Model 到 Outbound Communication 的完整设计

ABAP Cloud 如何消费外部集成服务,从 Service Consumption Model 到 Outbound Communication 的完整设计

在一个真实的 SAP S/4HANA Cloud 或 SAP BTP ABAP environment 项目里,业务数据很少只存在于当前 ABAP 系统内部。

销售订单可能存放在 SAP S/4HANA 中,客户信用评分来自外部风控平台,物流轨迹来自第三方物流服务,汇率来自金融数据服务,员工信息可能位于 SAP SuccessFactors,而某些历史主数据仍然留在企业内部运行多年的 SAP ECC 系统。

如果按照传统 ABAP 开发习惯思考,很容易形成一种思维惯性,程序需要数据,就去 SAP HANA 数据库读取。

到了 ABAP Cloud,这种思路已经不够用了。

ABAP Cloud 应用所消费的数据,不一定来自当前系统的 SAP HANA 数据库,也可能通过 OData、HTTP、SOAP 或 RFC 等协议,从远程系统实时获取。SAP 将这类从当前 ABAP 系统主动访问外部系统的模式称为 Outbound Communication,也就是出站通信。

SAP 官方文档把 Outbound Communication 描述为当前系统向另一个系统发送数据,或者调用另一个系统所提供的服务。站在当前 ABAP 系统的角度,它承担 Service Consumer 的角色,而远端系统承担 Service Provider 的角色。ABAP 环境当前支持的主要出站协议包括 OData、HTTP、RFC 和 SOAP。

这个概念表面上只是一次远程调用,但真正进入 ABAP Cloud 项目后会发现,SAP 并不鼓励开发人员把远程 URL、用户名、密码以及认证方式直接写进 ABAP 类里。

SAP 把整个问题拆成了两个相互配合的部分。

一部分属

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进