01 它是干嘛的
BTP 是 SAP 的云平台与开发底座。企业想加一个 ERP 没有的功能、想把 SAP 的数据接到别的系统、想做一个给外勤人员用的小程序,都在这一层完成,而不去改核心系统——因为改核心会让升级变得极其痛苦。
02 为什么会有它
以前:改 ERP 一时爽,升级火葬场
企业业务千奇百怪,标准 ERP 永远差一口气。早期做法是直接改 ERP 源码或写增强程序,短期很爽,但下一次系统升级时,所有改动都要重新验证甚至重写,于是企业被锁死在老版本上不敢动。
另一个痛点是集成:SAP 要和电商、物流、银行、税务系统打交道,每接一个就要写一套点对点接口,接口数量随系统数量爆炸式增长。
BTP 的思路是「核心保持干净,扩展放旁边」:核心系统只负责标准流程,差异化的东西用平台上的低代码、集成服务与 API 去实现,两边通过标准接口通信。这样升级核心时,扩展不受影响。
03 它怎么工作
BTP 提供数据、集成、开发与运行四层能力,扩展应用通过标准 API 读写核心数据,彼此解耦。
一个扩展应用是怎么搭起来的
- 1① 暴露标准接口
核心系统把业务对象以标准 API 或事件的形式开放出来,供外部安全调用。
- 2② 集成与编排
用集成套件把多个系统连起来,做协议转换、字段映射与错误重试。
- 3③ 低代码搭界面
用低代码工具快速搭出表单、列表与审批页,不必从零写前端。
- 4④ 部署运行
应用部署在平台运行时上,由平台负责伸缩与运维。
- 5⑤ 统一身份与权限
复用企业的单点登录与角色体系,避免又一套独立账号。
04 谁在用它
需要个性化业务功能
行业特有的流程不适合写进标准产品,放到平台层实现。
多系统数据打通
ERP、MES、电商、物流之间要稳定同步。
移动化与外勤场景
给一线人员做轻量应用。
为未来升级做准备
把改动移出核心,升级时才不会牵一发动全身。
05 怎么用
先弄清哪些需求真的必须改核心,大多数需求其实可以在平台层解决。
- 01把待开发需求分成「标准功能配置」「平台扩展」「核心增强」三类,第三类要慎之又慎。
- 02优先使用官方标准 API,避免直接读底层表。
- 03集成场景先定义好幂等与重试策略,否则数据会重复。
- 04为每个扩展应用建立独立的运维与监控。
避坑提示
- !扩展应用也要有测试环境,直接改生产是灾难的开始。
- !权限设计沿用核心系统的角色体系,不要另建一套。
06 关键概念
- PaaS
- 平台即服务,提供运行与开发能力,开发者只写业务代码,不用管服务器。
- 核心干净
- 尽量不改标准产品源码,把个性化需求外移,保证未来可以升级。
- 事件驱动
- 业务发生时发出一个事件,关心它的系统自己订阅,彼此不必互相调用。
- 幂等
- 同一个请求重复执行多次结果一致,是集成接口必须保证的性质。
07 容易混淆的对比
直接在 ERP 里写增强见效快但升级困难,长期维护成本高。
MuleSoft / 各类 iPaaS集成能力强、跨厂商中立,但与 SAP 语义模型的贴合度不如 BTP。