SAP BTP 上使用 Mobile Back-End Tools(MBT)进行全栈开发的方法概述

Understand Full-Stack Development with Mobile Back-End Tools

从本质上讲,MBT 是一组工具,可让您无需编写一行代码即可生成功能齐全的 OData Web 服务。 这些工具旨在透明地将 OData 模型转换为持久性,并提供透明的 OData 功能,包括开箱即用的增量计算。

除了过度简化之外,MBT 作为 SAP 移动服务的一项功能,是一组工具,旨在解决移动应用程序同步离线功能时可能出现的若干挑战。

因此,它们提供(可选)功能,例如目标集成(作为缓存)、下载跟踪、客户端过滤器和进一步的自定义。

MBT 可作为 Visual Studio Code 的市场扩展或作为 SAP Business Application Studio 的一部分在“SAP 移动应用程序”的预设中使用。

本教程及其任务将向您介绍移动后端工具缓存数据库的可能用法。 它旨在通过技术引入技术提供简化方案,同时保持对试用用户的要求。

您可以在 SAP 业务技术平台 (BTP) 或本地(在 Apache Tomcat、TomEE 或 Eclipse Virgo 上)运行如此生成的 OData 服务。

如果您计划在 SAP BTP 中运行生成的服务:

  • SAP Business Application Studio 将是大多数开发人员的更好选择,因为它允许您在设计时和运行时利用相同的环境。

  • CSDL 图形建模器仅在 SAP Business Application Studio 中可用。

  • 作为云解决方案的 SAP Business Application Studio 将使用 SAP Mobile Services 的预设开箱即用,并且不需要手动设置开发环境以及与操作系统无关。

如果您计划在本地架构中运行生成的服务:

  • 您仍然可以通过 SAP Cloud Connector 将其连接到 SAP Mobile Services,但您可能希望在本地架构中生成和开发服务,利用移动后端工具的 Visual Studio Code 扩展

  • 对于 Visual Studio Code,您需要在本地设置自己的环境。

下图描绘了移动解决方案上下文中基于 MBT 的服务的示例架构:

SAP BTP 上使用 Mobile Back-End Tools(MBT)进行全栈开发的方法概述

在本教程的任务中,目标系统作为公开可用的 HTTP 目标连接。 在实际场景中,如果是云系统,您可能会以类似的方式连接系统,如果是内部部署系统,则可以通过 SAP Cloud Connector 连接系统。

Role of CSDL and database

OData 定义模型和操作的声明方式的工作方式允许 OData 操作和实际数据库上的操作之间的映射。

因此,通常 MBT 的中心起点是元数据文件,分别是 Common Schema Definition Language (CSDL) 文件。 在 SAP Business Application Studio 中,MBT 可以利用 CSDL 图形建模器来简化 OData 模型的使用。

一方面,MBT 提供可运行的任务,生成数据库持久性或持久性描述符 (SQL),反映整个 OData 模型。 另一方面,MBT 可以基于现有的数据库表构建透明的 OData 服务。

根据运行时支持不同的数据库类型。 以下数据库可能例如 在某些环境中与工具一起使用(Derby 和 H2 仅用于测试,请参阅文档和/或产品可用性矩阵以获取官方支持声明):

  • SAP ASE

  • Apache Derby

  • H2 database

  • SAP HANA

  • Azure SQL or Microsoft SQL Server

  • Oracle Database

  • PostgreSQL

  • SAP SQL Anywhere

Benefit of caching mobile app data

在企业环境中构建的大多数应用程序都不是独立的用例,而是必须集成到现有的生态系统、数据和业务流程中。 因此,MBT 提供将 OData 服务上的操作链接和映射到另一个接口上的操作。

通常,在开发新的移动应用程序时,您必须选择最适合您的架构的技术。 因此,您可以在源系统上构建新服务、将数据复制到另一个系统或缓存数据的相关部分以方便使用移动消费。

如果您想在遗留接口之上构建服务,如果您想减少引用系统上的负载,或者如果您想添加更高效的增量功能以获得更好的客户端应用程序用户体验,而无需修改后台,这可能会派上用场 -端接口。

Benefit of client registrations

在 MBT 中,除了用户身份之外,客户端注册还反映了一种特定的离线数据存储。 这种识别允许在基于时间戳的计算之外进行精确的更改确定,特别是与客户端过滤器结合使用。

客户端注册要求服务包含一个实体,离线商店在该实体上使用 uuid 进行注册。 此 ID 必须与 HTTP 标头 Client-Instance-ID 中的任何即将到来的用户请求一起发送。

What is a Client Filter?

许多用例应允许用户选择可以将哪些数据下载到客户端数据库中。

这可以例如是地理、组织或历史要求。 因此,MBT 允许在特定离线商店的自定义下载查询中利用 ClientFilter 注释的实体。

注册到服务后,客户端因此可以将一个或多个实体上传到过滤器实体,以管理从其他实体下载的数据。

例子:

在特定日期在特定区域工作的销售代表可以上传过滤器,以仅检索过去两年内该特定区域客户的销售订单的客户数据。

更多Jerry的原创文章,尽在:“汪子熙”:
SAP BTP 上使用 Mobile Back-End Tools(MBT)进行全栈开发的方法概述

上一篇:[C#]清理数据库日志


下一篇:如何用 SAP BTP 平台上的图形建模器创建一个 OData 服务