Die Zukunft der Entwicklung von Webanwendungen

Inhalt

Entwickeln verteilter Benutzeroberflächen

Megatrends wie das industrielle Internet der Dinge (Industrial Internet of Things, IIoT) sind der Konzept- und Pilotprojektphase mittlerweile entwachsen und finden zunehmend unternehmensweiten Einsatz mit beachtlichen Ergebnissen. Mit zunehmender Komplexität von Anwendungen wird auch die Mess- und Prüfindustrie immer intelligenter und vernetzter.  Die erhöhte Verfügbarkeit und Erschwinglichkeit von intelligenten Sensoren ermöglicht es Ingenieuren, Sensoren und Entscheidungen auf Geräteebene hinzuzufügen, um die Betriebszeit zu maximieren, die Leistung zu steigern und zukünftige Produktinnovationen voranzutreiben. Diese Funktionen sind von größter Bedeutung, wenn Aufgaben wie Datenerfassung, Analyse und Steuerung geografisch verteilt und von verschiedenen kollaborativen Verarbeitungselementen ausgeführt werden müssen, um Netzwerkoperationen zu unterstützen. Diese Art von verteilten Implementierungen wird durch den Bedarf an hochpräziser I/O, komplexer und zeitkritischer verteilter Steuerung, Erfassung und Analyse von Volumendaten mit hohem Durchsatz sowie der Notwendigkeit ausgelöst, Daten mehreren Beteiligten im Unternehmen zur Verfügung zu stellen.

 

Abb. 1: Mit zunehmender Komplexität von Systemen stehen Entwickler auf verschiedenen Ebenen des Unternehmens vor Herausforderungen bei der Datenverwaltung und Visualisierung.

 

Die Bereitstellung der richtigen Informationen vor den richtigen Beteiligten ist ein kritischer Aspekt verteilter Anwendungen, der sich direkt auf die Fähigkeit auswirkt, fundierte Geschäftsentscheidungen zu treffen. Dies ist ein besonders komplexes Problem, da es nicht nur die Erstellung verteilter Benutzeroberflächen umfasst, sondern auch Datenmanagementfunktionen, die Aufrechterhaltung der Sicherheit und Netzwerkkonzepte. Zu den wichtigsten Anforderungen gehört die Entwicklung von Schnittstellen, mit denen Bediener die bereitgestellten Systeme aus der Ferne so konfigurieren können, dass sie zwischen Betriebsmodi Schaltmodul , Einstellungen ändern oder Profile ändern. In einem anderen Szenario ist eine Benutzeroberfläche für den Netzwerkbetrieb oder die Überwachung von Bedienfeldern für eine kleine Gruppe von Assets erforderlich. Ein anderer Bedarf, der für verteilte Produktionstestszenarien oder Umgebungsüberwachung typisch ist, ist die Echtzeitüberwachung von Systemen, einschließlich Informationen wie Zustand, Fehler und Leistung. Schließlich ist auf Management- und unternehmensweiter Ebene eine Überwachung in Echtzeit mit Einblicken in historische Daten, Trends und wichtige Leistungsindikatoren im Zeitverlauf erforderlich. Auf diese Weise wird es zu einer Herausforderung, die Datenvisualisierungsanforderungen verschiedener Interessengruppen mit unterschiedlichem Komplexitätsgrad in allen verteilten Szenarien zu erfüllen.

Abb. 2: Das Erstellen von Netzwerk-Benutzeroberflächen ist je nach Komplexität und Größe des jeweiligen Systems unterschiedlich aufwendig.

 

