El futuro del desarrollo de aplicaciones web

Contenido

Diseñar interfaces de usuario distribuidas

Las megatendencias como el internet industrial de las cosas (IIoT) han pasado rápidamente de conceptos y proyectos piloto a implementaciones en toda la flota con resultados impresionantes. A medida que las aplicaciones crecen en complejidad, la industria de pruebas y medidas está evolucionando para volverse más inteligente y más conectada.  La mayor disponibilidad y rentabilidad de los dispositivos de detección inteligente permite a los ingenieros agregar capacidades de detección y toma de decisiones a nivel del dispositivo para maximizar el tiempo de actividad, aumentar el rendimiento e impulsar la innovación de los productos en el futuro. Estas capacidades se vuelven primordiales cuando las tareas como la adquisición de datos, el análisis y el control deben ser distribuidas geográficamente y realizadas por varios elementos del proceso colaborativo para respaldar las operaciones remotas. Este tipo de implementaciones distribuidas se desencadena por la necesidad de E/S de mayor precisión, control distribuido, complejo y de tiempo crítico, adquisición y análisis de datos de alto rendimiento, así como la necesidad de mostrar los datos a las diferentes partes interesadas en la organización.

 

Fig 1. A medida que los sistemas aumentan en complejidad, los desarrolladores se enfrentan a desafíos de visualización y gestión de datos en varios niveles de la organización.

 

Poner la información correcta frente a los colaboradores adecuados es un aspecto crítico de las aplicaciones distribuidas que tiene un impacto directamente en la capacidad de tomar decisiones informadas. Este es un problema especialmente complejo porque no solo involucra la creación de interfaces de usuario distribuidas, sino también capacidades de gestión de datos, garantía de seguridad y conceptos de redes. Algunos requisitos principales incluyen el desarrollo de interfaces para que los operadores configuren de forma remota los sistemas implementados para cambiar entre los modos de operación, cambiar la configuración o modificar los perfiles. Otro escenario requiere una interfaz de usuario para operar o supervisar paneles de control de manera remota para un pequeño conjunto de activos. Una necesidad típica de los escenarios de pruebas de producción distribuida o monitoreo ambiental es el monitoreo en tiempo real de los sistemas, incluyendo información como el estado, las fallas y el rendimiento. Por último, los niveles de gestión y empresariales exigen un monitoreo en tiempo real con información sobre datos históricos, tendencias e indicadores clave de rendimiento a lo largo del tiempo. De esta manera, atender las necesidades de visualización de datos de los diferentes colaboradores con distintos grados de complejidad en todos los escenarios distribuidos se convierte en un desafío.

Fig 2. Crear interfaces de usuario remotas representa diferentes niveles de esfuerzo dependiendo de la complejidad y el tamaño del sistema en cuestión.

 

Con este nivel de complejidad, la mayoría de los ingenieros de pruebas y medidas no consideran trivial elegir una infraestructura del IIoT lista para usar. Para ser más efectivo, existe la necesidad de una plataforma que proporcione la escalabilidad y el rendimiento de las principales tecnologías web y Big Data que puedan ser desarrolladas, implementadas y mantenidas por ingenieros con la colaboración de especialistas en TI, desarrolladores web, diseñadores visuales y UX, científicos de datos y colaboradores de varios tipos. Durante las últimas 3 décadas, National Instruments ha desarrollado y cultivado una plataforma con LabVIEW, PXI y RIO para aplicaciones de pruebas y medidas de alto rendimiento en el borde. Durante los últimos años, NI ha estado expandiendo la plataforma agregando componentes de software modulares y reutilizables en las capas web, TI/servidor y red para permitir aplicaciones distribuidas. Estos elementos de la plataforma se están integrando en múltiples productos de software para resolver los desafíos de construir potentes soluciones de ingeniería modernas. Estos desafíos incluyen administrar sistemas distribuidos de manera efectiva, así como aprovechar la información de los datos generados en el borde y visualizar dicha información para tomar decisiones basadas en datos.

Tomemos como ejemplo la necesidad de las aplicaciones distribuidas de administrar y configurar de forma remota los activos para aumentar el tiempo de operación y el rendimiento operativo. La plataforma de NI incluye una solución para este tipo de escenario a través de SystemLink, un software de gestión de sistemas que proporciona capacidades de gestión centralizada y segura para aplicaciones distribuidas de pruebas, medidas y control. SystemLink aumenta el tiempo de operación del sistema y el conocimiento del estado del sistema a través de herramientas de gestión de sistemas que rastrean el estado de la conexión, la configuración del sistema y los datos de calibración. SystemLink mejora la eficiencia de la implementación masiva del software con actualizaciones a nivel de componentes, conocimiento de la dependencia e historial de versiones.

