为移动应用程序提供高效的后端服务,实现移动应用的协同功能

MobileTogether Server 高级版的服务在后端服务器上运行,为移动应用程序提供支持,其执行过程与任何运行在移动设备上的应用程序相互独立,并且基于多种触发条件。MobileTogether 服务可以为移动应用程序提供后台功能,或者执行完全自动化的独立操作,而无需任何用户与移动应用程序进行交互。例如,一个 MobileTogether 服务可以在指定时间生成报告,并将报告通过电子邮件发送给服务器管理员。或者,一个服务可以根据某些外部条件查询数据库,并执行操作,例如发送通知或电子邮件。

MobileTogether Server 服务是一组部署到服务器上的 MobileTogether Designer 操作,这些操作被打包成一个专门的解决方案文件。

MobileTogether 服务在后端服务器上为移动应用提供支持,虽然它们与移动应用共享一些功能,但本身不具备用户界面。例如,这些服务可以使用与移动应用完全相同的各种数据来源,包括 XML、HTML 或 JSON 数据结构、HTTP/FTP 请求、数据库或 XQuery 树。

已经熟悉跨平台开发工具 MobileTogether Designer 的开发者, 快速移动应用开发 (RMAD) 将能够利用其经验,快速设计服务方案。

通过在“MobileTogether 设计器”文件菜单中选择“新建服务”,可以创建一个“MobileTogether 服务器”服务。这将打开一个简化版的“设计器”。由于服务不需要任何移动应用程序界面,因此用于页面和用户控件的辅助窗口将处于非活动状态。

让我们创建一个服务,该服务会查询销售数据库,以获取每日销售产品的数量,将查询结果转换为结构化的XML数据,然后将包含XML数据的邮件发送给销售管理员,并将通知发送给选定的公司高管。我们将使用MobileTogether公司销售演示应用程序中包含的销售数据库,该应用程序会随着MobileTogether Designer的自动安装而安装,并部署在MobileTogether演示服务器上。

我们的服务需要进行数据库查询,并且需要一个XML结构,就像下面的“页面源代码”截图所示

该服务还包含一个名为“触发器”的结构,该结构将存在于 MobileTogether 服务器上。 我们将在部署该服务时,进一步定义这些触发器。

一旦完成了“页面来源”(Pages Sources)的设置,我们就可以定义“MobileTogether 操作”(MobileTogether Actions),这些操作将在服务运行时执行。通常用于创建移动应用页面布局的“设计面板”(Design Pane),现在包含一个大型按钮,点击该按钮可以打开“服务操作树”(Service Action Tree),我们将在其中定义服务的各项操作。以下截图展示了所有可用于 MobileTogether Server 服务的可用操作列表:

请注意,所有与页面导航、用户界面或用户功能相关的“MobileTogether”操作都已显示为灰色,以表明这些功能在移动应用程序的后端服务器上不可用。

MobileTogether Server 服务执行一系列操作,这些操作可能包含多个步骤,并且可以执行复杂的条件逻辑(例如,如果-则-否则),调用在单独的动作组中定义的子程序等。

我们的销售报告服务执行以下操作:该服务首先执行数据库查询,然后循环处理查询结果,并更新 XML 结构。最后,它会调用操作组,以发送电子邮件和推送通知。

以下是针对指定收件人的“发送邮件”操作组

该邮件功能允许我们将 XML 数据作为附件发送,而无需在任何其他位置保存任何临时文件。

以下是用于推送通知的操作组。我们可以通过用户的 MobileTogether 用户名,向三位用户发送推送通知。

推送通知功能还可以让我们向 MobileTogether 解决方案发送数据。由于“公司销售”应用程序本身会针对销售数据库执行一系列查询,因此我们不需要为此推送发送任何数据。

移动应用后端服务器的服务可以通过“移动应用设计器”文件菜单中的“部署”选项进行部署。服务部署对话框中包含一个特殊选项,用于打开“移动应用服务器”的网页界面,并定义触发器,这些触发器将执行该服务

有三种类型的触发器可以执行该服务:定时器、文件系统变化(例如,监控的热文件夹或文件),以及HTTP触发器。为了进行初步测试,我们可以定义一个定时器,使其只执行一次该服务:

计时器启动执行过程,服务器日志视图显示执行成功。位于顶部的“已完成”条目表明执行成功,而紧随其下的条目则详细记录了执行过程,从数据库查询开始。

为了节省空间,我们截取了部分屏幕截图,但它实际上涵盖了整个流程,直到生成电子邮件和发送通知。

以下是邮件附件,以窗口形式在 Altova XMLSpy XML 编辑器 中显示:

以下是发送到安卓设备和iPhone上的通知示例:

当任何接收者点击通知时,公司销售应用程序将会启动,并提供当天销售情况的详细信息。

测试结果完全符合我们的预期,因此我们可以定义一个新的触发器,每天在工作时间结束后执行该服务

亲自体验一下,如何在后端服务器上轻松定义移动应用的各项服务,并通过使用免费的MobileTogether Designer,构建拥有众多高级功能的、跨平台的移动应用。