老子说「唯之与阿,相去几何?美之与恶,相去若何?人之所畏,不可不畏。荒兮,其未央哉!」这句话放进 SAP ABAP RESTful Application Programming Model 里读,味道很特别。它不是在教人含糊,也不是在取消判断,而是在提醒我们,很多看起来差别巨大的东西,真正落到系统运行里,距离常常没有想象中那么远。一个字段叫CustomerID还是BusinessPartner,一个接口返回200还是业务消息,一个按钮叫Approve还是Release,一个对象建成 managed BO 还是 unmanaged BO,表面看只是命名、风格、框架选择,背后却牵动着领域语义、事务一致性、权限边界、升级稳定性和用户体验。
RAP 本身正处在这种「唯」与「阿」之间。它既继承 ABAP 世界里严肃的事务、锁、授权、数据一致性,也拥抱 RESTful 服务、OData、SAP Fiori elements、云端扩展和 Clean Core。SAP 对 RAP 的定位很清楚,它用于在 SAP BTP ABAP environment、SAP S/4HANA Cloud Public Edition、SAP S/4HANA Cloud Private Edition 以及 SAP S/4HANA 中构建云就绪的事务型业务应用、服务和扩展,并且是 ABAP Cloud 在事务场景里的核心模型。RAP 的开发流程也不是单个类或单个函数的技巧,而是围绕 ABAP CDS、扩展后的 ABAP 语言、业务服务、ADT 工具链、service definition 和 service binding 形成的一整套建模