Aprenda más

 

Fig 3. SystemLink es un software de gestión de sistemas para la gestión centralizada de sistemas distribuidos de pruebas, control y monitoreo.

 

La necesidad de visualizar fácilmente los datos también es muy importante para este tipo de aplicaciones distribuidas, y para permitir que los ingenieros desarrollen soluciones de extremo a extremo, se requieren herramientas productivas de desarrollo de aplicaciones que funcionen juntas a la perfección. Para aplicaciones distribuidas, el G Web Development Software complementa esta plataforma permitiendo a los ingenieros aprovechar los paradigmas de programación de LabVIEW y crear aplicaciones de stack completo que pueden ejecutarse en cualquier servidor web y navegador modernos sin complementos ni descargas.  El G Web Development Software se integra con el resto de la plataforma de software de NI para hacer que las tecnologías web sean accesibles para crear interfaces de usuario remotas y personalizadas para aplicaciones nuevas y existentes.

 

¿Por qué los ingenieros de pruebas y medidas necesitan tecnología web?

Para los sistemas distribuidos, la tecnología web se está convirtiendo rápidamente en la capa de aplicación para orquestación, control y visualización de datos. Sin embargo, la tecnología web moderna es una colección compleja de estándares, frameworks, tecnologías y convenciones que requieren una capacitación y experiencia significativas para establecer su dominio.  La mayoría de los ingenieros de pruebas y medidas no se consideran desarrolladores web y no tienen el tiempo ni los recursos para adquirir la experiencia necesaria. Además, la mayoría de los equipos de ingeniería de pruebas no pueden subcontratar partes críticas de sus aplicaciones que requieren tecnología web, como presentación de información, esquemas de control, seguridad y gestión de accesos, ya que estas áreas exigen control dentro de la organización. Si bien es posible agregar talento de desarrollo web a los equipos de ingeniería de pruebas, existe el riesgo de una pérdida importante en la traducción del contexto entre los ingenieros de pruebas y los desarrolladores web. Al final del día, los desafíos comunes de desarrollar, implementar, mantener y actualizar sistemas distribuidos, como gestionar de manera eficaz los ciclos de vida, obtener conocimientos y decisiones en tiempo real y crear un acceso seguro a las aplicaciones, aún residen en el ámbito del equipo de ingeniería de pruebas.

 

Con el G Web Development Software, NI proporciona un punto de partida intuitivo para los ingenieros que crean interfaces de monitoreo y control remoto para sistemas de pruebas y medidas. Los ingenieros pueden usar patrones de edición de diagrama de bloques y panel frontal de LabVIEW para desarrollar aplicaciones de ingeniería sin requerir conocimiento de tecnologías web. El módulo web también incluye mecanismos para implementar de forma segura aplicaciones web y establecer comunicación con los nodos de borde. Además, esta plataforma de tecnología web está diseñada para ser altamente abierta y extensible, por lo que puede usarse para crear aplicaciones distribuidas de pruebas, medidas, control y monitoreo en colaboración con desarrolladores web profesionales y especialistas en TI.  En la siguiente sección de esta nota técnica, explicamos los elementos fundamentales y los principios rectores para futuras inversiones en herramientas de diseño basadas en web de NI.

Fig 4. El G Web Development Software le ayuda a crear interfaces de usuario basadas en web de alto rendimiento.

 

 

Una plataforma de desarrollo de interfaz de usuario basada en web: Principios rectores

 Punto de partida intuitivo para el desarrollo web

Preservar el conjunto de habilidades de los desarrolladores de LabVIEW para la creación de interfaces basadas en web es uno de los principios fundamentales para el diseño del G Web Development Software Con esto en mente, un nuevo tipo de VI que se introdujo con el módulo web son los WebVIs. Este nuevo formato de archivo representa un avance tecnológico para la generación de código G que funciona de la misma manera que cualquier otro VI, pero que se traduce automáticamente a estándares web como HTML, CSS y JavaScript. Esta tecnología reduce la barrera del desarrollo de aplicaciones web al abstraer la complejidad de dominar múltiples estándares para cumplir con los requisitos de la aplicación en cuestión.

Fig 5. Los WebVIs permiten a los usuarios crear VIs que pueden ejecutarse en cualquier navegador web moderno sin complementos o instaladores.

 

