Skip to content

Latest commit

 

History

History
605 lines (303 loc) · 34.3 KB

File metadata and controls

605 lines (303 loc) · 34.3 KB

三、SAP XSA 的开发工具

本章将深入理解使用 SAP HANA XSA 内部的 NodeJS 进行 REST API 开发的相关工具。本章将讨论的工具包括 SAP Web IDE、数据库浏览器、XSA 驾驶舱和 GitHub。

SAP Web IDE 和连接到 GIT

首先,这些工具允许开发者开发企业软件应用。此外,它们允许调试代码。开发和调试齐头并进。一些开发人员消极地考虑调试;相反,它应该被视为任何开发场景中的基本步骤。世界上没有一个开发人员可以不经过调试就进行开发,即使是在某人的初始程序“hello world”期间。正如所有编程开发人员工具所必需的一样,下面的解释将帮助开发人员理解编程语言的执行,下一行如何运行,它如何在控制台和浏览器上显示,或者只是编程语言如何完成任务。

SAP HANA XSA 的开发也不例外。在最初几章中,我们展示了如何使用 XS 命令行界面,这对于 SAP HANA XSA 的开发至关重要。无论您的角色是管理员、解决方案架构师、开发人员还是质量保证工程师,在某些时候,了解软件开发周期中涉及的工具都是很重要的。在第 2 章中,展示了一些来自 SAP Web IDE 的截图,现在,本书将在这一部分展开。

首先了解什么是 SAP Web IDE 是很重要的。它是 SAP 通过 web 浏览器开发和提供的工具,作为他们的集成开发环境。SAP 将 SAP Web IDE 描述为“一个强大的、可扩展的、基于 Web 的工具,它简化了端到端费奥里应用的开发和整个堆栈应用生命周期。”默认情况下,可以从以下 URL 访问 SAP HANA Web IDE,http(s)://host:53075(默认端口),如果以这种方式安装,也可以从不同的端口访问。如果不知道确切位置,请咨询您公司的系统管理员。

SAP Web IDE 有多个版本;然而,它们的界面看起来很相似。熟悉不同版本的 SAP Web IDE 及其许可条款,以确保在开始任何开发之前使用合适的版本和许可证。以下是 SAP Web IDE 的不同版本:

img/498901_1_En_3_Chapter/498901_1_En_3_Fig1_HTML.jpg

图 3-1

