酒店应用融合开发(第一部分):构建酒店 Power App





0/5 (0投票)
如何使用 Microsoft Power Apps 等低代码解决方案创建自给自足的应用。
虽然使用软件即服务 (SaaS) 应用程序可以带来好处,但这些现成的应用程序并不总是能满足我们的需求。即使我们构建自定义应用程序,遵循了规范,也可能无法交付满足用户期望的产品。毕竟,不同的人对相同的语言有不同的理解。用户期望与开发人员交付的产品之间的这种不匹配会导致不必要的延迟和额外的开发周期。
诸如敏捷开发和领域驱动设计之类的工具确实有助于缓解沟通问题。但如果用户能够完全按照自己的意愿构建用户界面 (UI) 呢?这种方法将为我们和用户节省时间和精力。
随着低代码解决方案的兴起和成熟,这种融合开发方法现在已成为一种可行的选择。融合开发使开发人员能够快速构建原型,几乎无需或只需最少的编码工作。用户成为“公民开发者”。
尽管用户可以快速获得所需的功能,但在许多情况下,组织还拥有内部或 SaaS 后端系统。为了充分利用他们新的无代码或低代码应用程序,用户需要将其与后端集成。但他们可能缺乏技术专长。作为专业开发人员,我们可以构建连接新应用程序与组织后端的连接器。
本系列文章共三部分,探讨酒店如何利用融合开发来扩展其现有的预订应用程序,包括使用 Microsoft Power Apps。首先,公民开发者将创建一个连接到 SQL Server 数据库的 Power App。他们现在可以快速搜索客人的预订信息,输入附加信息,并将入住数据保存到 Dataverse 表中。
本系列的后续文章将探讨专业开发人员如何介入以创建事件中心。事件中心将接收 Dataverse 事件和一个 Python Azure 函数,用于读取入住信息,然后调用外部服务的 API 以将客人标记为已入住。
然后,我们将扩展 Azure 函数以接收有关以前入住的信息,并使其在 Power App 中可用。所有这些都将有助于酒店员工提供更好的客户服务。
挑战
客人抵达酒店时,通常会排队办理入住手续——在长途飞行或紧张的驾驶后,这是一种令人沮丧的体验。假设一位富有创意的客户服务经理意识到他们可以做得更好,因此他们决定创建一个无代码应用程序以加快入住速度。客人可以在酒店休息室放松,直到有员工前来完成入住手续。
尽管此应用程序前景广阔,但公民开发者不知道如何将其新应用程序连接到酒店现有的入住软件。
当客人进行预订时,现有应用程序会将预订信息存储在数据库中。酒店经理希望收集有关客人的附加信息,并希望在同一客人再次光临时提供更好的服务。后端目前不支持此类数据,但客户服务代理需要这些信息来提供个性化体验。
因此,应用程序需要
- 查找客人姓名或预订代码。
- 收集附加信息。
- 提供有关以前入住的信息,以便客户服务代理可以通过个性化优惠来定制他们的体验。
由于酒店经理正在构建此应用程序,因此他们缺乏操作数据的技术知识。这意味着 Power App 必须与酒店的预订数据库隔离。
架构概述
下图显示了解决方案的整体架构。公民开发者负责使用 Power Apps 制作应用程序。作为专业开发人员,我们负责将数据从应用程序传输到后端,以及从后端传输到应用程序。
这样,酒店经理(公民开发者)就可以将所有他们需要处理的数据存储在单个表中,而不管 SQL 数据库的结构如何。因此,本文着重于在 Power Apps 中构建低代码应用程序。
数据
SQL 数据库将预订信息分布在三个表中
- 预订信息,包括日期、房间和客户
- 客户信息,包括姓名、电子邮件和电话号码
- 账单信息,例如房费和税金
下方是 SQL 数据库的图表
请记住,公民开发者无需了解后端如何组织数据。应该有一种方法可以使公民开发者免受这些技术细节的影响。
用户界面
根据架构概述,Power App 在其自己的列中使用自己的数据存储运行。
使用Power Apps Maker Portal构建数据定义和应用程序。Power Apps 可免费开始使用。
使用 Microsoft Dataverse
Dataverse 是用于业务应用程序的安全数据存储。数据驻留在 Dataverse 表集中,其中有许多面向业务的功能可用于处理数据。
根据架构,Dataverse 是 Power App 使用的存储空间。因此,公民开发者只需处理本地数据集,即可免受与后端协作的麻烦,并维护 SQL 数据库的数据完整性。Dataverse 是解耦 UI 应用与后端程序的关键。
在本教程的这一部分,我们将手动将数据输入 Dataverse 表。未来的文章将演示如何通过公开可用的 API 将数据插入 SQL 后端到 Dataverse。
创建 Dataverse 表
我们使用Maker Portal管理 Dataverse 表。
Dataverse 表存在于 Dataverse 数据库中。因此,要创建 Dataverse 表,我们首先创建一个 Dataverse 数据库。单击数据>表>创建数据库。然后,按照提示创建数据库。Power Apps 会构建一组用于业务的标准表,例如客户、用户、地址和反馈。
然后,单击新建表按钮创建Reservation
表,并将“ReservationCode
”作为主名称列。
此外,该表还将包含以下列:
- 客户姓名(文本)
- 入住时间(日期和时间)
- 服务(选项)
- 评论(文本区域)
“服务”列具有选项数据类型。选项是定义的选项集,可以与“服务”列关联。Power Apps 会处理验证,并且只允许指定的选项与该列关联。
请注意“选项”中的复数形式。可以将列定义为选项字段,这样该列只能应用一个选项。
接下来,我们将构建应用程序并输入一些数据。
构建应用程序
接下来,我们将创建一个应用程序,该应用程序将显示所有预订的列表,以及一个供员工办理客人入住的编辑表单。
转到 Power Apps 菜单,单击创建>从空白画布应用创建以创建应用程序。然后,为应用程序命名以创建一个空白应用。
创建表单涉及创建 UI、将表单连接到 Dataverse 表字段以及连接保存按钮。
创建用户界面
首先,单击顶部的新建屏幕按钮,然后选择分屏以创建 UI。
构建右侧
选择正确的容器后,插入一个编辑表单。编辑表单将位于应用程序的右侧。
此操作会自动将表单放置到容器中。
然后,单击连接到数据以使“预订”表可用于应用程序。
选择编辑表单,在数据源属性下选择预订。使用编辑字段按钮添加用于收集预订代码、客户姓名、入住时间、服务和评论的字段。请注意每个字段如何对应于分配给表的类型。
现在,重新排序字段。
请注意,Power Apps 在几分钟内创建了一个编辑表单,而专业开发人员通常需要数小时才能完成。
随意探索编辑表单中提供的其他 UI 选项。
创建提交按钮
选择容器后,插入一个按钮。它出现在编辑表单下方。使用属性窗格将其文本更改为“提交”。
在属性选择中找到高级选项卡,并将OnSelect
属性更新为SubmitForm(Form1)
。
Form1
是表单的名称。更改表单名称也会自动更新命令。
现在,单击预览以查看应用程序到目前为止的外观。
在未输入任何内容的情况下,单击提交。将出现验证提示,指示缺少数据,而开发人员无需花费时间编写此功能。
输入预订代码、日期和时间,然后单击提交。将在“预订”表中添加一条新记录。
接下来,本教程将演示如何显示应用程序左侧的数据。
构建左侧
选择左侧后,插入一个文本输入,并使用右侧的属性窗格将其重命名为textSearch
。此操作将在左侧容器的顶部插入一个文本框。
然后,选择容器后,插入一个垂直库(在布局下)。
与编辑表单类似,垂直库应使用“预订”作为数据源。请注意,所有输入的信息现在都可以在库中找到。同样,将字段更新为预订代码和客户姓名。
如果需要,可以选择不同的布局。此示例使用标题和副标题布局。
现在,在高级选项卡下,将 Items(在数据下)更新为以下内容:
Filter(Reservations,StartsWith('Reservation Code', Trim(textSearch.Text)))
此代码告诉库筛选以在文本输入字段中输入的文本开头的预订代码。
接下来,单击预览,预订应显示在应用程序的左侧。但是,右侧应响应左侧的选择。
连接两侧
连接两侧只需要两个步骤:
- 将选定项设置为变量,例如
selectedItem
。 - 更新表单以链接到
selectedItem
。
首先,在左侧,再次转到垂直库的高级选项卡,在操作下找到OnSelect
,并将其设置为Set(selectedItem, Gallery1.Selected)
。此操作将创建一个名为selectedItem
的变量,并将其设置为“预订”表的选定项。
然后,在右侧,转到表单的高级选项卡,并将 Item 属性(在数据下)更改为“selectedItem
”。
单击预览以查看应用程序的运行情况。无代码 Power App 现在已完成。
后续步骤
本文演示了公民开发者如何创建功能性应用程序来为现有预订办理酒店客人入住。没有编码经验的业务用户可以使用 Power Apps 快速添加他们所需的功能。
下一篇文章将演示如何将此应用程序连接到后端并调用第三方应用程序的服务。稍后,第三篇也是最后一篇文章将解释专业开发人员如何将数据插入 Dataverse
表,从而完成整个流程,而酒店经理对此一无所知。
继续阅读下一篇文章,将 Power App 连接到后端。
要了解如何加速基础应用程序开发,请参阅低代码应用开发人员的 7 步指南。