Web应用程序开发未来

内容

设计分布用户界面

工业物联网(IIoT)等主流发展趋势已经从概念和试点项目迅速演变为大规模部署,并取得了丰硕的成果。应用程序日益复杂,测试和测量行业也随之朝着更加智能和互联的方向发展。 智能传感设备的可用性和经济性不断提高,工程师可以在设备层面添加传感和决策功能,从而更大限度地延长正常运行时间,提高性能并推动未来的产品创新。当数据采集、分析和控制等任务需要分布在各处并由不同的协作处理组件执行来支持远程操作时,这些功能的重要性由此凸显。这种分布式实现源于以下需求:更高精度的I/O,复杂且时间要求严格的分布式控制,高吞吐量批量数据采集和分析,以及将数据向组织内多位相关人员呈现。

 

图1.随着系统复杂性的增加,开发人员在组织的各个层面都面临着数据管理和可视化方面的挑战

 

向相关人员呈现合适的信息是分布式应用程序的一个关键作用,能够直接影响做出明智业务决策的能力。这是一个特别复杂的问题,因为不仅涉及分布式用户界面的创建,还涉及数据管理功能、安全保证和网络连接等概念。其中一些主要要求包括开发操作界面,使操作人员可远程配置已部署的系统,以便能够在操作模式之间进行切换、更改设置或修改配置文件。还有一种情况是,需要借助用户界面来远程操作或监控一小部分设备的控制面板。分布式生产测试场景或环境监测的另一个典型需求是能够实时监测系统,包括监测运行状况、故障和性能等信息。最后,在管理和企业层面需要实现实时监测,并基于历史数据获取见解,以及了解趋势和随时间变化的关键性能指标。如此一来,在所有分布式场景中满足不同相关人员复杂程度各异的数据可视化需求充满挑战性。

图2.因当前系统的复杂性和规模不同,创建远程用户界面的难易程度也有所不同。

 

鉴于存在一定复杂性,大多数测试和测量工程师发现,仅基于现成的IIoT基础设施并不能满足需求。要想提高效率,需要借助能够提供主流Web和大数据技术的可扩展性和性能的平台,该平台可以由工程师与IT专家、Web开发人员、用户体验和视觉设计人员、数据科学家以及各种类型的相关人员合作开发、部署和维护。在过去的30年中,NI开发并构建了一个基于LabVIEW、PXI和RIO的平台,用于高性能边缘测试和测量应用。在过去的数年里,NI一直通过在网络、IT/服务器和Web层面添加模块化、可复用的软件组件来扩展该平台,从而为分布式应用程序提供支持。通过将这些平台元素整合到多款软件产品中,可以应对构建强大的现代工程解决方案所面临的重大挑战。这些挑战包括有效地管理分布式系统,从边缘生成的数据中获得见解,并将这些信息可视化,基于数据做出决策。

就对于分布式应用程序的巨大需求而言,目的在于远程管理和配置设备,从而提高正常运行时间和运行性能。针对于此,NI平台可通过SystemLink提供解决方案,SystemLink是一款为分布式测试、测量和控制应用提供安全、集中管理功能的系统管理软件。它可通过跟踪连接状态、系统设置和校准数据的系统管理工具,提高系统的正常运行时间和系统状态感知。SystemLink凭借组件级更新、依赖关系感知和版本历史记录,提高了大规模软件部署的效率。

了解详情

 

图3.SystemLink是一款用于集中管理分布式测试、控制和监测系统的系统管理软件。

 

对于此类分布式应用程序来说,轻松实现数据可视化也尤为重要,并且需要能够让工程师开发可无缝协作的端到端解决方案和高效应用程序开发工具。对于分布式应用程序,G Web开发软件可让该平台更臻完善,借助该软件,工程师能够利用熟悉的LabVIEW编程范式,无需任何插件或进行任何下载,即可创建可在任意现代Web服务器和浏览器中运行的完整堆栈应用程序。  G Web开发软件能够与NI软件平台的其余部分集成,将Web技术用于为新的和现有的应用程序创建自定义远程用户界面。

 

为何测试测量工程用到Web技术?

对于分布式系统,Web技术正迅速成为在数据编排、控制和可视化方面真正发挥作用的技术。然而,现代Web技术是各种标准、框架、技术和规范的复杂集合,需要经过大量培训和实践才能熟练掌握。  大多数测试和测量工程师认为自己并不是Web开发人员,也没有时间和资源来掌握必要的Web技术专业知识。此外,大多数测试工程团队无法外包需要用到Web技术的应用程序关键部分,例如信息显示、控制方案、安全性和访问权限管理,因为这些部分需要在组织内部进行控制。虽然为测试工程团队增加Web开发人才切实可行,但测试工程师和Web开发人员之间的环境转换存在出现重大损失的风险。总而言之,测试工程团队仍然面临开发、部署、维护和升级分布式系统的常见挑战(如有效管理生命周期、实时获取见解和决策以及创建对应用程序的安全访问)。

 

