Informations- und Alarmierungs-Tool (IAT)

Die ETH Zürich setzt ein Informations- und Alarmierungs-Tool (IAT) ein, welches seit 2017 produktiv im Einsatz ist.

Es erlaubt dem Operator in der Alarmzentrale bei Evakuierungs- und Amok-Ereignissen auf Knopfdruck die Betroffenen, Funktionsträger, Räume (z.B. Hörsäle, Computer-Räume, etc.) zu alarmieren.

Für die Alarmierung werden folgende Kommunikationskanäle eingesetzt:

  • digital signierte E-Mails
  • Festnetzanrufe (Text-to-Speech)
  • Kurzmitteilung (SMS) und Text-to-Speech aufs Mobiltelefon
  • EVAK-Anlagen und Mobile Apps push-Notifikation (ab April 2018)

In diesen Meldungen wird auf die Gefährdung, Örtlichkeit und zielgerichtetes Verhalten hingewiesen. Im Auftrag von SGU (Abteilung für Sicherheit, Gesundheit und Umwelt) wurden 2017 verschiedene produktive Übungsalarme (Evakuierung HCI und Verbarrikadierung ETH Zentrum) erfolgreich getestet und durchgeführt.

Die Administration und Konfiguration der IAT-Alarmpläne (welche Betroffenen, Funktionsträger, Anlagen, Räume in welcher Priorität bei einem Ereignis informiert werden) erfolgte bis Anfang 2018 direkt auf der Datenbank. Änderungswünsche wie z.B. Alarmmeldungen konnten nicht direkt durch die SGU-Mitarbeitenden vorgenommen werden sondern mussten durch einen Datenbankadministrator von ID Software Services durchgeführt werden.

IAT Admin GUI

Im Rahmen des IAT-Applikationsausbaus wurde von SGU Mitte 2017 der Auftrag erteilt, für die Administration und Konfiguration der IAT-Applikation ein Tool zu entwickeln damit SGU-Mitarbeitende auf der «IAT Datenbank» Änderungen selbständig durchführen können (Alarmpläne, Alarmmeldungen, Gruppen & Anlagen/Areale/Typen/EVK Steuerbefehle verwalten und administrieren).

Das IAT Admin GUI wurde im März 2018 in Betrieb genommen.

Technische Umsetzung und verwendete Technologie

Bei der Entwicklung des IAT Admin Tools haben wir uns bewusst für den Einsatz einer RCP (Rich Client Platform), siehe [2]) und RAP (Remote Application Platform, siehe [1]) Anwendung entschieden um die Technologie bei ID SWS anzuwenden bzw. kennenzulernen.

Die IAT Admin GUI Elemente und Controls wurden mit SWT Designer/Windows Builder realisiert und als E4 Eclipse Plug-in-basierte Applikation umgesetzt. Das Tool wurde produktiv als RCP-Applikation (Abbildung 1) ausgeliefert (Software Verteilung via baramundi) und könnte auch als RAP-Applikation (webbasierte Applikation, Abbildung 2) betrieben werden.


Abbildung 1: IAT Admin GUI – RCP Applikation (Desktop Applikation)


Abbildung 2: IAT Admin GUI – RAP Applikation (Web-Applikation)

Herausforderungen Entwickler / Entwicklungsprozess

Die grösste Herausforderung bestand darin, das RCP/RAP-Framework zu verstehen und anzuwenden sowie ein fundiertes Verständnis der zugrundeliegenden Technologien – OSGI, Eclipse Workbench / JFace / SWT, Eclipse RCP/RAP und Plug-in Entwicklung zu erwerben.

