为先前创建的应用启用多租户

学习目标

  • 为先前创建的应用启用多租户

应用的多租户

SAP Business Application Studio 的 Productivity Toolkit 提供多租户架构,使服务提供方(主机)能够通过单一微服务实例集群为多个租户提供服务。这可确保租户数据及其访问的严格隔离。在多租户架构中,租户是使用该解决方案应用的客户。

多租户模式下的应用会等待租户订阅,从而使服务提供方能够更高效地管理资源。此外,服务提供方可以轻松地为所有租户更新和维护应用,减少与管理多个实例相关的时间和成本。启用多租户为服务提供方和租户都带来了显著益处,包括降低成本、提高可扩展性和增强安全性。

延伸阅读

为 CAP 启用多租户

在多租户应用中启用外部服务

在你的应用中启用多租户

业务场景

在本练习中,你将在你的应用中启用多租户。

前提条件

为单元 3 中的每个练习创建一个新分支。如果你还没有为下一个练习创建新分支,请遵循练习 向你的项目添加移动 UI 应用 的任务 1 的步骤 2 中提供的说明。

如果你已经部署了应用,请在启用多租户之前手动取消部署该应用。

用户可以使用以下命令行来取消部署多目标(MTA)应用:RiskManagement)。

为此,请打开一个新终端并复制粘贴以下命令行:

cf undeploy RiskManagement --delete-services --delete-service-keys -f

系统屏幕截图

步骤

  1. 在你的应用中启用多租户。用户可以从两个位置执行此操作:项目概览或指南中心。

  2. 项目概览 中,选择 项目操作 (…) 以打开上下文菜单。

  3. 选择 启用多租户系统屏幕截图

  4. 指南中心 中,选择 在你的应用中启用多租户,在 启用多租户 下,选择 启用多租户系统屏幕截图

  5. 子步骤 a、b 和 c 将引导至该页面。

  6. 选择 启用多租户系统屏幕截图

  7. 选择 启用系统屏幕截图

  8. SAP Business Application Studio 将在右下角显示如下消息: 系统屏幕截图

  9. 在多租户应用中启用外部服务。默认情况下,多租户应用不会向订阅者公开目标或其他服务。但是,你可以遵循下面提供的步骤,将目标服务添加到 SAP BTP SaaS Provisioning Service 依赖项中,以允许订阅者使用它们。

  10. 在 SAP Business Application Studio 中打开一个终端。 系统屏幕截图

  11. 在 mtx/sidecar 文件夹中运行给定的命令: npm install @sap/xsenv

  12. 打开 资源管理器 并导航到 mtx/sidecar 文件夹。打开 server.js 文件。 如果 资源管理器 不可见,你可以使用以下快照中所示的步骤打开它: 系统屏幕截图

  13. 将以下代码添加到 server.js

const xsenv = require('@sap/xsenv');
cds.on('served', async () => {
const { 'cds.xt.SaasProvisioningService':provisioning } = cds.services
await provisioning.prepend(() => {
provisioning.on('dependencies', async (req, next) => {
await next()
const services = xsenv.getServices({
dest: { label: 'destination' }
})
let dependencies = [
{
xsappname: services.dest.xsappname
}
]
return dependencies
})
})
})
  1. server.js 将如下所示: 系统屏幕截图

  2. 用户也可以按照上面描述的步骤,在 SAP Business Application Studio 的指南中心的 在你的应用中启用多租户 部分中找到这些步骤。 系统屏幕截图

  3. 部署到 Cloud Foundry。 此步骤在单元 开发用于扩展 SAP S/4HANA 的风险管理应用 中有描述。你可以像之前一样执行此步骤。 如果你之前已在同一 SAP Business Application Studio 账户中部署过此应用,并且已经登录 Cloud Foundry,你也可以打开 项目概览,然后选择项目名称右侧的操作按钮。接着选择 部署项目。部署随即开始,进度可在 终端 中跟踪。

  4. 订阅你的多租户应用。

  5. 导航到你的 SAP BTP 子账户,然后在导航窗格中选择 实例和订阅

  6. 在搜索栏中,搜索你的多租户应用的目标实例(<项目名称>-destination),并选择它以打开详细信息窗格。 系统屏幕截图

  7. 选择 管理实例系统屏幕截图

  8. 在导航窗格中,选择 目标

  9. 你可以看到为你的多租户应用配置的目标。选择 编辑。在 User 和 Password 字段中,填写技术用户的用户名和密码。 系统屏幕截图

注意

技术用户是指拥有提供方 Cloud Foundry 账户相关权限的用户。

  1. 清除 Client Secret 字段。

  2. 选择 保存

  3. 订阅多租户应用。

  4. 转到 服务市场

  5. 找到已部署的多租户应用。

  6. 选择 创建系统屏幕截图

  7. 在下一步中将该值保留为默认值。

  8. 选择 创建系统屏幕截图

  9. 打开应用。

  10. 导航到你的 SAP BTP 子账户,然后在导航窗格中选择 实例和订阅

  11. 搜索 栏中,搜索该应用并选择它以打开详细信息窗格。

  12. 选择 转到应用系统屏幕截图

  13. 结果: 系统屏幕截图

  14. 测试该应用。

  15. 在应用主页中选择 风险 磁贴。

  16. 选择 执行 按钮,并检查当前数据。

  17. 选择 创建 以转到创建页面。 系统屏幕截图

  18. 在创建页面中输入数据。

  19. **supplier_BusinessPartner** 中选择 操作 按钮,以从外部服务添加业务伙伴。

  20. 从弹出窗口中选择一个值。

  21. 在创建页面中选择 创建系统屏幕截图

  22. 结果: 系统屏幕截图

  23. 新数据已创建。 系统屏幕截图

  24. 返回到 Risks 主页。 系统屏幕截图

  25. 检查数据。 系统屏幕截图