目录
挑战
架构概述
数据
用户接口
使用Microsoft Dataverse
创建Dataverse表
构建应用程序
创建用户界面
建立右侧
构建左侧
连接两侧
下一步
这是一个3部分系列的第1部分,介绍了融合开发的概念,并使用一个实际的用例从专业开发人员的角度展示了它是如何工作的。本文演示了普通开发人员如何使用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 DataverseDataverse是用于业务应用程序的安全数据存储。数据驻留在一组Dataverse表中,其中许多面向业务的功能可用于处理数据。
根据架构,Dataverse是只有Power App使用的存储空间。因此,普通开发人员只需要操作一组本地数据,保护它们不与后端一起工作并维护SQL数据库的数据完整性。Dataverse是将UI应用程序与后端分离的关键。
在本教程的这一部分中,我们将在Dataverse表中手动输入这些数据。未来的文章将演示如何通过公开可用的API将来自SQL后端的数据插入Dataverse。
创建Dataverse表我们使用Maker Portal来管理Dataverse表。
Dataverse表位于Dataverse数据库中。因此,要创建Dataverse表,我们首先创建一个Dataverse数据库。单击数据>表>创建数据库。然后,按照提示创建数据库。Power Apps构建了一组标准表以供业务使用,例如帐户、用户、地址和反馈。
然后,单击New table按钮以创建以“ ReservationCode”为Primary Name Column的Reservation表。
此外,该表将具有以下列:
- 客户名称(文本)
- 入住时间(日期和时间)
- 服务(选择)
- 评论(文本区域)
services列具有Choices数据类型。选项是可以与服务列关联的已定义选项集。Power Apps负责验证,并且只允许将指定的选项与列关联。
注意Choices中的复数形式。可以将列定义为选项字段,因此只有一个选项适用于该列。
接下来,我们将构建应用程序并输入一些数据。
构建应用程序接下来,我们将使它的应用程序将显示所有预订的列表和一个编辑表单,供员工为客人办理入住手续。
转到Power Apps菜单并单击创建>从空白画布应用创建以创建应用。然后,提供一个名称以创建一个空白应用程序。
创建表单涉及创建UI、将表单连接到Dataverse表字段以及连接“保存”按钮。
创建用户界面首先,单击顶部的New Screen按钮并选择Split-Screen以创建UI。
选择正确的容器后,插入一个Edit Form。编辑表单将位于应用程序的右侧。
此操作会自动将表单放置到容器上。
然后,单击Connect to Data以使“Reservations”表对应用程序可用。
选择编辑表单,然后在Data Source属性下选择Reservations 。使用编辑字段按钮添加字段以收集预订代码、客户姓名、入住时间、服务和评论。请注意每个字段如何对应于分配给表的类型。
现在,重新排序字段。
请注意,Power Apps已在几分钟内创建了一个编辑表单,而专业开发人员通常需要数小时才能完成。
随意探索编辑表单中可用的其他UI选项。
制作提交按钮
选择容器后,插入一个按钮。它出现在编辑表单下方。使用属性窗格将其文本更改为“提交”。
在其属性选择上找到Advanced选项卡并将OnSelect属性更新为SubmitForm(Form1)。
Form1是表单的名称。更改表单名称也会自动更新命令。
现在,单击“预览”以查看应用程序到目前为止的外观。
不输入任何内容,单击提交。验证提示出现,指示缺少数据,开发人员无需花费时间编写该功能。
输入预订代码、日期和时间,然后单击提交。Reservations表中将出现一个新条目。
接下来,本教程将演示如何在应用的左侧显示数据。
构建左侧选择左侧后,插入一个Text input,然后使用右侧的属性窗格对其进行重命名为textSearch。此操作在左侧容器的顶部插入一个文本框。
然后,在选择容器的情况下,插入一个Vertical Gallery(在Layout下)。
与编辑表单类似,垂直画廊应使用Reservations作为Data Source。请注意,所有输入的信息现在都可以在图库中使用。同样,将字段更新为Reservation Code和Customer Name。
如果需要,选择不同的布局。此处的示例使用标题和副标题布局。
现在,在Advanced选项卡上,将Items(在Data下)更新为以下内容:
Filter(Reservations,StartsWith('Reservation Code', Trim(textSearch.Text)))
此代码告诉图库过滤以文本输入字段中输入的文本开头的预订代码。
接下来,单击Preview,预订应显示在应用程序的左侧。但是,右侧应响应左侧的选择。
连接两侧连接两侧只有两个步骤:
- 将所选项目设置为变量,例如selectedItem。
- 更新要链接到selectedItem的表单。
首先,在左侧,再次转到垂直图库上的Advanced选项卡,在Action下找到OnSelect,并将其设置为Set(selectedItem, Gallery1.Selected)。此操作创建一个名为selectedItem的变量并将其设置为Reservations表的选定项。
然后,在右侧,转到表单的Advanced选项卡,并将Item属性(在Data下)更改为“selectedItem” 。
单击预览以查看应用程序的运行情况。无代码Power App现已完成。
本文演示了普通开发人员如何制作功能性应用程序来为酒店客人登记现有预订。没有编码经验的业务用户可以使用Power Apps快速添加他们需要的功能。
以下文章将演示将此应用程序连接到后端并调用第三方应用程序的服务调用。稍后,第三篇也是最后一篇文章将解释专业开发人员如何在Dataverse表格中插入数据,在酒店经理不了解后端的情况下完成整个流程。
继续阅读以下文章,将Power App连接到后端。
要了解如何加速基础应用程序开发,请查看开发人员的低代码应用程序开发 7 步指南。
https://www.codeproject.com/Articles/5327552/Fusion-Development-for-Hospitality-Apps-Part-1-Bui