Bei dieser Komplexität halten die meisten Test- und Messtechniker es für alles andere als trivial, einfach eine handelsübliche IIoT-Infrastruktur zu verwenden. Um effektiver zu sein, wird eine Plattform benötigt, die die Skalierbarkeit und Leistung von Mainstream-Web- und Big-Data-Technologien bietet, die von Ingenieuren in Zusammenarbeit mit IT-Spezialisten, Webentwicklern, UX- und visuellen Designern, Datenwissenschaftlern und Interessenvertretern verschiedener Art entwickelt, eingesetzt und gewartet werden kann. In den letzten drei Jahrzehnten hat NI eine Plattform mit LabVIEW, PXI und RIO für leistungsstarke Test- und Messanwendungen am Edge entwickelt und gefördert. In den letzten Jahren hat NI die Plattform um modulare, wiederverwendbare Softwarekomponenten im Netzwerk, auf IT-/Server- und Webschichten erweitert, um verteilte Anwendungen zu ermöglichen. Diese Plattformelemente werden in mehrere Softwareprodukte integriert, um die wichtigsten Herausforderungen beim Aufbau leistungsstarker moderner technischer Lösungen zu lösen. Zu diesen Herausforderungen gehören das effiziente Verwalten verteilter Systeme sowie die Nutzung der Erkenntnisse aus am Edge generierten Daten und die Visualisierung solcher Informationen, um datengesteuerte Entscheidungen zu treffen.

Nehmen wir als Beispiel die dringende Notwendigkeit verteilter Anwendungen, Hardwareprodukte über das Netzwerk zu verwalten und zu konfigurieren, um die Betriebszeit und die Betriebsleistung zu erhöhen. Die NI-Plattform umfasst eine Lösung für diese Art von Szenario über SystemLink, eine Systemverwaltungssoftware, die sichere, zentralisierte Managementfunktionen für verteilte Test-, Mess- und Regelanwendungen bietet. SystemLink erhöht die Systembetriebszeit und das Bewusstsein für den Systemzustand durch Systemverwaltungswerkzeuge, die den Verbindungszustand, die Systemeinstellungen und die Kalibrierdaten verfolgen. SystemLink verbessert die Effizienz der Software-Massenbereitstellung durch Updates auf Komponentenebene, Abhängigkeitserkennung und Versionsverlauf.

Mehr erfahren

 

Abb. 3: SystemLink ist eine Systemverwaltungssoftware für die zentrale Verwaltung verteilter Test-, Steuer- und Überwachungssysteme.

 

Die Notwendigkeit, Daten einfach zu visualisieren, ist auch für diese Art von verteilten Anwendungen sehr wichtig. Damit Ingenieure End-to-End-Lösungen entwickeln können, sind produktive Tools zur Anwendungsentwicklung erforderlich, die nahtlos zusammenarbeiten. Für verteilte Anwendungen ergänzt die G Web Development Software diese Plattform, indem sie es Ingenieuren ermöglicht, vertraute LabVIEW-Programmierparadigmen zu nutzen und Full-Stack-Anwendungen zu erstellen, die auf jedem modernen Webserver und Browser ohne Plugins oder Downloads ausgeführt werden können.  Die G Web Development Software integriert sich mit der restlichen NI-Softwareplattform, um Webtechnologien für das Erstellen benutzerdefinierter Benutzeroberflächen im Netzwerk für neue und bestehende Anwendungen zugänglich zu machen.

 

Warum benötigen Test- und Messingenieure Webtechnologie?

Für verteilte Systeme wird die Webtechnologie schnell zur de facto-Anwendungsschicht für die Orchestrierung, Steuerung und Visualisierung von Daten. Moderne Webtechnologie an sich ist jedoch eine komplexe Sammlung von Standards, Frameworks, Technologien und Konventionen, für die umfangreiche Schulung und Erfahrung erforderlich sind.  Die meisten Test- und Messingenieure betrachten sich nicht als Webentwickler und verfügen weder über die Zeit noch über die Ressourcen, um sich das erforderliche Know-how anzueignen. Darüber hinaus können die meisten Testingenieurteams kritische Teile ihrer Anwendungen, die Webtechnologie erfordern, wie Darstellung von Informationen, Regelungen, Sicherheit und Zugriffsverwaltung, nicht auslagern, da diese Bereiche Kontrolle innerhalb des Unternehmens erfordern. Es ist zwar möglich, Webentwicklungsteams in Testingenieurteams aufzunehmen, es besteht jedoch die Gefahr, dass ein Teil des Kontexts in der Kommunikation zwischen Testingenieuren und Webentwicklern verloren geht. Letztendlich liegen die allgemeinen Herausforderungen bei der Entwicklung, Bereitstellung, Wartung und Aktualisierung verteilter Systeme, wie z.B. die effiziente Verwaltung von Lebenszyklen, die Ableitung von Erkenntnissen und Entscheidungen in Echtzeit und die Schaffung eines sicheren Zugriffs auf Anwendungen, immer noch im Bereich des Testingenieurs-Teams.

 

