SAP Fiori - OData 服务



OData 用于定义构建和使用 RESTful API 所需的最佳实践。它帮助您查找更改、定义可重用过程的函数以及发送批量请求等。

一些重要的特性包括:

  • OData 提供了扩展功能,以满足您 RESTful API 的任何自定义需求。

  • REST 代表表述性状态转移,有时也拼写为“ReST”。

  • 它依赖于无状态、客户端-服务器、可缓存的通信协议。几乎在所有情况下,都使用 HTTP 协议。

  • REST 被定义为一种用于设计网络应用程序的架构风格。

  • OData 帮助您在构建 RESTful API 时专注于业务逻辑,而无需担心定义请求和响应标头、状态代码、HTTP 方法、URL 约定、媒体类型、有效负载格式和查询选项等方法。

  • OData RESTful API 易于使用。

OData 服务生命周期

OData 服务生命周期包括 OData 服务的跨度。以下是 OData 服务生命周期中需要考虑的关键步骤。

  • 激活 OData 服务。

  • 维护 OData 服务。

  • 维护模型和服务,直到清除元数据缓存。

  • RESTful 应用程序使用 HTTP 请求来发布数据以创建或更新、读取数据和删除数据。REST 对所有四个 CRUD(创建/读取/更新/删除)操作都使用 HTTP。

  • REST 是 RPC(远程过程调用)和 Web 服务等机制的轻量级替代方案。

REST

REST 被定义为 Web 服务和远程过程调用的一个选项。它用于设计网络应用程序。

REST 服务类似于 Web 服务,并支持以下功能:

  • 与防火墙配合使用
  • 与语言无关
  • 基于标准
  • 不依赖于平台

REST 架构

以下是 REST 架构的组成部分。

资源

在 REST 中,状态和功能都表示为资源。与 RPC 和 SOAP Web 服务中使用的“方法”或“服务”相比,资源是 RESTful 设计的关键元素。

REST 中不使用诸如“getProductName”和“getProductPrice”之类的 RPC 调用。您将产品数据视为资源,此资源应包含所有必需的信息。

资源网络

这意味着单个资源不应包含详细数据,而应包含指向其他网页的链接。

客户端-服务器

在 REST 客户端-服务器模型中,一个组件服务器可以是另一个组件客户端。

无连接状态

每个请求都应包含有关每个客户端连接的详细信息,并且不应依赖于对同一客户端的先前连接。

可缓存

协议必须允许服务器明确指定哪些资源可以缓存以及缓存多长时间。

代理服务器

为了提高性能和可扩展性,可以使用代理服务器。可以使用任何标准 HTTP 代理。

使用 SAP NetWeaver Gateway 服务构建器创建 OData 服务

使用T-Code:SEGW

SEGW

将打开一个新窗口。单击创建项目

Create Project

现在,按照以下步骤操作:

  • 输入项目名称,如下图所示。它应该是唯一的,并且不应包含任何特殊字符。

  • 输入项目的描述,因为这是一个必填字段。

  • 输入不同的属性,例如项目类型、生成策略。

  • 选择包或单击本地对象,如果您想在本地创建它。

Create Project Window

单击本地对象后,服务构建器将创建一个具有空文件夹结构的新项目。所有这些都将自动与新项目一起创建,然后单击保存图标。

Service Builder

现在,要在数据模型中创建实体类型。展开数据模型→右键单击→创建→实体类型。

Create Entity Type

输入实体类型名称,并要自动创建实体集,请单击相关的实体集复选框选项。

Entity Type Window

单击“插入行”选项可在数据模型中添加另一个实体类型,并添加如下所示的详细信息。单击保存。

Entity Type Options

Entity Type Save

以类似的方式,您可以通过右键单击数据模型并输入详细信息或使用实体类型中的“插入行”选项来创建实体集。

下一步是定义不同实体之间的关联和关系。可以通过两种方式创建它,使用向导或使用掩码编辑视图。

  • 右键单击数据模型→创建→关联

  • 右键单击关联文件夹→创建

Association Folder Window

双击关联文件夹→编辑模式→插入行

Edit Mode

输入给定标签的详细信息:

  • 关联的名称
  • 外部关联编辑器
  • 主要实体和基数
  • 从属实体和基数
Association Labels

单击关联集。右键单击数据模型→创建→关联集

要在服务构建器中创建函数导入,请右键单击数据模型→创建→函数导入

Data Model Window

输入函数导入的名称,您可以从其他选项中选择,然后单击保存图标

Function Import Window

要定义复杂类型,请转到数据模型→右键单击→复杂类型

Complex Type

根据需要输入详细信息并保存。

Save Complex Type

这就是创建数据模型、实体集、类型、关联和复杂类型的方法。

如何导入数据模型

有四个选项可用于从文件导入数据模型:

  • 来自文件的数据模型
  • DDIC 结构
  • RFC/BOR 接口
  • 搜索帮助

要导入数据模型,请按照以下步骤操作:

运行 T-code:SEGW

右键单击项目名称→导入→选择导入方法

Import Method

输入路径并导入实体类型、实体集、关联和复杂类型。

映射到数据源

转到数据模型→服务实现→选择用于映射的实体集

Mapping

输入本地或远程系统数据源、类型和名称并保存。

Map to Data Source

这将在查询操作下启用映射节点。您可以对单个对象进行映射,也可以使用建议映射选项。

Propose Mapping

服务维护和注册

转到数据模型。双击服务维护

Service Maintenance

选择您要注册的系统,然后单击顶部的注册选项。

Register Window

选择项目→本地对象,然后单击勾号保存。

Add Service Window

检查服务注册状态。

Service Registration

要维护服务,请单击维护按钮。将打开另一个窗口。

单击调用浏览器并选择将此服务用作 URL。单击确定

Call Browser Window

将打开一个浏览器;输入用户名和密码以查看服务是否作为 OData 服务公开。

Authentication Window
广告