从 REST 到 OData,再到 Central Hub,彻底理解 SAP Gateway Foundation 的架构价值 在 SAP Fiori 应用里点击一个销售订单,浏览器发出一条 HTTP 请求,请求地址可能类似下面这样。GET /sap/opu/odata/sap/ZSALES_ORDER_SRV/SalesOrderSet('50000123')浏览器看到的是一个普通的 HTTP 请求,SAPUI5 看到的是一个 OData 资源访问,SAP Gateway Foundation 看到的却不仅是一条 URL。它还需要判断这个服务属于哪个 SAP 系统,应该交给哪个 Backend 处理,当前用户有没有权限,服务是否已经激活,URI 是否合法,查询参数如何解释,业务数据怎样转换成 OData Response,以及整个调用链出现错误时应该生成什么样的 HTTP 状态码和错误消息。在比较简单的 SAP S/4HANA 环境里,这些工作可以全部发生在同一个 ABAP 系统中。但很多运行多年的大型 SAP Landscape 并没有这么简单。一个集团可能同时存在 SAP ERP、SAP CRM、SAP SRM、SAP HCM,后来又逐步加入 SAP S/4HANA。前端应用希望通过统一入口访问这些系统,而不是知道每一个 Backend 的主机名、端口、System ID 和 Client。Central Hub Deployment 就是在这种背景下体现价值的。理解 Central Hub 之前,需要先把 SAP Gateway、REST 和 OData 之间的关系理顺。SAP 官方对 SAP Gateway Foundation 的定位很清楚,它是连接 SAP Business Suite 数据、业务逻辑