本文基于 SAP Business Technology Platform(BTP)的公开资料和企业扩展开发实践整理,面向 SAP 开发者和架构师。
SAP BTP(Business Technology Platform,业务技术平台)是 SAP 推出的云平台,旨在帮助企业扩展、集成和增强 SAP 应用。对于希望在 SAP 生态中构建云原生扩展、集成异构系统或引入 AI 与数据分析能力的企业而言,理解 BTP 的架构和能力是至关重要的。
SAP BTP 是一个统一的平台,它将多种云服务和开发工具整合在一起,支持企业:
BTP 的核心理念是 **“Keep the Core Clean”**:尽量保持 SAP 核心系统的标准功能不被修改,通过 Side-by-Side 扩展满足个性化需求。
| 服务/工具 | 说明 |
|---|---|
| SAP CAP(Cloud Application Programming Model) | 用于构建企业级应用的框架,支持 Node.js 和 Java |
| SAP Build | 低代码/无代码开发平台,包括 Build Apps、Build Process Automation、Build Work Zone |
| SAP Kyma | 基于 Kubernetes 的运行时,用于运行容器化扩展应用 |
| SAP Workflow Management | 工作流和业务流程自动化 |
| 服务/工具 | 说明 |
| SAP Integration Suite | 集成平台,支持云到云、云到本地的集成 |
| SAP API Management | API 发布、治理和监控 |
| SAP Open Connectors | 预构建的第三方应用连接器 |
| 服务/工具 | 说明 |
| SAP Datasphere | 数据编织和集成平台 |
| SAP Analytics Cloud(SAC) | 商业智能、计划和预测分析 |
| SAP HANA Cloud | 云原生内存数据库 |
| 服务/工具 | 说明 |
| SAP AI Core | 机器学习和生成式 AI 的运行时服务 |
| SAP AI Services | 预训练的 AI 服务,如文档信息提取 |
| SAP Joule | 生成式 AI 助手,嵌入 SAP 应用 |
| 服务/工具 | 说明 |
| SAP Cloud Identity Services | 身份认证和访问管理 |
| SAP Authorization and Trust Management | 授权和信任管理 |
| SAP Cloud Transport Management | 应用传输管理 |
Side-by-Side 扩展是最常见的 BTP 架构模式:
#### 优势
对于需要连接多个系统的场景:
SAP CAP 是 BTP 上最重要的应用开发框架之一。下面是一个典型的 CAP 项目结构:
my-cap-project/
├── app/ # Fiori/UI5 前端应用
├── db/ # CDS 数据模型定义
├── srv/ # 服务定义和业务逻辑
├── package.json
├── mta.yaml # 多目标应用部署描述
└── README.mdnamespace my.project;
entity Orders {
key ID : UUID;
customerName : String;
orderDate : Date;
totalAmount : Decimal(15, 2);
status : String enum { New; Processing; Completed; Cancelled };
}service OrderService {
entity Orders as projection on my.project.Orders;
}const cds = require('@sap/cds');
module.exports = cds.service.impl(async function() {
const { Orders } = this.entities;
this.before('CREATE', Orders, async (req) => {
if (req.data.totalAmount <= 0) {
req.reject(400, '订单金额必须大于 0');
}
});
});上述代码仅为示例,实际开发需根据业务需求和安全规范完善。
| 集成方式 | 适用场景 |
|---|---|
| OData 服务 | 读取和写入 S/4HANA 数据,适合实时交互 |
| RFC/BAPI | 调用 S/4HANA 标准功能模块 |
| 事件(Events) | 基于 S/4HANA 业务事件的异步集成 |
| IDoc | 传统 EDI 集成,适合大批量数据交换 |
| Cloud Connector | 连接 BTP 与本地 S/4HANA 系统 |
| 场景 | 说明 |
| 自定义 Fiori 应用 | 为 S/4HANA 构建特定业务角色的轻量级界面 |
| 审批工作流 | 在 BTP 上实现跨系统的审批流程 |
| 供应商/客户门户 | 为外部合作伙伴提供安全的自助服务入口 |
| AI 辅助决策 | 利用 AI Core 或 Joule 增强业务应用 |
| 数据仪表盘 | 通过 SAC 可视化 SAP 和外部数据 |
| 流程自动化 | 使用 Build Process Automation 自动化重复性任务 |
Q1:SAP BTP 是否等同于 SAP S/4HANA Cloud?
A:不是。S/4HANA Cloud 是 SAP 的 ERP 云产品,而 BTP 是用于扩展、集成和创新的技术平台。两者可以协同使用。
Q2:BTP 扩展是否会影响 S/4HANA 升级?
A:如果采用 Side-by-Side 模式,扩展应用与核心系统解耦,通常不会直接影响 S/4HANA 升级。
Q3:SAP CAP 和传统 ABAP 开发有什么区别?
A:CAP 更适合云原生扩展开发,支持 Node.js 和 Java;ABAP 主要用于 S/4HANA 核心系统内的开发。两者可以互补。
Q4:BTP 是否支持多云部署?
A:SAP BTP 运行在主流云服务商(如 AWS、Azure、Google Cloud、阿里云)之上,企业可以根据所在区域和合规要求选择。
Q5:企业应该如何开始 BTP 之旅?
A:建议从一个小范围的 Side-by-Side 扩展场景开始,例如自定义 Fiori 应用或审批工作流,验证架构和价值后再逐步扩展。
| 阶段 | 学习内容 |
|---|---|
| 第一阶段 | 了解 SAP BTP 核心概念、服务类型和定价模式 |
| 第二阶段 | 学习 SAP CAP 基础,完成一个 Hello World 应用 |
| 第三阶段 | 实践 BTP 与 S/4HANA 的 OData 集成 |
| 第四阶段 | 学习 Fiori/UI5 前端开发,构建完整应用 |
| 第五阶段 | 掌握 Integration Suite、Work Zone 或 AI 服务 |
本文基于 SAP Business Technology Platform 的公开资料和企业扩展开发实践整理。文中产品名称、服务能力和架构模式以 SAP 官方最新文档为准;具体实施时请结合企业现有的 SAP 版本、云战略和安全合规要求。