SAP Fiori OData 服务
OData 用于定义构建和使用 RESTful API 所需的最佳实践。它可以帮助您发现更改、定义可重用过程的函数和发送批处理请求等。
其中一些重要功能包括:
- OData 提供了扩展功能,以满足 RESTful API 的任何定制需求。
- REST 代表 Representational State Transfer,有时拼写为 "REST"。
- 它依赖于无状态、客户端-服务器、可缓存的通信协议。在几乎所有情况下,都使用 HTTP 协议。
- REST 被定义为设计网络应用程序的架构风格。
- OData 帮助您在构建 RESTful API 时关注业务逻辑,而不必担心定义请求和响应头、状态代码、HTTP 方法、URL 约定、媒体类型、PayLoad 格式和查询选项等的方法。
- OData RESTful API 易于使用。
OData 服务生命周期
OData 服务生命周期包括 OData 服务的跨度。
以下是 OData 服务生命周期中需要考虑的关键步骤:
- 激活 OData 服务。
- 维护 OData 服务。
- 模型和服务的维护,直到元数据缓存的清理。
- RESTful 应用程序使用HTTP请求发布数据以创建或更新、读取数据和删除数据。REST 将 HTTP 用于所有四个 CRUD(创建/读取/更新/删除)操作。
- REST 是 RPC(远程过程调用)和 Web 服务等机制的轻量级替代方案。
REST
REST 被定义为 web 服务和远程过程调用的选项。它用于设计网络应用程序。
REST 服务类似于 web 服务,并支持以下功能:
- 使用防火墙
- 独立于语言
- 基于标准
- 不依赖于平台
REST 架构
下面给出了 REST 架构的组件。
Resources(资源)
在 REST 中,状态和功能都显示为资源(Resources)。资源是 RESTful 设计的关键元素,而不是 RPC 和 SOAP Web 服务中使用的 "方法" 或 "服务"。
REST 中不使用 getProductName 和 getProductPrice 之类的 RPC 调用。您可以将产品数据视为资源,此资源应包含所有必需的信息。
Resources 的 web
这意味着单个资源不应包含详细数据,它包含指向其他网页的链接。
客户端 - 服务器
在REST 客户端 - 服务器模型中,一个组件服务器可以是另一个组件客户端。
无连接状态
每个请求都应包含有关与每个客户端的连接的详细信息,并且不应回复以前与同一客户端的连接。
可缓存
协议必须允许服务器明确指定可以缓存哪些资源以及缓存多长时间。
代理服务
为了提高性能和可扩展性,可以使用代理服务器。可以使用任何标准 HTTP 代理。
OData 服务使用 SAP NetWeaver 网关服务生成器
使用 T-Code: SEGW
新窗口将打开。点击 Create Project.
现在,按照以下步骤操作:
- 输入项目名称,如下图所示。它应该是唯一的,不应该包含任何特殊字符。
- 输入项目说明,因为它是必填字段。
- 输入不同的属性,例如项目类型、生成策略。
- 如果要在本地创建包,请选择包或单击本地对象。
单击本地对象后,Service builder 将创建一个具有空文件夹结构的新项目。所有这些都是使用新项目自动创建的,然后单击保存图标。
现在,在数据模型中创建实体类型,然后展开 Data model → right click → Create → Entity Type。
输入实体类型名称,若要自动创建实体集,请单击 related entity set 复选框选项。
点击选项 Insert row 在数据模型中添加另一个实体类型,并添加如下所示的详细信息。单击保存。
以类似的方式,可以通过右键单击数据模型并输入详细信息或使用 Entity Type 中的 Insert Row 插入行选项来创建实体集。
下一步是定义不同实体之间的关联和关系。可以通过两种方式创建它,即使用向导或使用编辑视图。
- 右击 data model → Create → Association 或
- 右击 Association 文件夹 → Create
双击 Association folder → Edit Mode → Insert Row
输入给定标签的详细信息:
- Name for the association
- External Association Editor
- Principal entity and cardinality
- Dependent Entity and Cardinality
点击 Association set。右击 data model → Create → Association Set.
在 Service Builder 中创建 Function Import, 右击 Data Model → Create → Function Import.
输入 Function Import 的名称,您可以从其他选项中选择并单击 保存图标。
定义复合类型, 跳转到 Data Model → right Click → Complex type.
根据要求输入详细信息并保存。
这是创建数据模型、实体集、类型、关联和复合类型的方法。
如何导入数据模型
有 4 个选项可用于从文件导入数据模型 −
- Data model from File
- DDIC structure
- RFC/BOR Interface
- Search Help
要导入数据模型,请执行以下步骤 −运行 T-code: SEGW
右击 Project Name → Import → select import method
输入路径并导入实体类型、实体集、关联和复合类型。
映射到数据源
转到 Data Model → Service Implementation → select Entity Set for Mapping
输入本地或远程系统数据源、类型和名称并保存。
这将启用查询操作下的映射节点。您可以为单个对象进行映射,也可以使用 Propose mapping 选项。
服务维护和注册
转到 Data Model。双击 Service Maintenance。
选择要注册的系统,然后单击顶部的 Register 选项。
选择 project → Local Object 然后单击勾号保存。
检查 Service Registration 服务注册状态。
要维护服务,请单击 Maintain 维护按钮。另一个窗口将打开。
单击 Call browser 并选择将此服务用作 URL。单击 OK。
浏览器将打开;输入用户名和密码以查看服务是否作为 OData 服务公开。