Bei der Entwicklung einer RCP-Applikation, welche später als RAP-Applikation betrieben werden soll, ist folgendes zu beachten:

  1. RAP (RWT-API) implementiert die RCP-API (SWT) nicht zu 100%; d.h. gewisse Methoden (z.B. «PaintListener»), Klassen (z.B. «FileDialog») werden nicht unterstützt oder sind in der gegenwärtigen RAP-Version noch nicht vorhanden.
  2. Multiuser-Fähigkeit: Es wird beabsichtigt, eine RCP in Zukunft als RAP-Applikation zu betreiben. Dabei ist zu beachten, dass die Applikation in einem Multiuser-Umfeld läuft (gemeinsame VM, keine Singleton verwenden, etc.) und dementsprechend Vorkehrungen zu treffen.
  3. Runtime Environment: Eine RAP-Applikation wird typischerweise auf einem zentralen Server betrieben. Abklärungen bezüglich Deployment-Prozessen, Infrastruktur-Environment usw. müssen mit den zuständigen BD abgeklärt und vereinbart werden. Für ID SWS RAP-Applikationen wird ein entsprechendes Environment (Docker-Container pro RAP-Applikation) und ein Deployment Prozess bis Mitte 2018 etabliert.

Durch den Einsatz des Eclipse GUI-Designer «SWT Designer/Windows Builder» Plug-ins konnte bereits zu einer sehr frühen Projekt-Phase (Spezifikations-Phase) das GUI-Design zusammen mit dem Kunden entwickelt und besprochen werden. Das GUI-Design konnte 1:1 in der Implementationsphase übernommen und implementiert werden.

Weiter kann die übliche Vorgehensweise bei der Entwicklung von Java-Applikationen im Eclipse IDE fast komplett beibehalten werden ohne die explizite Verwendung von anderen Sprachen und Techniken wie JavaScript, Action Scripts, HTML, Ajax, JQuery usw. einzusetzen.

Runtime Environments

Im Rahmen einer kleinen Studie wurde das IAT Admin Tool in folgenden Target Runtime Environments getestet:

  1. RCP (Desktop Client, ist jetzt im produktiven Einsatz)
  2. RAP Environnent – Stand-Alone OSGI Server
  3. RAP Environment – WAR File in Tomcat-Servlet Container deployed
  4. RAP Environment – WAR File in WebLogic-Servlet Container deployed

Zusammenfassung

Die Grundidee dieser Technologie basiert auf dem Single-Sourcing Ansatz, die Applikation wird einmal entwickelt und kann als RCP (Desktop-Applikation) oder als RAP (Web-Applikation) betrieben werden (verschiedene Runtime Environments). Das Gute und Erstaunliche an der RCP/RAP Technologie besteht darin, das man aus einer RCP-Applikation, ohne sich jemals mit HTML/Java-Script Code auseinanderzusetzen oder in Berührung zu kommen, eine lauffähige Web-Applikation erstellen und betreiben kann, das Styling («look and feel») der Applikation erfolgt über ein entsprechendes Stylesheet. Der Einsatz dieser Technologie konnte mit diesem Projekt umgesetzt und bewiesen werden.

Für unseren Kunden SGU stellt des IAT Admin GUI einen grossen Mehrwert dar. Sie sind heute in der Lage Ihre Alarmpläne, Meldungs-Text Templates etc. selbstständig zu administrieren und konfigurieren. Zudem haben sie die volle Transparenz, wie die Alarmpläne aufgebaut sind und können im Supportfall anhand des Tools Problem-Analysen durchführen und – wenn nötig – Korrekturen vornehmen.

Es hat Spass gemacht diese Technologie kennen zu lernen und im Berufsumfeld zielgerecht einzusetzen.

 

Legende

RCP: Rich Client Platform (Desktop Applikation) [2]
RAP: Remote Application Platform, vormals Rich Ajax Platform (Web-Applikation) [1]
RWT: RAP Widget Toolkit (Gegenstück zu SWT)
SWT: Standard Widget Toolkit
OSGI: Open Services Gateway initiative (Framework Spezifikation : Komponentenmodel «Bundle/Service») [3]

 

Literaturnachweis

[1] RAP (Remote Application Platform) http://www.eclipse.org/rap/
[2] RCP (Rich Client Platform) https://wiki.eclipse.org/Rich_Client_Platform
[3] OSGI (Open Services Gateway initiative) https://de.wikipedia.org/wiki/OSGi

 

Posted on
in News, Passwort, Applikationen, Software, Arbeitsplätze, Support Tags: , , , ,