De manera similar, el concepto de proporcionar puntos de partida intuitivos se amplía para transferir datos seguros y confiables a través de una red. El G Web Development Software incluye formas sencillas de mover datos entre fuentes de datos y una ubicación centralizada que sirve como intermediario para los servicios de datos. Esto se logra a través de APIs basadas en estándares web (HTTP, AMQP, Websocket) que sirven para casos de uso de ingeniería comunes, como comunicar valores escalares de etiquetas hacia y desde dispositivos de pruebas y medidas, proporcionar mensajes asíncronos para la gestión de alarmas y eventos, y transferir archivos para reportes y procesamiento posterior. Además, estas APIs incluyen una implementación de cliente HTTP para comunicar datos desde y hacia cualquier servicio web de terceros. National Instruments está explorando servicios de datos adicionales para futuras versiones del G Web Development Software, como transferencia de datos de forma de onda.

 

Por último, la implementación de aplicaciones web también se simplifica con flujos de trabajo productivos para facilitar los procesos de configuración y el uso compartido de aplicaciones web. Esto incluye acceso al servidor web de NI para la fácil creación de aplicaciones alojadas donde la seguridad y el control del acceso son definidos por el usuario.  El servidor web de NI se puede utilizar para alojar aplicaciones en una PC dedicada; sin embargo, el G Web Development Software es lo suficientemente flexible como para producir archivos de salida estándares que pueden ser alojados por cualquier servidor de terceros. En el futuro,la tecnología se integrará para facilitar el proceso de alojamiento al automatizar el flujo de implementación directamente desde el entorno de desarrollo a un servicio en la nube administrada por National Instruments. Este servicio también pretende incluir la creación de dashboards basados en configuración para la fácil creación de interfaces de usuario en el navegador que se conectan directamente a los datos disponibles en el intermediario de datos sin tener que programar o agregar lógica a la aplicación.

 

Asignar requisitos de ingeniería

 

Otro principio rector de las herramientas de NI para la creación de interfaces de usuario basadas en web es la alineación de los requisitos de ingeniería de las aplicaciones de pruebas y monitoreo con las herramientas de diseño para proporcionar el mejor rendimiento de su clase.    Desde el punto de vista de la interfaz de usuario, el G Web Development Software incluye widgets de ingeniería de alto rendimiento que sirven a los escenarios más comunes para la representación gráfica de tanques, LEDs, medidores, tablas, gráficas, etc. Las interfaces de usuario y los widgets se traducen automáticamente a código HTML y CSS para representarlos en cualquier navegador web moderno. Estos widgets han sido diseñados teniendo en cuenta el rendimiento para atender las aplicaciones más exigentes. Específicamente, para el caso de tablas y gráficas, se han probado para ejecutar 500,000 puntos de datos a 60 fps o mejor. National Instruments está comprometido a agregar y aumentar el rendimiento de esta colección de widgets a medida que se lanzan nuevas versiones del G Web Development Software

 

Fig 6. Los WebVIs incluyen una colección de widgets de ingeniería de alto rendimiento para el desarrollo de interfaces de usuario de pruebas y medidas.

 

 

 De manera similar, la interfaz de usuario diseñada en WebVIs viene acompañada de lógica de aplicación implementada en el diagrama similar a lo que está presente en los LabVIEW VIs. La lógica personalizada se puede ser embebida en las interfaces de usuario utilizando funciones comúnmente disponibles para definir el flujo, la lógica y el análisis del programa. La lógica de la aplicación se traduce en código JavaScript para su ejecución en cualquier navegador web moderno para controlar el comportamiento y responder a los eventos desde la interfaz de usuario.

 

Fig 7. Los WebVIs generan automáticamente código HTML, CSS y JavaScript para ejecutar aplicaciones en cualquier navegador web moderno.

 

 

Extensibilidad basada en estándares

El uso de estándares y tecnologías de código abierto es definitivo para proporcionar extensibilidad y poder ejecutar aplicaciones en cualquier navegador web moderno. Una decisión de diseño importante fue la capacidad de abrir y exponer el código HTML, CSS y JavaScript generado desde WebVIs para personalizar completamente la aplicación en el editor proporcionado o en cualquier editor de terceros. Estas capacidades se pueden ampliar para traer contenido existente desde la web, así como reutilizar scripts para controlar el comportamiento de las interfaces de usuario. La flexibilidad y la estandarización son denominadores comunes en el diseño de WebVIs y otros componentes del G Web Development Software para integrarse perfectamente con las implementaciones existentes y las tecnologías comerciales. Para versiones futuras del G Web Development Software, los usuarios pueden esperar ver nuevas características que amplían esta apertura para incluir aún más maneras de integrar WebVIs con tecnología web existente.