分析测试百科网

搜索

分析测试百科网 > 行业资讯 > 微信文章

STARLIMS Mobile架构

雅培信息 STARLIMS
2019.6.18

介绍

当一个组织决定他们的LIMS需要移动平台时,他们需要做的第一个技术决策是他们将使用的移动架构。移动应用程序体系架构有各种各样的方法,每种方法各有优点和缺点。

三种主要方法是本机、网络和混合。

即使在每种方法中,也有一些框架和开发工具包可用,这就进一步增加了组织在创建移动应用程序之前必须做出的选择。

通过STARLIMS Mobile架构,雅培信息化可提供基于混合的全栈移动平台,包括STARLIMS后端服务器和数据库以及基于混合的前端架构。

该架构利用行业标准的工具和组件,同时还利用STARLIMS独特的可定制性和易部署性。

移动架构方法

构建移动应用程序时可以采用三种行业标准方法:本机应用程序,移动网络应用程序或混合应用程序。

本机应用程序是其中的一种应用程序,可直接在设备的本机运营系统iOS或Android上安装和运行,通常通过Google Play Store或Apple App Store等服务平台进行安装。移动网络应用程序本质上是一个可触摸优化的网站,通常部署到网络服务器并使用移动设备的网络浏览器进行访问。

顾名思义,混合应用程序是使用本机和网络技术的组合技术。

在比较移动架构方法时,需要考虑三个主要类别:开发、部署和用户体验。

每种方法都有自己的一系列可用工具集、方法、挑战、限制和开发成本。本机方法在功能方面提供的限制最少,同时在跨平台兼容性方面也提出了最大的挑战。 网络方法提供了最佳的跨平台兼容性,同时也限制了开发人员对本机功能的访问。混合方法尝试结合本机和网络提供最佳方法,同时减少每个限制。

本机应用程序通常使用软件开发工具包(SDK)为其目标运营系统进行构建。

谷歌和苹果分别为Android和iOS提供SDK,能够构建仅与自己的运营系统兼容的应用程序。

这意味着,在通常情况下,必须开发和维护同一应用程序的两个单独的代码库。近年来,新的SDK已经可用,它允许开发人员使用单个代码库构建本机应用程序。无论使用哪种SDK,本机应用程序本质上都必须编译为在其目标运营系统上运行。

在构建本机应用程序时,开发人员可以访问各种低级和高级设备API。低级设备API用于访问设备硬件,如相机或GPS。高级设备API用于访问其他应用程序并执行检索联系人或共享内容等任务。

移动网络应用程序的核心是使用HTML5、CSS3和JavaScript构建;但是,使用前端单页面应用程序(SPA)网络框架(如Angular、React或Sencha ExtJS)构建移动应用程序的情况更为常见。

这些框架允许开发人员创建更多功能丰富的动态应用程序,这些应用程序超越了标准网络站点,其行为更像本机应用程序。网络应用程序的主要优点是它们是跨平台兼容的,只需从网络浏览器执行即可。

由于网络应用程序在网络浏览器上运行而不是直接在运营系统上运行,因此网络开发人员只能访问浏览器公开的API。现在已经存在各种JavaScript API,允许访问本机设备的硬件;但是,这些API的标准开发速度很慢,浏览器并不总是能够立即采用最新标准。随着网络平台的发展,越来越多的功能将提供给网络,但是在此功能变得可行之前,主要浏览器必须采用此功能。

混合应用本质上是包含在本机应用中的网络应用。应用程序的网络部分处理应用程序的大部分编程逻辑,并使用网络技术构建。

该应用程序的本机部分处理对低级和高级设备API的访问,并使用Apache Cordova、Ionic或Adobe PhoneGap等平台构建。这些平台提供了使用本机应用程序包装网络应用程序的工具,并提供将它们编译到目标运营系统的功能。因此,可以使用单个代码库为多个平台构建混合应用程序。

在开发混合应用程序时,开发人员很少需要触及运营系统级别的API。混合平台(例如PhoneGap)提供JavaScript API,它允许网络层访问通常不可用的功能。因此,混合应用程序的网络部分可以很容易地使用JavaScript函数调用本机设备的相机。通过这些API,混合应用程序可以由网络开发人员构建,而无需深入了解本机应用程序的内部工作方式。

由于本机、网络和混合应用程序使用不同的工具构建,因此需要提供单独的技能组合和专业化知识,因此具有不同的成本。本机应用程序开发需要Android和iOS SDK中的专业化,并非所有本机应用程序开发人员都具备这两种技能组合。