借助G Web开发软件,NI为工程师创建用于测试和测量系统的远程控制和监测界面提供了直观的着手点。工程师无需具备Web技术相关知识,即可使用熟悉的LabVIEW前面板和程序框图编辑模式来开发工程应用程序。Web模块还包括安全部署Web应用程序以及与边缘节点建立通信的机制。此外,该Web技术平台具有高度开放性和可扩展性,专业的Web开发人员和IT专家可借此创建成熟的分布式测试、测量、控制和监测应用程序。  在本技术白皮书的后续部分,我们将介绍对NI基于Web的设计工具进行未来投资的基本要素和指导原则。

图4. G Web开发软件可助力创建基于Web的高性能用户界面。

 

 

基于Web用户界面开发平台:指导原则

 Web开发直观着手点

G Web开发软件设计的主要原则之一是保留LabVIEW开发人员创建基于Web的界面的技能。有鉴于此,Web模块中引入了一种新的VI类型,即WebVI。这种新的文件格式体现了G代码生成方面的技术进步,该代码的运行方式与其他所有VI相同,但会自动转换为HTML、CSS和JavaScript等Web标准。该技术让掌握多种标准来满足当前应用程序的需求变得不再复杂,从而降低了Web应用程序开发的门槛。

图5.通过WebVI,用户无需插件或安装程序即可编写能在任意现代Web浏览器中运行的VI。

 

类似地,提供直观着手点的概念已扩展为通过网络传输安全可靠的数据。G Web开发软件内含在数据源和作为数据服务代理的集中位置之间来回传输数据的简单方法。这是通过基于Web标准(HTTP、AMQP、Websocket)构建的API来实现的,这些API用于常见的工程用例,例如在测量和测试设备之间来回传输Tag标量值,为警报和事件管理提供异步消息,以及传输文件来生成报表和进行后处理。此外,这些API还包括HTTP客户端实现,用于与任意第三方Web服务进行数据传输。NI目前正在研究G Web开发软件未来版本的其他数据服务,例如传输波形数据。

 

最后,Web应用程序的部署也通过高效的工作流程得到了简化,有助于Web应用程序的设置和共享。其中包括通过访问NI Web服务器来轻松创建由用户定义安全和访问权限控制的托管应用程序。 NI Web服务器可用于在专用计算机上托管应用程序;但是,G Web开发软件足够灵活,可以生成可由任意第三方服务器托管的标准输出文件。展望未来,我们将集成技术,通过实现从开发环境直接到NI托管云服务的部署流程自动化,来简化托管流程。该服务还将包括创建基于配置的仪表板,以便轻松创建浏览器内用户界面,这些界面直接连接到数据代理中可用的数据,而无需对应用程序进行编程或添加逻辑。

 

满足工程要求

 

使用NI工具创建基于Web的用户界面的另一个指导原则是根据测试和监测应用程序的工程要求选择合适的设计工具,实现出色的性能。   从用户界面的角度来看,G Web开发软件包含高性能工程小组件,可用于以图形方式表示容器、LED、量表、图表、图形等大多数常见场景。用户界面和小组件会自动转换为HTML和CSS代码,以便能够在任意现代Web浏览器中呈现。这些小组件的设计充分考虑了性能要求,可满足十分严苛的应用需求。具体而言,对于图表和图形,它们已经过测试,能够以60 fps或更高的速度运行500,000个数据点。NI致力于在新发布的G Web开发软件版本中增加此类小组件并提高其性能

 

图6.WebVI包含一系列用于开发测试和测量用户界面的高性能工程小组件。

 

 

 同样,与LabVIEW VI类似,基于WebVI设计的用户界面附带在程序框图中实现的应用程序逻辑。自定义逻辑可嵌入用户界面,使用常用函数来定义程序流程、逻辑和分析。应用程序逻辑可转换为JavaScript代码,以便在任意现代Web浏览器中执行,从而控制行为并响应用户界面事件。

 

图7.WebVI可自动生成HTML、CSS和JavaScript代码,以便在任意现代Web浏览器中运行应用程序。

 

 

基于标准扩展性

对于提供可扩展性并能够在任意现代Web浏览器中运行应用程序而言,标准和开源技术的使用至关重要。一个重要的设计决策是能够打开并显示WebVI生成的HTML、CSS和JavaScript代码,以便在所提供的编辑器或任何第三方编辑器上完全自定义应用程序。这些功能可以扩展为从Web中获取现有内容,以及复用脚本来控制用户界面的行为。灵活性和标准化是WebVI和G Web开发软件其他组件的设计共同点,旨在与现有实现和商业技术无缝集成。在G Web开发软件的未来版本中,用户有望看到进一步扩展这种开放性的新功能,会有更多方法来将WebVI与现有Web技术集成。