{"id":10772,"date":"2018-04-09T09:34:19","date_gmt":"2018-04-09T08:34:19","guid":{"rendered":"https:\/\/wpethzprd.ethz.ch\/id\/?p=10772"},"modified":"2018-04-09T09:36:27","modified_gmt":"2018-04-09T08:36:27","slug":"iat","status":"publish","type":"post","link":"https:\/\/blogs.ethz.ch\/id\/2018\/04\/09\/iat\/","title":{"rendered":"Informations- und Alarmierungs-Tool (IAT)"},"content":{"rendered":"<p>Die ETH Z\u00fcrich setzt ein Informations- und Alarmierungs-Tool (IAT) ein, welches seit 2017 produktiv im Einsatz ist.<\/p>\n<p>Es erlaubt dem Operator in der Alarmzentrale bei Evakuierungs- und Amok-Ereignissen auf Knopfdruck die Betroffenen, Funktionstr\u00e4ger, R\u00e4ume (z.B. H\u00f6rs\u00e4le, Computer-R\u00e4ume, etc.) zu alarmieren.<\/p>\n<p>F\u00fcr die Alarmierung werden folgende Kommunikationskan\u00e4le eingesetzt:<\/p>\n<ul>\n<li>digital signierte E-Mails<\/li>\n<li>Festnetzanrufe (Text-to-Speech)<\/li>\n<li>Kurzmitteilung (SMS) und Text-to-Speech aufs Mobiltelefon<\/li>\n<li>EVAK-Anlagen und Mobile Apps push-Notifikation (ab April 2018)<\/li>\n<\/ul>\n<p><!--more--><\/p>\n<p>In diesen Meldungen wird auf die Gef\u00e4hrdung, \u00f4rtlichkeit und zielgerichtetes Verhalten hingewiesen. Im Auftrag von SGU (Abteilung f\u00fcr Sicherheit, Gesundheit und Umwelt) wurden 2017 verschiedene produktive \u00dcbungsalarme (Evakuierung HCI und Verbarrikadierung ETH Zentrum) erfolgreich getestet und durchgef\u00fchrt.<\/p>\n<p>Die Administration und Konfiguration der IAT-Alarmpl\u00e4ne (welche Betroffenen, Funktionstr\u00e4ger, Anlagen, R\u00e4ume in welcher Priorit\u00e4t bei einem Ereignis informiert werden) erfolgte bis Anfang 2018 direkt auf der Datenbank. \u00c4nderungsw\u00fcnsche wie z.B. Alarmmeldungen konnten nicht direkt durch die SGU-Mitarbeitenden vorgenommen werden sondern mussten durch einen Datenbankadministrator von ID Software Services durchgef\u00fchrt werden.<\/p>\n<p><strong>IAT Admin GUI<\/strong><\/p>\n<p><a href=\"https:\/\/blogs.ethz.ch\/id\/files\/2018\/04\/iat_01.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-10776 size-full\" src=\"https:\/\/blogs.ethz.ch\/id\/files\/2018\/04\/iat_01.png\" alt=\"\" width=\"540\" height=\"390\" srcset=\"https:\/\/blogs.ethz.ch\/id\/files\/2018\/04\/iat_01.png 540w, https:\/\/blogs.ethz.ch\/id\/files\/2018\/04\/iat_01-300x217.png 300w\" sizes=\"auto, (max-width: 540px) 100vw, 540px\" \/><\/a><\/p>\n<p>Im Rahmen des IAT-Applikationsausbaus wurde von SGU Mitte 2017 der Auftrag erteilt, f\u00fcr die Administration und Konfiguration der IAT-Applikation ein Tool zu entwickeln damit SGU-Mitarbeitende auf der \u00abIAT Datenbank\u00bb \u00c4nderungen selbst\u00e4ndig durchf\u00fchren k\u00f6nnen (Alarmpl\u00e4ne, Alarmmeldungen, Gruppen &amp; Anlagen\/Areale\/Typen\/EVK Steuerbefehle verwalten und administrieren).<\/p>\n<p>Das IAT Admin GUI wurde im M\u00e4rz 2018 in Betrieb genommen.<\/p>\n<p><strong>Technische Umsetzung und verwendete Technologie<\/strong><\/p>\n<p>Bei der Entwicklung des IAT Admin Tools haben wir uns bewusst f\u00fcr 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.<\/p>\n<p>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\u00f6nnte auch als RAP-Applikation (webbasierte Applikation, Abbildung 2) betrieben werden.<\/p>\n<p><a href=\"https:\/\/blogs.ethz.ch\/id\/files\/2018\/04\/iat_02.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-10777 size-large\" title=\"Abbildung 1: IAT Admin GUI \u2013 RCP Applikation (Desktop Applikation)\" src=\"https:\/\/blogs.ethz.ch\/id\/files\/2018\/04\/iat_02-1024x853.png\" alt=\"\" width=\"640\" height=\"533\" srcset=\"https:\/\/blogs.ethz.ch\/id\/files\/2018\/04\/iat_02-1024x853.png 1024w, https:\/\/blogs.ethz.ch\/id\/files\/2018\/04\/iat_02-300x250.png 300w, https:\/\/blogs.ethz.ch\/id\/files\/2018\/04\/iat_02-768x640.png 768w, https:\/\/blogs.ethz.ch\/id\/files\/2018\/04\/iat_02.png 1200w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><br \/>\n<\/a><em>Abbildung <\/em><em>1<\/em><em>: IAT Admin GUI \u2013 RCP Applikation (Desktop Applikation)<\/em><\/p>\n<p><a href=\"https:\/\/blogs.ethz.ch\/id\/files\/2018\/04\/iat_03.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-10775 size-large\" src=\"https:\/\/blogs.ethz.ch\/id\/files\/2018\/04\/iat_03-1024x795.png\" alt=\"\" width=\"640\" height=\"497\" srcset=\"https:\/\/blogs.ethz.ch\/id\/files\/2018\/04\/iat_03-1024x795.png 1024w, https:\/\/blogs.ethz.ch\/id\/files\/2018\/04\/iat_03-300x233.png 300w, https:\/\/blogs.ethz.ch\/id\/files\/2018\/04\/iat_03-768x596.png 768w, https:\/\/blogs.ethz.ch\/id\/files\/2018\/04\/iat_03.png 1342w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><br \/>\n<\/a><em>Abbildung <\/em><em>2<\/em><em>: IAT Admin GUI \u2013 RAP Applikation (Web-Applikation)<\/em><\/p>\n<p><strong>Herausforderungen Entwickler \/ Entwicklungsprozess<\/strong><\/p>\n<p>Die gr\u00f6sste Herausforderung bestand darin, das RCP\/RAP-Framework zu verstehen und anzuwenden sowie ein fundiertes Verst\u00e4ndnis der zugrundeliegenden Technologien \u2013 OSGI, Eclipse Workbench \/ JFace \/ SWT, Eclipse RCP\/RAP und Plug-in Entwicklung zu erwerben.<\/p>\n<p>Bei der Entwicklung einer RCP-Applikation, welche sp\u00e4ter als RAP-Applikation betrieben werden soll, ist folgendes zu beachten:<\/p>\n<ol>\n<li>RAP (RWT-API) implementiert die RCP-API (SWT) nicht zu 100%; d.h. gewisse Methoden (z.B. \u00abPaintListener\u00bb), Klassen (z.B. \u00abFileDialog\u00bb) werden nicht unterst\u00fctzt oder sind in der gegenw\u00e4rtigen RAP-Version noch nicht vorhanden.<\/li>\n<li>Multiuser-F\u00e4higkeit: Es wird beabsichtigt, eine RCP in Zukunft als RAP-Applikation zu betreiben. Dabei ist zu beachten, dass die Applikation in einem Multiuser-Umfeld l\u00e4uft (gemeinsame VM, keine Singleton verwenden, etc.) und dementsprechend Vorkehrungen zu treffen.<\/li>\n<li>Runtime Environment: Eine RAP-Applikation wird typischerweise auf einem zentralen Server betrieben. Abkl\u00e4rungen bez\u00fcglich Deployment-Prozessen, Infrastruktur-Environment usw. m\u00fcssen mit den zust\u00e4ndigen BD abgekl\u00e4rt und vereinbart werden. F\u00fcr ID SWS RAP-Applikationen wird ein entsprechendes Environment (Docker-Container pro RAP-Applikation) und ein Deployment Prozess bis Mitte 2018 etabliert.<\/li>\n<\/ol>\n<p>Durch den Einsatz des Eclipse GUI-Designer \u00abSWT Designer\/Windows Builder\u00bb Plug-ins konnte bereits zu einer sehr fr\u00fchen Projekt-Phase (Spezifikations-Phase) das GUI-Design zusammen mit dem Kunden entwickelt und besprochen werden. Das GUI-Design konnte 1:1 in der Implementationsphase \u00fcbernommen und implementiert werden.<\/p>\n<p>Weiter kann die \u00fcbliche 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.<\/p>\n<p><strong>Runtime Environments<\/strong><\/p>\n<p>Im Rahmen einer kleinen Studie wurde das IAT Admin Tool in folgenden Target Runtime Environments getestet:<\/p>\n<ol>\n<li>RCP (Desktop Client, ist jetzt im <u>produktiven<\/u> Einsatz)<\/li>\n<li>RAP Environnent \u2013 Stand-Alone OSGI Server<\/li>\n<li>RAP Environment \u2013 WAR File in Tomcat-Servlet Container deployed<\/li>\n<li>RAP Environment \u2013 WAR File in WebLogic-Servlet Container deployed<\/li>\n<\/ol>\n<p><strong>Zusammenfassung<\/strong><\/p>\n<p>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\u00fchrung zu kommen, eine lauff\u00e4hige Web-Applikation erstellen und betreiben kann, das Styling (\u00ablook and feel\u00bb) der Applikation erfolgt \u00fcber ein entsprechendes Stylesheet. Der Einsatz dieser Technologie konnte mit diesem Projekt umgesetzt und bewiesen werden.<\/p>\n<p>F\u00fcr unseren Kunden SGU stellt des IAT Admin GUI einen grossen Mehrwert dar. Sie sind heute in der Lage Ihre Alarmpl\u00e4ne, Meldungs-Text Templates etc. selbstst\u00e4ndig zu administrieren und konfigurieren. Zudem haben sie die volle Transparenz, wie die Alarmpl\u00e4ne aufgebaut sind und k\u00f6nnen im Supportfall anhand des Tools Problem-Analysen durchf\u00fchren und \u2013 wenn n\u00f6tig \u2013 Korrekturen vornehmen.<\/p>\n<p>Es hat Spass gemacht diese Technologie kennen zu lernen und im Berufsumfeld zielgerecht einzusetzen.<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Legende<\/strong><\/p>\n<p>RCP: <u>R<\/u>ich <u>C<\/u>lient <u>P<\/u>latform (Desktop Applikation) [2]<br \/>\nRAP: <u>R<\/u>emote <u>A<\/u>pplication <u>P<\/u>latform, vormals Rich Ajax Platform (Web-Applikation) [1]<br \/>\nRWT: <u>R<\/u>AP <u>W<\/u>idget <u>T<\/u>oolkit (Gegenst\u00fcck zu SWT)<br \/>\nSWT: <u>S<\/u>tandard <u>W<\/u>idget <u>T<\/u>oolkit<br \/>\nOSGI: <u>O<\/u>pen <u>S<\/u>ervices <u>G<\/u>ateway <u>i<\/u>nitiative (Framework Spezifikation : Komponentenmodel \u00abBundle\/Service\u00bb) [3]<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Literaturnachweis<\/strong><\/p>\n<p>[1] RAP (Remote Application Platform) <a href=\"http:\/\/www.eclipse.org\/rap\/\">http:\/\/www.eclipse.org\/rap\/<br \/>\n<\/a>[2] RCP (Rich Client Platform) <a href=\"https:\/\/wiki.eclipse.org\/Rich_Client_Platform\">https:\/\/wiki.eclipse.org\/Rich_Client_Platform<br \/>\n<\/a>[3] OSGI (Open Services Gateway initiative) <a href=\"https:\/\/de.wikipedia.org\/wiki\/OSGi\">https:\/\/de.wikipedia.org\/wiki\/OSGi<\/a><\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Die ETH Z\u00fcrich setzt ein Informations- und Alarmierungs-Tool (IAT) ein, welches seit 2017 produktiv im Einsatz ist.<\/p>\n","protected":false},"author":40179,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[25,1181,1177,898],"tags":[179806,179719,173216,229050,104272],"class_list":["post-10772","post","type-post","status-publish","format-standard","hentry","category-news","category-passwort-applikationen","category-software-arbeitsplatze","category-support","tag-applikationsentwicklung","tag-iat","tag-id-software-services","tag-informations-und-alarmierungs-tool","tag-sw-entwicklung"],"_links":{"self":[{"href":"https:\/\/blogs.ethz.ch\/id\/wp-json\/wp\/v2\/posts\/10772","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.ethz.ch\/id\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.ethz.ch\/id\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.ethz.ch\/id\/wp-json\/wp\/v2\/users\/40179"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.ethz.ch\/id\/wp-json\/wp\/v2\/comments?post=10772"}],"version-history":[{"count":0,"href":"https:\/\/blogs.ethz.ch\/id\/wp-json\/wp\/v2\/posts\/10772\/revisions"}],"wp:attachment":[{"href":"https:\/\/blogs.ethz.ch\/id\/wp-json\/wp\/v2\/media?parent=10772"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.ethz.ch\/id\/wp-json\/wp\/v2\/categories?post=10772"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.ethz.ch\/id\/wp-json\/wp\/v2\/tags?post=10772"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}