一般来说,iOS或Android开发人员的平均每小时成本约为100美元/小时1,对于需要同时雇佣两者的组织而言,这可以双倍地提高效率。

网络应用程序需要网络开发技能组,其中包括各种前端和后端网络框架的体验。这种技能往往更便宜,平均每小时65美元左右。混合应用程序开发人员基本上具有与网络开发人员相同的技能组合,因此,可以预期其成本也是相似的。

一旦开发了移动应用程序,就需要进行部署。这通常包括两个主要过程:发布(必须提供应用程序)和安装或分配(终端用户必须能够访问应用程序)。

本机应用程序可以说是最便捷的发布和安装方法。本机应用程序将发布到App Store或Play Store,并且必须通过Apple和Google的审核流程,其中包括检查应用程序是否符合其标准。此过程通常需要一周时间,并且必须在每次发布或更新应用程序时执行。如果应用被拒绝,则该过程可能需要更长时间,并且必须重新提交。但是,一旦应用程序发布,分配和安装就变得非常简单。几乎所有终端用户都已经熟悉App Store或Play Store,分配和安装就像搜索应用程序和单击安装按钮一样简单。

网络应用程序授予组织对部署的更多控制权。与任何网站一样,网络应用程序可以简单地部署到网络服务器,该服务器可以在组织的网络内部托管,也可以在网络主机外部托管。发布后,只需使用URL通过浏览器访问网络应用程序。这比本机应用程序稍微不方便些,因为URL可能并不总是如此容易部署,并且终端用户经常忘记URL。

由于混合应用程序既是本机应用程序,也是网络应用程序,因此需要考虑部署这两个组件。本机组件的部署方式与本机应用程序的部署方式相同。 网络组件可以与本机组件一起打包,或者它们可以发布到网络服务器并由本机组件远程访问。

开发移动应用程序的最终目标应该是为终端用户提供积极的体验。这不仅是指让移动应用程序能够有效地运行和执行任务,而且还能生成直观的用户界面(UI),让用户感到熟悉。要概括本机、网络和混合应用程序提供的用户体验是不可能的,但是每个平台都有自己明显的用户体验益处和挑战。

本机应用程序具有构建在iOS和Android SDK上的优势,允许开发人员创建符合Android和iOS标准的UI。拥有可重复使用的组件库,就简化了构建终端用户所熟悉的应用程序的任务。

网络应用程序技术确实提供了创建出色用户体验的能力,但是没有与本机应用程序一样使用的标准组件集。网络开发人员必须从头开始构建组件或重新使用第三方组件库。如果没有使用官方标准,每个网络应用程序的外观和感觉都会大不相同,这使得依赖熟悉程度变得极具挑战性。

就终端用户而言,混合应用程序本质上与本地应用程序相同;该应用程序是从主屏幕上启动的,预计它的行为与其他任何本机应用程序相同。这就提出了一个挑战,因为混合应用程序的用户体验是建立在网络技术之上的。必须使用网络组件库(如Ionic或Sencha ExtJS)模仿本机的组件、行为和动画。

STARLIMS MOBILE架构方法

雅培信息化为STARLIMS Mobile平台选择了混合方法;然而,它本身就是一个多层架构。即使是2个主要的本机和网络组件本身也会分成几个小组件,每个组件处理系统的不同方面。

STARLIMS Mobile的本机组件是myStarlims应用程序。该应用程序由雅培信息化在Google Play和Apple App Store中发布,可供下载给移动终端用户。 myStarlims应用程序的主要职责是利用本机设备API,提供与iOS和Android的兼容性,并连接到STARLIMS应用程序服务器。

STARLIMS Mobile的网络组件是STARLIMS应用程序服务器。该服务器是STARLIMS工作的核心,并承担着许多责任。在STARLIMS Mobile的范围内,它有一个主要职责:为移动运行环境和移动业务应用程序提供服务。移动运行环境由雅培信息化工程师构建,为应用程序开发人员提供内置功能,使移动开发更容易,包括客户端 - 服务器API、身份验证机制、导航和组件库。

移动业务应用程序由应用程序开发人员构建并执行业务运营,例如创建样本记录,输入结果或转移库存保管。

当雅培信息化谈到移动开发时,他们通常指的是移动业务应用程序开发。AI已经设计了STARLIMS移动平台,以便最大限度地进行业务开发,并抽象出开发移动应用程序所需的更深层次的技术知识,以便应用程序开发人员能够专注于业务和显示逻辑。

