4.0 模块 4:核心使能技术:网关和 OData
4.1 SAP NetWeaver Gateway 简介:通往业务套件的桥梁
SAP NetWeaver Gateway 是一项基础技术,它充当桥梁,连接设备、平台和各种环境与 SAP 软件中存储的数据和业务逻辑。它基于 OData 和 REST 等市场标准运行,简化了开发人员对 SAP 系统的访问。其主要作用是作为安全可控的入口点,显著降低创建使用 SAP 数据的应用程序所需的复杂性和开发时间,从而成为整个 SAP Fiori 架构的基石。
4.2 网关功能和部署架构
NetWeaver Gateway 提供多项关键功能,使其成为现代应用程序开发的理想之选。它具有以下特点:
- 无干扰: 它可以在任何 SAP Business Suite 系统上实施。
- 易于开发: 它允许创建简单的 API,而无需深入了解专有工具。
- 基于开放标准: 它使用 REST 服务和 OData/ATOM 协议,支持从任何编程语言或开发模型进行连接。
- 开发人员友好: 它为常见的集成开发环境(IDE)如Eclipse和Visual Studio提供插件。
NetWeaver Gateway 的部署主要有两种架构模型,每种模型都有其独特的战略意义。
- 中央枢纽部署
在 SAP 推荐的这种架构中,UI 组件和 NetWeaver Gateway 安装在专用的前端服务器上,该服务器与包含业务逻辑的后端服务器是分开的。
- 分析: 该模型的关键优势在于将表示层与业务核心进行战略性隔离。它为所有用户界面相关问题提供单一维护点,支持集中式主题和品牌管理,并作为访问多个后端系统的单一安全入口。由于用户无法直接访问后端,安全性得到了显著提升。虽然这需要一个独立的系统,但考虑到安全性、生命周期管理和可扩展性的提升,这种权衡对于生产环境而言是合理的。
- 嵌入式部署
在此模型中,NetWeaver Gateway 组件与 SAP Business Suite 安装在同一系统上。前端和后端逻辑位于同一位置。
- 分析: 主要优势在于减少了运行时网络调用,因为 UI 层和业务逻辑之间的通信是本地进行的。然而,缺点也很明显。该系统无法作为其他后端系统的中央枢纽,在包含多个 Business Suite 系统的环境中,需要在每个系统中单独配置和维护 Gateway。由于这些可扩展性和可管理性方面的限制,建议仅在沙箱或隔离的开发环境中使用此部署模型。
4.3 理解沟通语言:OData 和 REST
开放数据协议 (OData)是一套用于构建和使用 RESTful API 的最佳实践。它规范了常见的 API 约定,帮助开发人员专注于业务逻辑,而无需担心定义请求/响应标头、状态码、URL 约定和查询选项等底层细节。它简化了创建强大且易于使用的 Web 服务的过程。
表述性状态转移(REST)是 OData 的底层架构风格。它是一种轻量级、无状态的客户端-服务器架构,使用标准的 HTTP 方法来实现所有四种 CRUD(创建/读取/更新/删除)操作。其关键组件包括:
- 资源: REST 的核心概念是将数据和功能表示为资源(例如,特定的采购订单)。
- 资源网络: 资源可以包含指向其他相关资源的链接,从而实现导航。
- 客户端-服务器: 客户端(负责用户界面)与服务器(负责数据存储)之间严格分离。
- 无连接状态: 客户端的每个请求都必须包含服务器理解和处理所需的所有信息,而不能依赖任何先前的请求。
- 可缓存: 服务器可以指定哪些资源可以被客户端或代理缓存,以提高性能。
- 代理服务器: 可以使用标准HTTP代理来增强可扩展性和安全性。
4.4 OData 服务生命周期和创建
SAP 环境中 OData 服务的生命周期包括几个关键阶段:服务的激活、服务的持续维护及其数据模型,以及定期清理缓存以确保性能。
创建新的 OData 服务可通过SAP NetWeaver Gateway 服务构建器(事务代码 SEGW)实现。该过程涉及多个逻辑步骤,而不仅仅是一系列事务代码:
- 项目创建: 开发人员首先创建一个新项目,该项目作为所有相关服务组件的容器。
- 数据模型定义: 服务的核心在此定义。这包括创建 实体类型 (代表诸如“产品”之类的业务对象) 实体集 (实体类型的集合,例如“产品”)。
- 建立关系: 协会 定义用于创建不同实体类型之间的关系(例如,将“供应商”实体链接到“产品”实体),从而允许在数据模型中进行导航。
- 服务登记和维护: 数据模型完成后,该服务将在网关系统中注册。注册后,该服务即可激活并可供使用。注册后,可以直接通过网关中心维护和测试该服务,网关中心会将其公开为一个可用的 RESTful API。
从这些强大的数据服务出发,我们现在将注意力转向用户的主要交互点:SAP Fiori Launchpad。