Mit der G Web Development Software bietet NI einen intuitiven Ausgangspunkt für Ingenieure, die Schnittstellen für die Steuerung aus dem Netzwerk und die Überwachung von Test- und Messsystemen erstellen. Ingenieure können mit den bekannten LabVIEW-Frontpanel- und Blockdiagramm-Bearbeitungsmustern technische Anwendungen entwickeln, ohne Kenntnisse in Webtechnologien zu benötigen. Das Webmodul enthält außerdem Mechanismen zum sicheren Bereitstellen von Webanwendungen und zum Herstellen der Kommunikation mit Edge-Knoten. Darüber hinaus ist diese Webtechnologie-Plattform sehr offen und erweiterbar, sodass sie in Zusammenarbeit mit professionellen Webentwicklern und IT-Spezialisten zur Entwicklung vollwertiger verteilter Test-, Mess-, Steuer- und Überwachungsanwendungen verwendet werden kann.  Im folgenden Abschnitt dieses Whitepapers werden die grundlegenden Elemente und Leitlinien für zukünftige Investitionen in die webbasierten Tools von NI erläutert.

Abb. 4: Mit der G Web Development Software können Sie leistungsstarke webbasierte Benutzeroberflächen erstellen.

 

 

Eine webbasierte Entwicklungsplattform für Benutzeroberflächen: Leitprinzipien

 Intuitiver Startpunkt für die Webentwicklung

Die Beibehaltung der Fähigkeiten der LabVIEW-Entwickler für die Erstellung webbasierter Schnittstellen ist eines der Hauptprinzipien für den Entwurf der G Web Development Software. Eine neue Art von VI, die mit dem Webmodul eingeführt wurde, sind daher die WebVIs. Dieses neue Dateiformat stellt einen technologischen Fortschritt für die Erzeugung von in G geschriebenem Code dar, der wie jedes andere VI funktioniert, aber automatisch in Web-Standards wie HTML, CSS und JavaScript übersetzt wird. Diese Technologie verringert die Hürde bei der Entwicklung von Webanwendungen, indem sie die Komplexität des Beherrschens mehrerer Standards zur Erfüllung der Anforderungen der jeweiligen Anwendung wegabstrahiert.

Abb. 5: Mit WebVIs können Benutzer VIs erstellen, die in jedem modernen Webbrowser ohne Plug-Ins oder Installationsprogramm ausgeführt werden können.

 

In ähnlicher Weise wird das Konzept der Bereitstellung intuitiver Ausgangspunkte auf die Übertragung sicherer und zuverlässiger Daten über ein Netzwerk erweitert. Die G Web Development Software umfasst einfache Möglichkeiten zum Hin- und Herbewegen von Daten zwischen Datenquellen und einen zentralen Speicherort, der als Broker für Datendienste dient. Dies wird durch APIs erreicht, die auf Web-Standards (HTTP, AMQP, Websocket) basieren, um gängige technische Anwendungsfälle wie die Kommunikation von Tag-Skalarwerten mit und von Mess- und Testgeräten, die Bereitstellung asynchroner Nachrichten für die Alarm- und Ereignisverwaltung sowie die Übertragung von Dateien für die Berichterstattung und Nachbearbeitung zu ermöglichen. Darüber hinaus sind diese APIs mit einer HTTP-Client-Implementierung ausgestattet, um Daten mit und von Webdiensten von Drittanbietern zu kommunizieren. NI untersucht derzeit zusätzliche Datendienste für zukünftige Versionen der G Web Development Software, wie zum Beispiel die Übertragung von Signalverlaufsdaten.

 