移动业务应用程序是STARLIMS的网络层的一部分,因此,应使用JavaScript构建,特别是Sencha ExtJS库。ExtJS是一个模型 - 视图 - 视图模型(MVVM)框架以及大型组件库,包含许多可视组件(例如按钮、面板、选项卡),其外观和行为类似于标准移动组件。这就允许开发人员创建外观和感觉像本机应用程序的应用程序,并为终端用户提供最佳的用户体验。

为了访问设备API,STARLIMS可以使用Adobe PhoneGap。PhoneGap在本机应用程序中包装网络应用程序,弥补了网络和本机之间的差距,并允许网络应用程序通过JavaScript函数使用设备API。例如,通过简单地调用函数,开发人员可以调用相机并扫描条形码,而无需了解移动相机API和条形码扫描算法如何工作的更深层的机制。

除了设备级APIs,STARLIMS还提供异步客户端 - 服务器交互API。这些API允许开发人员轻松地向服务器发送请求以检索数据或执行数据运营,也称为数据源和服务器脚本。

在STARLIMS中,混合体系结构的本机和网络部分是单独部署的。

myStarlims本机应用程序由雅培信息化发布到Play Store和App Store。终端用户只需像安装任何其他应用程序一样安装此应用程序,方法是导航到应用程序页面并按“安装”按钮。应用程序成功安装后,可通过用户友好的登陆流程与STARLIMS服务器配对。

另一方面,移动业务应用程序通过使用部件设计器发布给终端用户。部件设计器提供了根据用户角色、网络状态和设备类型指定移动应用程序访问权限的功能。一旦指定了访问权限,应用程序将自动对使用该设备类型和角色的所有用户可用。这就允许组织完全控制其应用程序的发布和分配。

例如:在为具有脱机功能的平板电脑优化了字段抽样应用程序之后,可以使用部件设计器为所有具有字段代理角色的用户指定对该应用程序的访问权限,这些用户使用的是平板电脑,没有连接到STARLIMS服务器。只要字段代理用他们的平板电脑登录,他们就可以使用应用程序。

良好的用户体验可分为4大支柱:

l  熟悉度。应用程序的外观需要与现代移动应用程序的预期一致。

l  响应性。移动设备的屏幕尺寸和分辨率可能会有所不同,因此屏幕必须能够满足任何屏幕尺寸。

l  可用性。用户通过简单地尝试使用,就能够轻松地弄清楚应用程序的工作方式。

l  愉悦感。现代应用程序不会做出让用户感到沮丧的事情,例如在等待任务完成时锁定。

为了应对这些挑战,STARLIMS集成了Sencha ExtJS并将其展示给应用程序开发人员,使他们能够构建现代移动应用所期望的丰富用户体验。 ExtJS库允许开发人员构建移动终端用户所期望的用户体验:

l  包含许多触摸友好组件的库(以及创建新组件的能力)

l  内置动画和造型,模仿移动外观

l  重新布局,可以在不同的屏幕尺寸上智能地分配控件

l  由开发人员组成的大型社区和大量的API文档

要添加到ExtJS中,STARLIMS提供的异步客户机-服务器APIs允许应用程序平稳运行。异步客户机-服务器请求不会在每次必须修改或从服务器检索数据时锁定与应用程序的交互,从而减少了最终用户的挫败感。此外,它允许多个服务器请求的同时发生;

例如:列表、选择字段和信息面板的数据可以同时加载。因此,异步客户机-服务器APIs不仅减少了用户的挫折感,而且还提高了应用程序的性能。

总结

在构建移动解决方案时,组织必须做出的相关选择如下所示。

l  我们将提供什么样的用户体验?

l  我们需要什么技能、编程语言和开发工具包?

l  这些工具有哪些功能?

l  这些技能组合和工具的相关成本是多少?

l  我们需要哪些服务才能连接我们的移动应用程序?

l  我们需要支持哪些运营系统?

l  我们如何发布和部署我们的应用程序?

l  我们需要什么样的基础架构来支持此项部署?

事实上,并不存在单一的最佳解决方案。相反,组织必须面对的是如何平衡这些考虑因素,以及如何确定最适合其需求的解决方案的挑战。

幸运的是,雅培信息化已经接受了这一挑战,并通过STARLIMS Mobile创建了完整的移动解决方案。该平台直接与STARLIMS生态系统集成,提供了简化移动开发、发布和部署各个方面的机制。通过选择STARLIMS Mobile作为LIMS Mobile平台,组织可以直接跳过如何架构所需的移动内容这个步骤,从而就不必考虑如何做出大量的技术决策。

雅培信息 STARLIMS

您的整体实验室信息管理系统 (LIMS) 解决方案提供商!

发布需求
作者
头像
仪器推荐
文章推荐