后端与接口
在 SAP BTP 上开发…
当需要在 SAP BTP 上用 CAP 或 ABAP Cloud 构建、部署、集成和运维云应用时,提供从选型到上线的完整做法。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 38/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 59/100 ×0.15
适用场景
在 SAP BTP 上开发、部署和运维业特定
解决思路
- 根据决策矩阵选择运行时与编程模型:CAP(Cloud Foundry/Kyma,Node.js/Java/TypeScript,适合新建云原生应用与扩展)或 ABAP Cloud(ABAP,适合有 ABAP 经验的组织,运行于 SAP BTP ABAP Environment)。
- CAP 开发使用三种运行配置:Development(Mock 服务、SQLite/H2 本地测试)、Hybrid(本地应用连接云服务)、Production(完整云部署并接入 SAP HANA Cloud)。
- CAP 开发利用 CDS 做领域驱动设计、内置多租户、自动生成 OData/REST 服务,并保持平台无关以避免厂商锁定。
- 构建 AI 增强的 CAP 扩展:通过 MTA 绑定 AI Core(service: aicore,plan: extended)。
- 在 CAP 事件处理器中使用 SAP Cloud SDK for AI(@sap-ai-sdk/orchestration),不要用原始 HTTP 调用。
- LLM 调用异步处理:返回 202 Accepted 并用 cds.spawn 后台处理,避免 BTP 负载均衡器超时(LLM 调用可能耗时 30-60 秒)。
- RAG 场景在 CDS 实体中使用 HANA Cloud 的 Vector(1536) 类型存储向量。
- 将提示词外置到 JSON 文件或 CDS 实体中,以便无需重新部署即可更新。
- 为使用 AI SDK 的 Node.js 容器分配至少 512MB 内存。
- ABAP Cloud 开发基于四项基础技术:CDS(数据建模与分析)、RAP(面向服务的开发)、Restricted ABAP Language(云安全 API 访问)、Released Public APIs(升级稳定的扩展)。
- 探索与发现阶段:识别业务问题(干系人访谈)、理解用户需求(走访客户、观察工作流)、定义安全需求(威胁建模、GDPR/HIPAA 合规规划)、建立治理(组织结构)。
- 设计阶段之用户体验:遵循 SAP Fiori 设计指南、实现无障碍(WCAG 2.2)、使用设计思维方法。
- 设计阶段之技术设计:对复杂应用(30+ 用例)应用领域驱动设计、定义模块边界与通信模式、必要时规划微服务架构。
- 设计阶段之安全:用 SAP Fiori 认证保护 UI、用 OAuth/OpenID Connect 实现 RBAC/ABAC、验证 CDS 模型的数据保护。
- CAP 开发初始化:运行 cds init my-project、cd my-project、cds add hana、cds add xsuaa、cds watch。
- 开发工具:SAP Business Application Studio(主 IDE)、SAP Cloud SDK(OData/OpenAPI 客户端)、MTA Build Tool(打包)。
- 编码规范:遵循 SAPUI5 与 SAP Fiori 设计指南、建立命名约定、使用参数化查询防 SQL 注入、用 CDS 约束做输入校验。
- Cloud Foundry 部署:运行 mbt build 构建 MTA 归档,再运行 cf deploy mta_archives/my-project_1.0.0.mtar。
- Kyma 部署:使用 Helm charts 或 Terraform(terraform init、terraform apply)。
- ABAP 部署:使用 Manage Software Components 应用(gCTS)、通过 Landscape Portal 传输;合作伙伴可选 Multitenant SaaS 或 Add-on Product。
- 运行与监控:使用 SAP Cloud ALM(集中可观测性)、SAP Cloud Logging(详细日志、指标、追踪)、ABAP Technical Monitoring Cockpit。
- 扩展:Cloud Foundry 自动跨 AZ 分布实例、Kyma 用 Kubernetes 原生扩缩、ABAP 用 ACU 弹性扩缩(0.5 ACU 增量)。
- 成本优化:ABAP 系统休眠(降至 <5% 运营成本)、SAP HANA Cloud Native Storage Extension、峰值负载用 Elastic Compute Nodes。
- 平台服务使用:SAP HANA Cloud(多模型数据库即服务)、SAP Connectivity Service(经 Cloud Connector 连本地/VPC)、SAP Destination Service(路由与认证管理)、SAP Event Mesh(应用间事件分发)、SAP Integration Suite(API 管理与云集成)。
- 安全实施:限制网络访问、上线前渗透测试、部署流水线做代码扫描与依赖校验、用 SAP Credential Store 管理密钥。
- 连接模式:云到本地用 SAP Connectivity Service + Cloud Connector(支持用户传播,协议 HTTP/RFC/LDAP/FTP);云到云用 SAP Destination Service 做路由与 OAuth 令牌管理,Kubernetes 用 SAP Transparent Proxy。
- CI/CD 使用 SAP Continuous Integration and Delivery:在 BTP cockpit 启用、分配 Administrator/Developer 角色、配置仓库凭据(GitHub/GitLab/Bitbucket/Azure Repos)、添加仓库并创建作业、配置 webhook 自动构建。
- 可观测性分两层:中心层 SAP Cloud ALM(真实用户监控、健康监控、集成与异常监控、合成用户监控);本地层 SAP Cloud Logging(基于 OpenSearch 的日志分析、分布式追踪、自定义仪表盘与告警);用 OpenTelemetry 做埋点。
- 按学习路径实践:CAP 从全栈入门到侧边扩展、企业级(变更跟踪/审计日志/附件)、多租户 SaaS、可观测性;ABAP 从 RAP100 基础到中级、RAP120(SAP Joule 辅助开发)、CDS 分析视图接 SAP Analytics Cloud。
- 合作伙伴/ISV 开发:选择 Multitenant SaaS(在伙伴全球账户运营)或 Add-on Product(装入客户 ABAP 环境),需 SAP PartnerEdge Build 合同、注册 ABAP 命名空间、用 Landscape Portal 做生命周期管理。
- 常见错误处理:第三方 cookie 问题见 SAP Note 3409306;XSUAA 绑定失败运行 cf create-service xsuaa application;HANA 部署错误检查 mta.yaml 中的 requires;ATC Priority 1 问题改用 ABAP_CLOUD_DEVELOPMENT_DEFAULT 变体。
适用边界 · 注意事项
- 不使用 SAP BTP 平台或不做 SAP 生态开发时。
- 没有 SAP BTP 账号、SAP HANA Cloud、SAP Business Application Studio 等 SAP 产品/付费服务时。
- 仅做通用云原生开发且不涉及 CAP、ABAP Cloud、Fiori 或 SAP 系统集成时。