Schließlich wird die Bereitstellung von Webanwendungen durch produktive Workflows vereinfacht, um das Einrichten von Prozessen und die gemeinsame Nutzung von Webanwendungen zu erleichtern. Dazu gehört der Zugriff auf den NI-Webserver zur einfachen Erstellung von gehosteten Anwendungen, bei denen Sicherheit und Zugriffskontrolle vom Benutzer definiert werden.  Der NI-Webserver kann verwendet werden, um Anwendungen auf einem dedizierten Computer zu hosten. Die G Web Development Software ist jedoch flexibel genug, um Standardausgabedateien zu erstellen, die von jedem Drittanbieter-Server gehostet werden können. Mit Blick auf die Zukunft wird die Technologie integriert, um den Hosting-Prozess zu vereinfachen, indem der Fluss der Bereitstellung direkt von der Entwicklungsumgebung zu einem von NI gehosteten Cloud-Dienst automatisiert wird. Dieser Service soll auch die Erstellung konfigurationsbasierter Dashboards für die einfache Erstellung von browserinternen Benutzeroberflächen umfassen, die eine direkte Verbindung mit den im Data Broker verfügbaren Daten herstellen, ohne dass die Anwendung programmiert oder mit Logik versehen werden muss.

 

Zuordnung zu technischen Anforderungen

 

Ein weiteres Leitprinzip der NI-Tools für die Erstellung webbasierter Benutzeroberflächen ist die Angleichung der technischen Anforderungen von Test- und Überwachungsanwendungen an die Entwurfswerkzeuge, um die bestmögliche Leistung zu erzielen.    Aus Sicht der Benutzeroberfläche umfasst die G Web Development Software leistungsstarke technische Widgets, die die gängigsten Szenarien für die grafische Darstellung von Tanks, LEDs, Anzeigen, Diagrammen, Grafiken usw. abdecken. Benutzeroberflächen und Widgets werden automatisch in HTML- und CSS-Code übersetzt, um sie in jedem modernen Webbrowser darzustellen. Diese Widgets wurden leistungsorientiert entwickelt, um die anspruchsvollsten Anwendungen zu erfüllen. Im speziellen Fall von Diagrammen und Graphen wurden sie auf die Ausführung von 500.000 Datenpunkten bei 60 fps oder höher getestet. NI ist bestrebt, diese Widget-Sammlung mit der Veröffentlichung neuer Versionen der G Web Development Software zu erweitern und deren Leistung zu steigern.

 

Abb. 6: WebVIs enthalten eine Sammlung leistungsstarker Engineering-Widgets für die Entwicklung von Benutzeroberflächen für Tests und Messungen.

 

 

 In ähnlicher Weise wird die in WebVIs entworfene Benutzeroberfläche von einer Anwendungslogik begleitet, die ähnlich wie in LabVIEW-VIs in das Diagramm implementiert ist. Benutzerdefinierte Logik kann mithilfe allgemein verfügbarer Funktionen in die Benutzeroberflächen eingebettet werden, um den Programmablauf, die Logik und die Analyse zu definieren. Die Anwendungslogik wird in JavaScript-Code für die Ausführung in jedem modernen Webbrowser übersetzt, um das Verhalten zu steuern und auf Ereignisse von der Benutzeroberfläche zu reagieren.

 

Abb. 7: WebVIs erzeugen automatisch HTML-, CSS- und JavaScript-Code, um Anwendungen in jedem modernen Webbrowser ausführen zu können.

 

 

Standardbasierte Erweiterbarkeit

Die Verwendung von Standards und Open-Source-Technologien ist unumgänglich, um Erweiterbarkeit zu bieten und Anwendungen in jedem modernen Webbrowser ausführen zu können. Eine wichtige Entwurfsentscheidung war die Möglichkeit, den generierten HTML-, CSS- und JavaScript-Code aus WebVIs zu öffnen und bereitzustellen, um die Anwendung mit dem mitgelieferten Editor oder einem beliebigen Editor eines Drittanbieters vollständig anzupassen. Diese Funktionen können erweitert werden, um vorhandene Inhalte aus dem Web sowie die Wiederverwendung von Scripten zur Steuerung des Verhaltens von Benutzeroberflächen zu übertragen. Flexibilität und Standardisierung sind gemeinsame Nenner beim Entwurf von WebVIs und anderen Komponenten der G Web Development Software, um sich nahtlos in vorhandene Implementierungen und kommerzielle Technologien zu integrieren. In zukünftigen Versionen der G Web Development Software dürfen Benutzer mit neuen Funktionen rechnen, die diese Offenheit auf noch mehr Möglichkeiten zur Integration von WebVIs in vorhandene Webtechnologie erweitern.