SAP Web IDE

  1. SAP 云平台上的 SAP Web IDE(图 3-1

  2. 面向 SAP HANA 的 SAP Web IDE(内部部署和 HANA Express 版)

  3. 个人 SAP 网络集成开发环境

每个环境有什么不同?

SAP 云平台 Web IDE 提供了创建费奥里应用和扩展以及连接到 ABAP 后端存储库的模板,它还可以连接到 git 存储库。在 SAP Cloud Web IDE 上创建应用时,有三种环境类型可供选择。

前两种类型的环境, ABAP尼奥,具有相同类型的费奥里(SAPUI5)模板、主细节、列表报告、工作列表和 SAPUI5 应用。这两个环境非常简单,可以用提供的模板开始创建用户界面(UI)。注意,当基于这些模板之一创建项目时,需要选择 SAPUI5 版本。SAPUI5 是现代 HTML5 和 CSS3 控件的 SAP 库,使用 JavaScript 创建费奥里应用。如果决定创建 SAPUI5 应用,请在 SAPUI5 SDK(软件开发工具包)网站上查看当前支持的版本。

这两个环境之间的其他差异包括 NEO 环境(图 3-3 )是一个 SAP 专有环境,在其中,开发人员可以创建复杂的 Java、XS JavaScript (XSJS)和 HTML5 应用。这是在 SAP 云中开发的最简单的环境类型。NEO 环境不支持 Node JS 开发。

3-2 中的 ABAP 环境,顾名思义,就是从 SAP 云平台创建和扩展 ABAP 应用。这种环境需要在使用前调查许可成本。

img/498901_1_En_3_Chapter/498901_1_En_3_Fig3_HTML.jpg

图 3-3

使用 Neo 环境选择 SAP Web IDE 模板

img/498901_1_En_3_Chapter/498901_1_En_3_Fig2_HTML.jpg

图 3-2

使用 ABAP 环境的 SAP 云平台的 SAP Web IDE

第三种环境被称为云铸造 (CF)环境,如图 3-4 所示。由于 CF 的性质和功能——参见第 1 章了解关于 CF 的信息——在 CF 环境下工作时,还有许多其他类型的模板。

img/498901_1_En_3_Chapter/498901_1_En_3_Fig4_HTML.jpg

图 3-4

使用 Cloud Foundry 环境选择 SAP Web IDE 模板

除了创建费奥里应用,还有用于物联网(IoT)应用的模板、用于创建 OData 服务和云平台业务应用(CBA)的模板。一旦选择了环境和项目类型,就会出现如图 3-5 所示的 SAP 云平台 Web IDE。它非常类似于第 2 章中所示的本地 SAP Web IDE 版本。

img/498901_1_En_3_Chapter/498901_1_En_3_Fig5_HTML.jpg

图 3-5

显示工作区的 SAP Web IDE

屏幕顶部的菜单项包括

  1. 文件–创建新文件或导入文件/项目

  2. 编辑–撤销/重做一个动作并添加注释(行或块)

  3. 构建–构建模块(上一章显示,下一章显示)

  4. 运行——运行一个应用或将其作为一个单元测试来运行

  5. 部署–部署到 ABAP 存储库或 SAP 云,或者注册费奥里启动平台

  6. 搜索–对文件进行搜索,例如右侧导航图标(放大镜)上的高级搜索

  7. 视图–允许开发人员查看不同的窗格(git、history、debug)或位于屏幕右下角的控制台、错误和警告窗口

  8. 工具–允许从工作区切换到数据库浏览器、SAP 云驾驶舱、故事板、首选项或 SAP 云平台的其他功能

  9. Help–提供文档、SDK、快捷方式、提示和技巧、关于部分和反馈的链接

  10. 法律–提供有关使用条款和隐私声明的信息

请注意左侧导航栏上的图标:

  1. 工作区–是开发过程中使用的工作区,由 xml 标签图标表示。

  2. 数据库浏览器–连接到数据库或 HDI 容器。

  3. story board–SAP Web IDE 的本地版本中不存在此功能。此功能用于创建应用的可视化表示,并设置应用和导航中使用的服务端点,而无需编写任何代码。

  4. 首选项–此功能用于设置 Web IDE 设置,如代码编辑器规则、数据预览、git 设置、SQL 控制台设置和工作区设置

右侧导航栏上的图标是

  1. 放大镜–高级存储库搜索,用于查找文件夹、项目或工作区内的文件内容。

  2. Git pane–用于连接外部代码库并与之交互(对代码库执行操作,如拉、推、提交、重置)。

  3. Git history–查看外部代码库的最新变化。

  4. Outline–显示应用视图中控件的层次结构。

  5. 调试器–这是在开发和调试时设置调试会话。

  6. 测试结果–显示单元测试结果。

在屏幕的右下角,还有几个图标,显示日志、错误和警告的控制台输出。在开发、构建应用和服务以及对其构建和部署进行故障排除时,这些控制台输出非常有用。它显示系统记录的任何信息。

用于 SAP HANA 的 SAP Web IDE(内部部署和 SAP HANA Express Edition,HXE)看起来非常接近之前显示的精确副本,也显示在图 3-6 中。如前所述,这个版本中没有故事板;但是,数据库浏览器是。到目前为止,两个版本都有非常相似的特性。这些工具的一个主要区别是许可条款。在右下角查询这些工具的许可类型。

img/498901_1_En_3_Chapter/498901_1_En_3_Fig6_HTML.jpg

图 3-6

SAP Web IDE 内部部署(HANA Express 版)

SAP Web IDE 个人版

同样,SAP HANA Web IDE 个人版的大多数功能(图 3-7 )与此版本的 Web IDE 具有相同的功能。其中一个主要区别是没有数据库浏览器,因为个人 Web IDE 主要用于开发 SAP 费奥里应用和 SAP 费奥里扩展。在图 3-7 中,SAP Web IDE 的个人版可以连接到 ABAP 的后端存储库(通过目标文件)。一旦连接上,它就可以通过命令克隆、拉取、暂存、提交和推送代码到 Git 外部存储库。

img/498901_1_En_3_Chapter/498901_1_En_3_Fig7_HTML.jpg

图 3-7

SAP Web IDE 个人版

一旦进入个人 Web IDE 的工作区部分(图 3-8 ,开发人员又回到了熟悉的领域。上面显示的大多数功能之前已经解释过了。它们的工作方式与所描述的类似。虽然个人 SAP Web IDE 安装在某人的笔记本电脑上,并显示在浏览器地址栏上,但个人 Web IDE 托管在本地主机上;这意味着它是作为可执行文件下载的,并被配置为在本地开发机器上运行。同样,如果决定使用个人 Web IDE 进行任何费奥里开发,请务必阅读许可条款。

img/498901_1_En_3_Chapter/498901_1_En_3_Fig8_HTML.jpg

图 3-8

SAP Web IDE 个人版工作区

在介绍了 SAP Web IDE(及其不同版本)之后,继续看如何将其连接到外部代码库 GitHub。在第 1 章中,简要展示了如何从可视化代码 IDE 中设置外部代码库。书中剩余的开发和练习将在 SAP Web IDE 中完成。

在使用数据库模块开始练习之后,继续将 wavepress 项目连接到 GitHub 存储库,以便可以克隆它。

在 SAP HANA Web IDE 中,转到项目名称。右键单击,选择 Git,然后选择初始化本地存储库(图 3-9 )。如图 3-10 所示,在下一步提供与 Git 账户匹配的电子邮件和用户名。

img/498901_1_En_3_Chapter/498901_1_En_3_Fig10_HTML.jpg

图 3-10

Git 用户信息提示

img/498901_1_En_3_Chapter/498901_1_En_3_Fig9_HTML.jpg

图 3-9

初始化本地存储库

在这一步之后,本地 GIT 存储库变得可用于开发,或者更好的是,此时可以通过点击图 3-11 所示消息中的 Set Remote 按钮来设置远程存储库。

img/498901_1_En_3_Chapter/498901_1_En_3_Fig11_HTML.jpg

图 3-11

本地存储库初始化消息

如果选择了设置远程,则指定要连接的远程存储库的 URL。在 GitHub 中,在连接之前创建一个远程存储库。如第 1 章所示,打开存储库并选择其 URL。该 URL(以 git 结尾)将用于 SAP Web IDE 向导的下一步。此时,如果使用 Git,可能需要选择“为 Gerrit 添加配置”,并在图 3-12 中选择 OK。Gerrit 是一个与 Git 一起工作的代码审查特性。

因为 GitHub 上没有设置 SSO,所以 GitHub 帐户的身份验证是通过 SAP Web IDE 使用凭证完成的(基本身份验证)。

img/498901_1_En_3_Chapter/498901_1_En_3_Fig12_HTML.jpg

图 3-12

配置远程存储库

如图 3-13 所示,提供认证 GitHub 账户的凭证。

img/498901_1_En_3_Chapter/498901_1_En_3_Fig13_HTML.jpg

图 3-13

Git 认证提示

如果通过验证,将会收到一条获取初始提交的消息,如图 3-14 所示。

img/498901_1_En_3_Chapter/498901_1_En_3_Fig14_HTML.jpg

图 3-14

初始 GIT 提取

SAP Web IDE 初始化了主分支,并将开始跟踪未来的变化。由于项目最初是用数据库模块创建的,所以额外的未决变更需要像前面所做和显示的那样进行准备、提交和推送。这个工具的一个很好的特性是它能够跟踪未决的变更。它允许开发人员输入注释,此外,它还有一个从命令行模拟 git 命令的界面。值得注意的是图 3-15 中几件非常重要的事情:

  1. 工作区上的**显示当前项目被映射到一个外部存储库。

  2. 映射的分支是主分支。它在项目部分显示方括号,也是从 Git 窗格的下拉列表中选择的。

  3. 任何挂起的更改都列在 Git 窗格中(右侧导航菜单)。只需点击一下鼠标,就可以分阶段、提交和推送这些变更——不要忘记提供有意义的注释;否则,将不会启用提交和按钮。

img/498901_1_En_3_Chapter/498901_1_En_3_Fig15_HTML.jpg

图 3-15

从 SAP Web IDE 到远程 GIT 存储库的初始提交

继续初始提交–如果收到错误,则首先执行拉取(在远程存储库的初始映射之后,如图 3-16 所示)。最初需要一个拉力。

img/498901_1_En_3_Chapter/498901_1_En_3_Fig16_HTML.jpg

图 3-16

来自 SAP Web IDE 控制台的 GIT 消息

成功拉取后,一些提交可能会显示为挂起状态(在库: wavepress 所在行的末尾带有向上箭头的数字显示在图 3-17 中)。初始拉取完成后,继续运行推取命令(注意按钮已被启用)。

img/498901_1_En_3_Chapter/498901_1_En_3_Fig17_HTML.jpg

图 3-17

SAP Web IDE GIT 窗格主分支

从控制台日志来看,在图 3-18 中,拉和推操作的消息显示为正确完成。

img/498901_1_En_3_Chapter/498901_1_En_3_Fig18_HTML.jpg

图 3-18

从 SAP Web IDE 控制台拉和推请求消息

返回 GitHub 库,查看并对比推送操作前后的库(如图 3-193-20 )。

img/498901_1_En_3_Chapter/498901_1_En_3_Fig20_HTML.jpg

图 3-20

从 SAP Web IDE 推送代码后的 GIT 存储库

img/498901_1_En_3_Chapter/498901_1_En_3_Fig19_HTML.jpg

图 3-19

GIT 存储库显示了提交 SAP Web IDE 之前的

在工作区(SAP Web IDE)中,注意当代码在 SAP Web IDE 和 Git 存储库之间同步时,**符号也变成了一个不同的标识符,即单点。继续下面一组相关的更改,并向消息框添加额外的提交(遵循提交通常较小的相关更改的最佳实践(图 3-21 ))。

img/498901_1_En_3_Chapter/498901_1_En_3_Fig21_HTML.jpg

图 3-21

代码文件显示一个代表更改跟踪的图标

数据库浏览器

数据库浏览器是 SAP Web IDE 附带的一个工具,有助于连接到 SAP HANA 系统中的 HDI 容器和经典 SQL 模式。数据库资源管理器允许开发人员从 SQL 控制台运行 SQL 查询。它还允许查看各种对象,如表、列视图、过程、任务、触发器和同义词。当需要在经典环境模式中创建对象(非容器、基于运行时的对象)时,Database Explorer 用于开发、调试、测试和运行命令。可以从数据库浏览器建立一个或多个数据库连接,如图 3-22 所示。

img/498901_1_En_3_Chapter/498901_1_En_3_Fig22_HTML.jpg

图 3-22

数据库浏览器中显示的多个数据库连接

熟悉数据库浏览器及其特性的第一个也是最简单的方法是从 SAP Web IDE 工作区创建一个数据库模块。第一次访问数据库浏览器时,它将允许创建到 HDI 容器(如第 2 章所示)或经典 SQL 模式的连接。在项目中创建数据库模块后,开发人员可以查看、查询和修改属于同一容器的数据库对象。在真实世界的场景中(在第 2 章中描述),将会有模型和过程在 HDI 容器和经典模式中交互。创建混合数据模型和其他数据库工件的需求是正常的开发活动。当使用来自 HDI 和经典模式对象的工件时,CUPS、HDB 授权和同义词的创建是先决条件。如图 3-23 所示,在构建了相应的模块并建立了与数据库容器/模式的连接后,可以从 SQL 控制台查询同义词和经典对象。下面是一些使用设备和虚拟(图 3-24 同义词的查询。

img/498901_1_En_3_Chapter/498901_1_En_3_Fig24_HTML.jpg

图 3-24

虚拟表的同义词

img/498901_1_En_3_Chapter/498901_1_En_3_Fig23_HTML.jpg

图 3-23

使用同义词显示查询的 SQL 控制台

在分析数据库开发时,可以利用 Database Explorer 中的一些非常重要的特性,如解释计划和 SQL 分析器。

解释计划通过将运行 SQL 语句的过程分解为涉及的数据库对象、涉及的操作符、连接细节和执行操作的时间来提供帮助(图3-25)。4

img/498901_1_En_3_Chapter/498901_1_En_3_Fig25_HTML.jpg

图 3-25

解释计划

SQL 分析器提供了一种不同类型的分析。

概览页签中(图 3-26 ),“编译对执行”的时间显示在第一部分。在排除性能故障时,本节有助于排除数据库对象的故障。

Overview 选项卡中的另一部分是 SQL 性能建议。目前还没有。当分析更复杂的语句时,可以填充此部分。

该选项卡中的第三部分是主要的操作符部分,在这里可以看到数据库模型中不同 Node 和执行的性能指标。

最后,Statistics 部分包含来自系统的信息、执行的视图、输出的记录数以及 SQL 语句执行期间分配的内存。

img/498901_1_En_3_Chapter/498901_1_En_3_Fig26_HTML.jpg

图 3-26

概观

在概览部分的底部,有一个不同的表格网格表示。

操作符选项卡,图 3-27 ,显示了预测中使用的表格和其他指标,如执行和 CPU 时间等。

img/498901_1_En_3_Chapter/498901_1_En_3_Fig27_HTML.jpg

图 3-27

经营者

下一个选项卡是时间轴(图 3-28 )。在这个选项卡中,时间线以毫秒为间隔递增地显示从底部投影到语义层发生的事情。在分析这些片段时,会出现不同类型的执行视觉效果,因为它们可能更大或更小,这取决于完成的总时间。

img/498901_1_En_3_Chapter/498901_1_En_3_Fig28_HTML.jpg

图 3-28

时间表

使用中的表格在图 3-29 中不言自明;简单信息模型显示了一个表的投影。

img/498901_1_En_3_Chapter/498901_1_En_3_Fig29_HTML.jpg

图 3-29

正在使用的表格

在表格访问页签中,只有一个表格,如图 3-30 所示。然而,这些步骤和过程被显示为好像它们是在上下文中的查询执行期间发生的。

img/498901_1_En_3_Chapter/498901_1_En_3_Fig30_HTML.jpg

图 3-30

表访问

**在编制概要中,**展开各节查找详细信息,如图 3-31

img/498901_1_En_3_Chapter/498901_1_En_3_Fig31_HTML.jpg

图 3-31

汇编摘要

编制概要在图 3-32 中展开。

img/498901_1_En_3_Chapter/498901_1_En_3_Fig32_HTML.jpg

图 3-32

汇编摘要-时间分解

建议总览页签和图 3-33 *。*没有适用于此数据库模型的。

img/498901_1_En_3_Chapter/498901_1_En_3_Fig33_HTML.jpg

图 3-33

推荐

概览页签旁边是图 3-34 中的平面图页签。大多数拥有 SAP HANA 1 经验的开发人员将很快熟悉这一部分,因为它几乎是 SAP HANA Studio 中查询计划执行的精确副本。它现在出现在 SAP Web IDE 的数据库浏览器中。计划图将在图形表示中从上到下显示信息模型中正在执行的各种 Node。图中的 Node 包含非常有用的信息,比如从一个 Node 返回到下一个 Node 的记录数。从底部 Node 向上执行时,还会出现时间和增量时间。该表示中显示的其他指标包括独占时间、当前操作符执行时间和完成查询的时间。

img/498901_1_En_3_Chapter/498901_1_En_3_Fig34_HTML.jpg

图 3-34

平面图

最后, SQL 页签显示执行的 SQL 语句,如图 3-35 所示。

img/498901_1_En_3_Chapter/498901_1_En_3_Fig35_HTML.jpg

图 3-35

SQL 语句

SAP SAP XS 高级驾驶舱

如图 3-36 所示, SAP HANA XS 高级驾驶舱是一个主要用于 SAP HANA XS 高级开发团队领导和 XSA 系统管理员的工具。该工具允许开发人员/管理员浏览 XSA 组织并查看空间、用户、角色、应用和服务实例。SAP SAP XS 高级驾驶舱着陆屏幕如图 3-36

img/498901_1_En_3_Chapter/498901_1_En_3_Fig36_HTML.jpg

图 3-36

SAP SAP XS 高级驾驶舱

该工具可通过 SAP Web IDE 以两种方式之一访问:导航至工具、SAP HANA XS 高级驾驶舱,如图 3-37 所示。

img/498901_1_En_3_Chapter/498901_1_En_3_Fig37_HTML.jpg

图 3-37

从 SAP Web IDE 访问驾驶舱

或者从 XSA 控制器 URL,YOUR_HOST:39030(默认端口),如图 3-38 。请注意,SAP 提供的其他 XSA 应用也可以通过这些链接访问。

img/498901_1_En_3_Chapter/498901_1_En_3_Fig38_HTML.jpg

图 3-38

SAP XSA 控制器

如云铸造部分所述,了解 CF 和 XSA 结构层次。空间是组织的一部分。

在 SAP HANA XSA 的默认安装中,默认包括 开发SAP 空间。在图 3-39 中,显示了空间中当前应用的数量。还会显示关于正在使用多少资源和内存的信息。从默认的两个空间中要注意的一件重要事情是,SAP 空间不应该被编辑。这是因为其中运行的 SAP 应用包括 SAP Web IDE、XSA 驾驶舱和数据库浏览器,以及所有其他 34 个显示为已启动状态的应用/微服务。

img/498901_1_En_3_Chapter/498901_1_En_3_Fig39_HTML.jpg

图 3-39

XSA 组织

如第 1 章所述,在每个空间内部,有 应用服务 为了验证这一点,点击开发空间并进入该区域,如图 3-40 所示。此时,只创建了一个用 di-builder 构建的数据库模块。因此,它应该只显示开发空间中的一个应用。由于应用状态显示绿色的启动状态,这意味着它运行正常;如果状态显示为“已停止”,这意味着从应用日志中可以看到一些问题。

img/498901_1_En_3_Chapter/498901_1_En_3_Fig40_HTML.jpg

图 3-40

XSA 空间

3-40 非常重要,因为显示了空间内的其他细节:

  1. 钉住主机(图 3-45 )

    Currently, no Space is pinned to a host.

    img/498901_1_En_3_Chapter/498901_1_En_3_Fig45_HTML.jpg

    图 3-45

    驾驶舱固定主机

  2. 成员(图 3-44 )

    This section shows users mapped to the current Space. In the default setting of the development Space, the initial two users and their status within the Space are shown. Use these accounts as templates for other users that need to be created.

    img/498901_1_En_3_Chapter/498901_1_En_3_Fig44_HTML.jpg

    图 3-44

    XSA 空间成员(用户)

  3. 路线(图 3-43 )

    Currently, there is only one route related to the di-builder application. Later, when creating the REST API, additional routes will be shown in the Routes section.

    img/498901_1_En_3_Chapter/498901_1_En_3_Fig43_HTML.jpg

    图 3-43

    XSA 路

  4. 监控

    它显示了应用监视设置,例如应用消耗的内存量、CUPS 服务、用户模式时间、mta yaml 文件以及运行它的主机。

  5. 服务

  6. 服务市场

    这些是由框架提供的现成服务,例如 XS UAA 服务、作业调度程序、托管 HANA db 服务或 SAPUI5 服务等。

  7. 服务实例(图 3-41

    This one is very important because services can be created in different ways, and those service instances will be displayed here. In previous development steps, service instances were created (the UAA service instance) from the db module assigning access to a cross-schema service. During the earlier exercise, WAVEPRESS_SVC was used; however, some attempts yielded incorrect authentication, and consequently, those service instances are still showing here. The cleanup of these instances needs to be done with proper care so that the correct instances are removed and those being used remain untouched.

    img/498901_1_En_3_Chapter/498901_1_En_3_Fig41_HTML.jpg

    图 3-41

    XSA 海关服务

  8. 用户提供的服务(UPS)(图 3-42

    The custom user-provided services are used when the platform marketplace does not offer such services. In the current example, a UPS service for cross-schema access was created. Opening the details of the UPS, its content can be seen. Be extremely careful when granting access to the cockpit application since users with this access will be able to see the raw connection details (including credentials for the schema) for this UPS service instance. Only authorized users to sensitive system credentials should have access to the XSA cockpit.

    img/498901_1_En_3_Chapter/498901_1_En_3_Fig42_HTML.jpg

    图 3-42

    自定义服务连接详细信息

分析图 3-46 所示的 XSA 驾驶舱内的不同特征。第一节是安全。此部分允许我们查看和管理现有的角色集合(角色组)。XSA 环境的默认配置包括 XSA 开发者和 XSA 管理员的一些角色集合,如图 3-46 所示。

img/498901_1_En_3_Chapter/498901_1_En_3_Fig46_HTML.jpg

图 3-46

XSA 角色集合

信任配置(图 3-473-48 )部分允许管理员在 XSA 环境和外部系统之间建立信任连接。在此配置单点登录等设置。任何需要信任的东西都可以通过下面显示的新信任配置按钮来设置。

img/498901_1_En_3_Chapter/498901_1_En_3_Fig48_HTML.jpg

图 3-48

设置新的信任配置

img/498901_1_En_3_Chapter/498901_1_En_3_Fig47_HTML.jpg

图 3-47

XSA 信托配置

信任证书允许用户设置信任证书,以使用指定的证书(特定域证书或由全球权威 CA 签署的证书)连接到其他系统,如图 3-49 所示。或者,可以使用 XS CLI 通过使用 xs set-certificate 命令来设置证书。

img/498901_1_En_3_Chapter/498901_1_En_3_Fig49_HTML.jpg

图 3-49

设置新的信任证书

在 XS 高级驾驶舱的安全下,租户数据库项如图 3-50 所示。

img/498901_1_En_3_Chapter/498901_1_En_3_Fig50_HTML.jpg

图 3-50

XSA 驾驶舱租户数据库

主机管理部分显示 XSA 环境中的一台或多台主机,如图 3-51 所示。

img/498901_1_En_3_Chapter/498901_1_En_3_Fig51_HTML.jpg

图 3-51

XSA 驾驶舱主机管理

用户管理部分,可以从默认安装中找到默认用户和角色集合。按照这些角色集合的模式为 XSA 环境创建其他角色。这两个默认用户也是在安装 XSA 环境时创建的,如图 3-52 所示。

img/498901_1_En_3_Chapter/498901_1_En_3_Fig52_HTML.jpg

图 3-52

XSA 用户管理

点击新用户按钮并提供以下详细信息,可创建更多用户。当试图在 XSA 环境中创建用户时,最简单和最好的方法如图 3-53 所示。

img/498901_1_En_3_Chapter/498901_1_En_3_Fig53_HTML.jpg

图 3-53

创建新用户

从 XSA 驾驶舱创建 XSA 用户的替代方法是迁移 SAP HANA 用户,如图 3-54 所示。SAP HANA 用户的迁移必须仔细规划和执行,因为这些用户的某些属性可能不会始终正确迁移。如果组织决定采用这种方法,请仔细验证新的 HANA XSA 环境中的用户创建和用户访问。

img/498901_1_En_3_Chapter/498901_1_En_3_Fig54_HTML.jpg

图 3-54

XSA 迁移 SAP HANA 用户

强调 SAP HANA XSA 驾驶舱登录页面的两个链接非常重要:

  1. 有用链接–这将重定向到与本节和开发人员教程相关的文档。为了理解这个工具,浏览这个链接并花些时间是值得的。

  2. 法律信息–这与许可条款有关。

邮递员休息客户端

POSTMAN REST 客户端是一个工具,它为开发人员提供了 REST API 请求场景的模拟,而无需构建成熟的应用或 API。POSTMAN REST 客户端工具是一个免费工具,可以从任何浏览器下载。还有其他类似的工具可以允许执行类似的任务(例如,发出 REST API 请求)。但是,他们可能有额外的许可和定价要求。出于演示的目的,POSTMAN REST 客户端将被用作演示该 API 的开发和单元测试的首选工具。

在大多数软件系统和编程语言中都有控制台、浏览器,或者在 ide 中,开发人员可以执行单元测试并验证他们的开发。在某些软件场景中,需要或建议使用额外的硬件或软件。开发 REST APIs 时,开发人员需要测试 GET、POST、PUT 和 DELETE 等 HTTP 方法。这些 HTTP 方法中的每一种都需要不同级别的测试。最容易测试的 HTTP 方法是 GET 方法。它的请求只从系统中读取数据。开发人员可以在拥有互联网连接(如果访问网络外的服务)的情况下,通过浏览器 URL 轻松完成 GET 请求。其他 HTTP 方法的测试要稍微复杂一些,因为任何改变系统状态的操作(PUT、POST、DELETE)都需要在与后端系统(OAuth 令牌)交互之前由 API 的消费者提供额外的安全级别。

在第 1 章第 1.2 节中,提到在请求访问资源时有一些安全考虑。此外,软件系统使用的某些协议和行业标准被强制执行以保护这种软件系统的完整性和数据的敏感性。此外,在第 1 章第 1.2 节中,提到了一个名为 UAA 的托管服务。还解释了它如何使用 OAuth 2.0 来接受请求、分析请求的各个部分、验证请求并返回访问令牌或者拒绝对后端资源的访问。

POSTMAN REST 客户端工具的附加特性允许创建工作区来分离单元测试、手动测试和自动化测试。它允许使用 POSTMAN API 命令集成到持续集成和交付管道中。请访问 POSTMAN 网站了解更多规则和定价详情。

开始 POSTMAN REST 客户端测试需要做什么?

首先,从浏览器下载该工具并接受许可条款,因为它适用于将使用它进行开发和验证的组织/团队所支持的版本。然后,将测试分解成如何在这个工具和他们的开发中使用。根据逻辑工作单元看起来如何合适来分离 API 调用,例如,按环境、按端点、按 API(如果您有多个 API)。

首先测试一些免费的在线 API 端点来展示工具的这一部分。当进入练习 API 时,第 4 章将展示将要构建的实际项目中的 POSTMAN 请求。

打开工具,点击新建。

提供请求的详细信息,并选择(或创建)一个集合来保存请求。集合类似于邮递员组织请求的文件夹。这里显示的集合称为测试 API,包含一个称为测试 API 的请求(图 3-55 )。在请求中,添加一些细节,比如 Method= GET ,URL = {一个在线找到的免费 URL },如果不需要设置其他请求参数,比如请求头或身份验证,就发送请求。

img/498901_1_En_3_Chapter/498901_1_En_3_Fig55_HTML.jpg

图 3-55

邮递员

点按“发送”后,查看几个重要的详细信息:

  1. Figure 3-56 shows the response (bottom half of the screen) containing the Status (200), the Time it took to receive a response (39ms), the Size of the payload (689B), the response in JSON format, a cookie, and some Response Headers. This is a very basic request, but it shows most of the details of the request and the response from the POSTMAN tool toward an external service.

    img/498901_1_En_3_Chapter/498901_1_En_3_Fig56_HTML.jpg

    图 3-56

    邮差请求示例

要查看来自另一个工具的相同请求以验证 POSTMAN 请求,请将相同的 URL 复制到浏览器窗口中并发送它。如果将这个例子用于实践,由于身份验证(在 Authorization 选项卡内)和一些请求头(headers 选项卡)的原因,需要传递额外的参数来发送和接收 JSON 格式的数据。请求的输出可以在图 3-57 中看到。

img/498901_1_En_3_Chapter/498901_1_En_3_Fig57_HTML.jpg

图 3-57

浏览器上的免费 REST API 和网络选项卡

虽然同一个请求可以通过两个不同的工具进行验证,但是在实际的项目开发中只会显示 POSTMAN REST 客户端工具。需要注意的是,不能从浏览器模拟 POST、PUT 和 DELETE 只能从浏览器地址栏验证 GET 请求。

结论

在本章结束时,您应该能够理解 SAP Web IDE 的不同变体,它是在 SAP HANA XSA 环境中开发微服务的主要工具。还有其他工具用来保持我们的软件同步,并存储在外部代码库中。随着开发团队的成长,需要这些代码库工具能够并行地进行代码修复和新特性开发。数据库资源管理器突出显示了附加的故障排除功能,以解决数据库模型和存储过程的性能问题。