ALFSA - BFKDO Tulln

Transcription

ALFSA - BFKDO Tulln
ALFSA
Atemluftfüllstellenapplikation
vorläufige Dokumentation
26. Jan. 2011
ALFSA
INHALTSVERZEICHNIS
Inhaltsverzeichnis
Inhaltsverzeichnis
1
I
3
Allgemeines
1 Überblick
1.1 Hintergrund . . . . . . . . . . . . . . . . . . . . . . .
1.1.1 Bestehende QS-Systeme im Atemschutzbereich
1.1.2 Version 0.1 in Tulln . . . . . . . . . . . . . . .
1.1.3 Diplomarbeit an der HTBLuVA St. Pölten . .
1.2 Konzept von ALFSA . . . . . . . . . . . . . . . . . .
1.3 Informations-Webseite . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
4
4
4
5
5
5
6
II
Bedienung
7
III
Technik
8
2 Struktur und System
2.1 gespeicherte Daten . . . .
2.1.1 Datenbanktabellen
2.2 allgemeine Struktur . . . .
2.2.1 Server . . . . . . .
2.2.2 Clients . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
9
9
9
11
12
12
3 Datenaustausch
3.1 Synchronisation . . . . . . . . .
3.1.1 Server-Server . . . . . .
3.1.2 Server-Client . . . . . .
3.1.3 Software-Update . . . .
3.1.4 Zeitsynchronisation . . .
3.2 Sicherheit . . . . . . . . . . . .
3.2.1 berechtigter Zugriff . . .
3.2.2 am Client . . . . . . . .
3.2.3 am Server . . . . . . . .
3.2.4 Verfügbarkeit der Server
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
13
13
13
13
14
14
15
15
16
16
16
ALFSA-Entwicklungsteam
.
.
.
.
.
.
.
.
.
.
Seite 1
ALFSA
INHALTSVERZEICHNIS
3.2.5
Sicherheit der Synchronisation . . . . . . . . . . . . . . . . . . . . . . .
4 Umsetzung
4.1 Soft- und Hardware . . . . . . . . . . . .
4.2 Hardware . . . . . . . . . . . . . . . . .
4.2.1 Allgemein . . . . . . . . . . . . .
4.2.2 Standard-Version: Panel-PC . . .
4.2.3 Individual-Version: Standard-PC
4.3 Server-Software . . . . . . . . . . . . . .
4.4 Client-Software . . . . . . . . . . . . . .
4.4.1 Allgemein . . . . . . . . . . . . .
4.4.2 Standard-Version: Panel-PC . . .
4.4.3 Standard-Version: live-Linux . . .
4.4.4 Individual-Version: Standard-PC
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
16
18
18
18
18
18
19
19
20
20
21
21
22
Verzeichnisse
23
Abbildungsverzeichnis
23
ALFSA-Entwicklungsteam
Seite 2
ALFSA
Teil I
Allgemeines
ALFSA-Entwicklungsteam
Seite 3
ALFSA
KAPITEL 1. ÜBERBLICK
Kapitel 1
Überblick
1.1
Hintergrund
Qualitätssicherung ist im Atemschutzeinsatz der Feuerwehren ein Lebensnotwendiges Muss.
Diese wurde bisher in Papierform in Listen und Tabellen durchgeführt. ALFSA soll diese Qualitätssicherung auf den neuesten Stand bringen. Gleichzeitig sollen die Vorteile von modernen
Datenbanken optimal genutzt werden.
Bei Einsätzen, Übungen oder Schulungen wird auf Clients bei den Kompressoren jede Füllung
von Atemluftflaschen erfasst. Ebenso können Mängel von Atemluftflaschen und Kompressoren
in das System eingegeben werden. Beim Füllen einer Flasche mit Mängel wird automatisch
vor dem Mangel gewarnt. Weiters werden Prüfungen von Flaschen und Kompressoren erfasst.
Die Daten werden in einer verteilten Datenbank auf mehreren Servern gehalten um maximale
Ausfallssicherheit zu gewährleisten. Die Clients bei den Kompressoren werden wiederum mit
einem Server synchonisiert um die Daten aktuell zu halten.
1.1.1
Bestehende QS-Systeme im Atemschutzbereich
Bestehende Qualitätssicherungssysteme im Bereich Atem- und Körperschutz des Österreichischen Feuerwehrwesens sind auf handschriftlich geführte Tabellen und Listen beschränkt. Diese sind für die reine Dokumentation zwar ausreichend, können allerdings nur vom zuständigen
Atemschutzwart abgerufen werden und erschweren statistische Auswertungen über Gerätebenutzung, Fehleranfälligkeit und Störungen. Weiters ist die Überwachung von Wartungs- und
Prüfungsintervallen nur aufwendig möglich.
Bestehende Softwarelösungen verschiedener Firmen bieten den kompletten Funktionsumfang
des Gerätebetriebs, der Pflege, Wartung, Prüfung, Zulassung, etc., sind aber für den nicht
ständig geschulten Benutzer unübersichtlich und bedienerunfreundlich. Eine Vernetzung zur
ALFSA-Entwicklungsteam
Seite 4
ALFSA
KAPITEL 1. ÜBERBLICK
Datensynchronisation ist bei diesen Systemen allerdings nicht vorgesehen.
(Quelle: Johannes Ofner, ALFSA-Kick-Off-Projektbeschreibung)
1.1.2
Version 0.1 in Tulln
Die erste Version von ALFSA wurde in der Feuerwehr Tulln im Zuge der Anschaffung eines Atemluft-Wechselladecontainers entwickelt. Dabei wurde die Software für einen Standort
unter Verwendung eines Kompressors und den Atemluftflaschen der Feuerwehr Tulln-Stadt
konzipiert.
Rasch erkannten einige umliegende Feuerwehren bei diversen Einsätzen und Übungen die
Vorzüge des System gegenüber händisch aufgezeichneten Listen und interessierten sich für
das Projekt. Daraus entwickelte sich in weiterer Folge die aktuelle Version von ALFSA als
Mehrbenutzersystem mit mehreren Atemluftfüllstellen und beteiligten Feuerwehren.
Siehe auch ALFSA-Kick-Off-Projektbeschreibung:
http://alfsa.bfkdo-tulln.at/files/ALFSA.pdf
1.1.3
Diplomarbeit an der HTBLuVA St. Pölten
Die erste Entwicklung und Implementierung der Version für mehrere Feuerwehren wurde an
der HTBLuVA St. Pölten im Rahmen einer Diplomarbeit durchgeführt. Das Hauptaugenmerk
dieser Diplomarbeit beschäftigte sich mit dem Austausch der Daten zwischen allen beteiligen
Füllstellen und Feuerwehren.
Siehe auch Dokumentation der Diplomarbeit:
http://alfsa.bfkdo-tulln.at/files/ALFSA-dokumentation-final.pdf
und Dokumentation der Projektarbeit:
http://alfsa.bfkdo-tulln.at/files/projektarbeit aaron doku semesterabgabe.pdf
1.2
Konzept von ALFSA
Kernziel von ALFSA ist, QS-Daten von Atemschutzgeräten an allen teilnehmenden Atemluftompressoren bereitzustellen, sodass Wartungs-, Prüf- und Mängelstatus von Atemschutzflaschen Füllstellenübergreifend verfügbar sind. Ein Client entspricht einer Atemluftfüllstelle,
der verschiedene Feuerwehren ihrer Umgebung zugeordnet sind. Dieser Client übernimmt die
Wartung der Gerätedaten der zugeordneten Feuerwehren. Die Flaschendaten stehen über die
Client-Server-Synchronisation dann auch anderen Füllstellen zur Verfügung. Dadurch können
ALFSA-Entwicklungsteam
Seite 5
ALFSA
KAPITEL 1. ÜBERBLICK
vermerkte Mängel oder überschrittene Prüfintervalle frühzeitig erkannt und die entsprechenden Geräte aus dem Einsatz genommen werden.
ALFSA wird auf Basis eines Client-Server-Systems konzipiert. Während die Clients ausschließlich die für sie vorgesehenen Daten lesen und bearbeiten dürfen, werden über die Datenbankserer des Systems alle Daten synchronisiert. Mittels zentralem WWW-Server erfolgt die Administration des Gesamtsystemes. Ein Bereitstellungs- und Updateserver stellt das Clientsystem
bereit und liefert Systemupdates aus. Die Synchronisation der Clients mit dem zuständigen
oder erreichbaren Server erfolgt asynchron, da die Clients an den jeweiligen Einsatzorten im
Regelfall offline betrieben werden müssen. Diese asynchrone Datenmanipulation stellt einige
spezielle Anforderungen an das Server-System und die Client-Server-Kommunikation.
(Quelle: Johannes Ofner, ALFSA-Kick-Off-Projektbeschreibung; aktualisiert)
1.3
Informations-Webseite
Allgemeine Informationen und aktuelle Neuigkeiten in der Atemluftfüllstellenapplikation sind
online auf einer Informations-Webseite verfügbar:
http://alfsa.bfkdo-tulln.at/
ALFSA-Entwicklungsteam
Seite 6
ALFSA
Teil II
Bedienung
ALFSA-Entwicklungsteam
Seite 7
ALFSA
Teil III
Technik
ALFSA-Entwicklungsteam
Seite 8
ALFSA
KAPITEL 2. STRUKTUR UND SYSTEM
Kapitel 2
Struktur und System
2.1
gespeicherte Daten
In ALFSA werden alle Daten gespeichert, die beim Betrieb einer Atemluftfüllstelle aufgezeichnet werden müssen. Dies enthält neben den statischen Daten von Kompressoren, Atemluftflaschen und Benutzern auch die Füllungen der Atemluftflaschen, deren Prüfungen und
eventuelle Mängelaufzeichnungen.
Zu den Personen, also Füllberechtigte, Sachbearbeiter und Administratoren, werden nur ein
Minimum an benötigten Daten gespeichert. Es liegen im Wesentlichen nur Feuerwehrnummer, Standesbuchnummer, Passwort und Berechtigungen vor. Weitere (personenbezogene)
Daten (z.B. Email, Telefon, usw.) werden bewusst nicht gespeichert, um eine ungewünschte
Redundanz in Bezug auf andere Systeme zu vermeiden.
2.1.1
Datenbanktabellen
In der Datenbank sind folgende Tabellen vorhanden, wobei aktuell nicht alle Tabellen tatsächlich
von der Software verwendet werden, bzw. mit Daten gefüllt sind, sondern für künftige Erweiterungen bereit stehen. Weiters werden nicht alle dieser Tabellen von den Servern auf die
Clients übertragen. Auf den Clients werden nur die jeweils benötigten Daten gehalten.
• abschnitte
• atemluftflaschen
• atemluftflaschen fuellung
• atemluftflaschen maengel
• atemluftflaschen pruefung
ALFSA-Entwicklungsteam
Seite 9
ALFSA
KAPITEL 2. STRUKTUR UND SYSTEM
• atemschutzgeraete
• atemschutzgeraete maengel
• atemschutzgeraete pruefung
• atemschutzgeraete wartung
• atemschutzmasken
• atemschutzmasken maengel
• atemschutzmasken wartung
• barcodes
• benutzer
• benutzer anmeldung
• benutzer schulung
• bezirke
• client
• dienstgrade
• einsatz
• feuerwehren
• fremdflaschen
• fremdflaschen fuellung
• fuell sitzung
• fuellstelle
• geraetetraeger
• geraetetraeger untersuchung
• gruppen
• gruppen user
• kompressoren
• kompressoren maengel
• kompressoren pruefung
• kompressoren wartung
ALFSA-Entwicklungsteam
Seite 10
ALFSA
KAPITEL 2. STRUKTUR UND SYSTEM
• nachrichten
• nachrichten gelesen
• permission
• person
• person kontakt
• person telefon
• rollen
• schulung
• server
• server details
• sync
• sync server log
• sync vorgang
• verbindungskennung
2.2
allgemeine Struktur
Grundsätzlich ist die physische Struktur von ALFSA durch ein Servernetzwerk und Clients
bei Atemluftfüllstellen gegeben. Im Servernetzwerk werden sämtliche Daten redundant gespeichert und laufend synchronisiert. Die Clients halten nur die für sie relevanten Daten. Diese
wiederum werden asynchron und unregelmäßig mit dem Servernetzwerk synchronisiert. Ein
dauerhafter Internetzugang wird für die Clients nicht vorausgesetzt und der Betrieb erfolgt
Situationsbedingt fast ausschließlich ohne aktiver Internetverbindung.
Die Struktur stellt sich wie in folgender Grafik gezeigt, dar.
ALFSA-Entwicklungsteam
Seite 11
ALFSA
KAPITEL 2. STRUKTUR UND SYSTEM
Abbildung 2.1: Struktur der verteilten Datenbank
2.2.1
Server
Das Servernetzwerk besteht zur Zeit (26. Jän. 2011) aus 3 Servern. Zwei davon befinden sich
im Feuerwehrhaus Sieghartskirchen, einer im Feuerwehrhaus Tulln.
2.2.2
Clients
Sowohl Panel-PCs in Atemluftanhängern, als auch Stand-PCs bei stationären Füllstellen bilden die Clients. Grundsätzlich ist der Einsatz verschiedenster Hardware als auch Betriebssysteme möglich, jedoch wird ein Panel-PC mit Linux empfohlen (siehe weitere Kapitel).
ALFSA-Entwicklungsteam
Seite 12
ALFSA
KAPITEL 3. DATENAUSTAUSCH
Kapitel 3
Datenaustausch
3.1
3.1.1
Synchronisation
Server-Server
Die Synchronisation zwischen den Servern erfolgt zeitgesteuert und vollautomatisch. Dabei
werden die Daten jeweils über getunnelte Direkt-Verbindungen im Pull-Prinzip synchronisiert. Das heißt, jeder Server baut sequenziell zu jedem Server eine Verbindung auf und holt
veränderte, neue Daten ab.
Die Synchronisation wird via Cron-Job gestartet und in PHP ausgeführt. Wobei zuerst ein
SSH-Tunnel auf den entfernten Server aufgebaut ist und darüber auf die entfernte Datenbank
zugegriffen wird. Per Zeitstempel-Verfahren werde die neuen Daten ermittelt und auf den
lokalen Server übertragen. Nach der vollständigen Synchronisation wird der Tunnel wieder
abgebaut und die Synchronisation mit weiteren Server durchgeführt.
3.1.2
Server-Client
Die Datensynchronisation der Clients erfolgt im Gegensatz zur Server-Server-Synchronisation
nur zu stochastischen Zeitpunkten. Einerseits wird beim starten des Programms auf eine
bestehende Internetverbindung geprüft und gegebenenfalls eine Synchronisation durchgeführt.
Andererseits wird auch beim Abmelden von Benutzer eine Synchronisation gestartet, falls
Server erreichbar sind. Zuletzt gibt es noch die Möglichkeit, wenn der Client dauerhaft online
ist, alle 8 bis 12 Stunden automatisch eine Synchronisation durchzuführen.
Die Synchronisation des Clients wird nicht direkt auf die Datenbank des Servers ausgeführt,
sondern über die ALFSA-Software am Server. Dabei wird beim eintragen von Daten auf
den Server eine Integritätsprüfung durchgeführt, und die Berechtigung zur Datenmanipu-
ALFSA-Entwicklungsteam
Seite 13
ALFSA
KAPITEL 3. DATENAUSTAUSCH
lation durch den Client geprüft. Dies erfolgt per HTTPS-Anfragen, wobei die Daten per
HTTP-POST übertragen werden. Die Daten für den Client werden als normale HTTP-Daten
übertragen.
Folgende TCP-Ports werden für die Client-Server-Synchronisation verwendet.
• 443
• 50443 (optional, für einige Server)
3.1.3
Software-Update
Software-Aktualisierungen werden nicht automatisch ausgeführt, sondern müssen von einem
berechtigten Benutzer des Clients (Berechtigung “Systembetreuer“) gestartet werden. Dabei
werden veränderte Programmdateien via SVN vom Repository-Server geholt.
Das online Software-Update ist nur für manche Änderungen (kleinere Updates) geeignet.
Ebenso ist es nur auf Linux-Installationen (siehe weitere Kapitel) möglich. Änderungen an
der Installation selbst oder am Betriebssystem können durch das Software-Update von ALFSA
nicht vorgenommen werden.
Folgende TCP-Ports werden für das Software-Update verwendet.
• 443
3.1.4
Zeitsynchronisation
Bei jeglicher Synchronisierung von Daten ist es erforderlich, dass die Zeit hinreichend synchron
läuft. Die Zeit der Server muss bis auf wenige Sekunden gleich laufen. Für die Clients ist eine
Abweichung von einigen Minuten verträglich. Würde der Zeitversatz bei der Synchronisation
von zu groß werden, so wäre es möglich dass unplausible Daten produziert werden. Dazu wird
das Protokoll NTP (Network Time Protocol) und das Linux-Programm ntpdate bzw. der
Linux-Dienst ntpd verwendet. Bei der Client-Server Synchronisation wird ntpdate vor jeder
Synchronisation ausgeführt. Auf den Servern sorgt der Dienst ntpd für eine ständig synchrone
Zeit. Aktuell wird als Zeitserver der öffentliche Server der Universität Wien ts1.univie.ac.at
verwendet.
Folgende UDP-Ports werden für die Zeitsynchronisation verwendet.
• 123
ALFSA-Entwicklungsteam
Seite 14
ALFSA
3.2
KAPITEL 3. DATENAUSTAUSCH
Sicherheit
Ein wesentlicher Aspekt von ALFSA ist die Sicherheit der Daten und des gesamten Systems
selbst. Besonders das Schutzziel “Integrität“ ist von zentraler Bedeutung, da die Aufzeichnungen der Qualitätssicherung klarerweise nicht verfälscht werden dürfen. Auch das Schutzziel
der “Verfügbarkeit“ spielt vor allem beim Servernetzwerk eine Rolle. Eine Vielzahl an Maßnahmen soll sicherstellen, dass diese Ziele erreicht werden.
3.2.1
berechtigter Zugriff
Ein Zugriff auf Daten ist nur nach vorhergehender Legitimation möglich. Feuerwehrnummer,
Standesbuchnummer und Passwort bilden die Grundlage zur Anmeldung am System. Diese
Login-Daten werden sowohl am Server, als auch am Client verwendet.
Berechtigungsvergaben mit unterschiedlicher Granularität und Rollen stellen sicher, dass nur
berechtige Personen die jeweiligen Daten einsehen und Aktionen ausführen können.
Folgende Ebenen der Rechtevergabe stehen zur Verfügung:
• Füllstelle
• Feuerwehr
• Abschnitt
• Bezirk
• Gesamt
Folgende Rollen stehen zur Verfügung:
• fuellberechtigter
• systembetreuer
• sachbearbeiter
• datenpfleger
• administrator
ALFSA-Entwicklungsteam
Seite 15
ALFSA
3.2.2
KAPITEL 3. DATENAUSTAUSCH
am Client
Je nach individueller Konfiguration des Clients werden Standart-Sicherheitsmaßnahmen gegen
Viren udgl. vorausgesetzt.
Bei Clients als “Standard-Version: Panel-PC“ oder “Standard-Version: live-Linux“ (siehe weitere Kapitel) wird dies einerseits durch die Wahl der Betriebssystems als auch durch die
restriktive Konfiguration umgesetzt. So ist es insbesondere beim Panel-PC dem Anwender
nicht möglich andere Programme zu starten, Software zu installieren oder Konfigurationen zu
verändern.
3.2.3
am Server
Auf sämtlichen Server wird Linux eingesetzt, welches entsprechend den Sicherheitsanforderungen konfiguriert und abgesichert ist. Ein betrieb von anderen Anwendungen auf den gleichen
Servern wird so weit als möglich vermieden. Weiters werden Firewalls bzw. reverse Proxies
eingesetzt um die Server von Angriffen aus dem Internet abzuschirmen und nur die benötigten
Ports auf die Server weitergeleitet.
3.2.4
Verfügbarkeit der Server
Zur Erhöhung der Verfügbarkeit wird im gesamten System nicht nur ein Server, sondern ein
erweiterbares Servernetzwerk eingesetzt. Eine Synchronisation des Clients ist bereits möglich,
wenn ein Server gefunden wird und eine Verbindung hergestellt werden kann.
Das Servernetzwerk besteht zur Zeit (26. Jän. 2011) aus 3 Servern. Zwei davon befinden sich
im Feuerwehrhaus Sieghartskirchen, einer im Feuerwehrhaus Tulln. Ein Server in Sieghartskirchen wird zur Zeit als “Cold-Standy“ eingesetzt, die anderen beiden laufen aktiv im System.
Sollte das System sich auf weitere Bezirke ausdehnen, werden weitere Server an weiteren
geografisch entfernten Standorten zwecks weitere Erhöhung der Diversität etabliert werden.
Im Servernetzwerk wird täglich ein gesamtes Backup der Daten angelegt.
3.2.5
Sicherheit der Synchronisation
Ein Wesentlicher Bestandteil des gesamten Systems ist die Synchronisation. Weiters ist dieser
Bereich besonders gefährdet, da der Datenaustausch über das Internet stattfindet. Daher
wurden besondere Sicherheitsmaßnahmen getroffen, um die Sicherheit bei der Synchronisation
zu gewährleisten.
ALFSA-Entwicklungsteam
Seite 16
ALFSA
KAPITEL 3. DATENAUSTAUSCH
Server-Server
Die Server-Server Synchronisation findet über einen SSH-Tunnel statt. Zum Aufbau des Tunnels wird ein 2048-bit-RSA Schlüssel verwendet. Die Authentifizierung erfolgt über den PublicKey des jeweiligen Servers. Erst durch diesen geschützten Tunnel hindurch wird auf die Datenbank zugegriffen. Ein Zugriff auf die Datenbank von außen ist nicht möglich.
Server-Client
Zur Übertragung der Daten vom Server auf den Client und umgekehrt, wird prinzipiell nur
verschlüsseltes HTTPS verwendet. Die Daten werde vom Client als HTTP-POST Daten an
die ALFSA-Software am Server gesendet. Dort erfolgt eine Plausibilitätsüberprüfung sowie
die Prüfung der Berechtigung des Clients für die Datenänderung. Weiters wird eine ALFSAInterne Signatur mittels Prüfsumme geprüft. Diese wird mit einer Verbindungskennung, die
am Client konfiguriert werden muss, erstellt. Nur wenn diese Prüfungen positiv ausfallen,
werden die Daten in die Datenbank des Servernetzwerkes eingefügt. Ebenfalls werden Daten
nur an den Client übertragen, wenn die Prüfung der Verbindungskennung positiv ausfällt.
ALFSA-Entwicklungsteam
Seite 17
ALFSA
KAPITEL 4. UMSETZUNG
Kapitel 4
Umsetzung
4.1
Soft- und Hardware
4.2
Hardware
Zum Betrieb von ALFSA werden keine hohen Anforderungen bezüglich Rechnerleistung oder
Speicherkapazität an die Hardware gestellt. Eher liegt das Augenmerk auf der Zuverlässigkeit
der Hardware, der Bedienungsfreundlichkeit und dem Wartungsaufwand.
4.2.1
Allgemein
Im Allgemeinen wird ein Computer mit einem Bildschirm von mindestens 1024x768 Pixel und
einem Barcode-Scanner benötigt.
Als nichtflüchtigen Speicher werden anstatt einer Festplatte teilweise USB-Sticks eingesetzt
(siehe auch folgende Kapitel), um einerseits einen einfacheren Austausch bei großen SoftwareUpdates zu ermöglichen und andererseits keine bewegten Teile im Industrie-PC zu haben.
4.2.2
Standard-Version: Panel-PC
In der nachfolgend aufgelisteten Konfiguration wird ein Industrie-Panel-PC verwendet. Dieser
wird nicht mit einer Festplatte, sondern einem USB-Stick als Systemdisk betrieben. Somit
ist eine System vorhanden, das keine bewegten Teile hat (Solid-State) und damit den rauen
Anforderungen in einem Atemluftkompressor genügen sollte. Am System-USB-Stick ist Linux
als Betriebssystem installiert sowie alle nötigen Programme um ALFSA automatisch beim
Einschalten des Panel-PCs zu starten.
ALFSA-Entwicklungsteam
Seite 18
ALFSA
KAPITEL 4. UMSETZUNG
Ein weiterer Vorteil liegt darin, dass mit exakt der gleichen Hardware an mehreren Standorten
die Software leicht untereinander ausgetauscht werden kann. Das heißt der Aufwand für die
Einrichtung und Aktualisierung fällt nur einmal an. Dann kann das System auf den USBSticks einfach kopiert werden und in einem anderen Kompressor eingesetzt werden. Somit
muss bei einem System-Update nur der USB-Stick ausgetauscht werden, das System neu
gestartet und die Datensynchronisation gestartet werden.
Weiters verfügt der Panel-PC im Gegensatz zu handelsüblichen Notebooks über einen TouchScreen, der die Bedienung wesentlich vereinfacht.
Teilweise Hardwareliste der 6 Füllstellen in den Abschnitten Tulln und Atzenbrugg, welche
den Panel-PC verwenden.
• Panel-PC: Aaeon TF-AOP-8120XT-A4-1110
• Displayschutzfolie: Vikuiti ARMR200
• USB-Stick: Sandisk Cruzer Micro Skin 8 GB (oder Corsair Voyager mini 4 GB)
• Barcode-Scanner: PSC QS6000 Plus
• USV: APC APC Back UPS CS 650
• WLAN-Bridge: 2x Linksys WAP54G
4.2.3
Individual-Version: Standard-PC
Die Leistungsdaten eines heutigen durchschnittlichen Computers von etwa 2Ghz und 1GB
Ram reichen vollkommen aus, um ALFSA unter verschiedenen Betriebssystemen zu betreiben.
Ein Internet-Zugang wird zwecks Synchronisation zumindest zeitweise benötigt. Dazu wird in
mobilen Versionen eine WLAN-Bridge empfohlen.
Der Bedienkomfort lässt sich durch Verwendung eines Tochscreens erheblich steigern, da die
komplette Software für die Bedienung per Touchscreen optimiert ist. Der Einsatz einer Displayschutzfolie wird empfohlen.
Der Barcode-Scanner sollte per PS2 oder USB angeschlossen werden, und muss als TastaturDevice konfiguriert werden. Der verwendete Barcode-Standard ist “Interleaved 2 of 5“ (auch
genannt “i25“) und muss vom Barcode-Scanner mit variabler Zeichenlänge (zumindest 8 und
6) unterstützt werden.
4.3
Server-Software
ALFSA wurde in PHP programmiert und steht als Open-Source-Software zur Verfügung. Außer der selbst entwickelten Atemluftfüllstellenapplikation läuft auf den Servern unter anderem
ALFSA-Entwicklungsteam
Seite 19
ALFSA
KAPITEL 4. UMSETZUNG
noch folgende Software.
• Betriebsystem: Debian
• Webserver: Apache
• Datenbank: mySQL
• openSSL
4.4
Client-Software
Auch der Client-Teil wurde in PHP programmiert und steht als Open-Source-Software zur
Verfügung. Dies wurde großteils aus Gründen der Plattformunabhängigkeit in Bezug auf das
Betriebssystem gewählt. Anfangs war auch der Einsatz einer Virtualisierungsumgebung angedacht aber schlussendlich nicht umgesetzt. Zur Ausführung der PHP-Skripte sind eine ApacheInstallation und weitere Programme auf dem jeweiligen Betriebssystem erforderlich. Davon
unabhängig kann aber die Plattform prinzipiell frei gewählt werden.
4.4.1
Allgemein
Das Konzept zum Einsatz von ALFSA auf den Clients bei den Füllstellen sieht zur Zeit 3
Möglichkeiten vor.
• Standard-Version: Panel-PC
Hardware wie in vorhergehenden Kapitel beschrieben. ALFSA auf USB-Stick mit Debian als Betriebssystem installiert.
• Standard-Version: live-Linux
Als Hardware wird ein Standard-PC verwendet. ALFSA wird nur von einem USB-Stick
mit Knoppix gestartet.
• Individual-Version: Standard-PC
Als Hardware wird ein Standard-PC verwendet. ALFSA wird auf beliebigem Betriebssystem installiert.
Diese Varianten werden in den folgenden Kapiteln näher beschrieben. Unabhängig davon
werden unter anderem folgende Sofware verwendet.
• Betriebsystem: Debian / Knoppix / oder eigene Installation
• Webserver: Apache
ALFSA-Entwicklungsteam
Seite 20
ALFSA
KAPITEL 4. UMSETZUNG
• Datenbank: mySQL
• openSSL
• ntpdate
• cURL
• Browser: Opera / Firefox / oder andere
4.4.2
Standard-Version: Panel-PC
Durch mehrfach verwendete gleiche Hardware war es rentabel, eine spezielle BetriebsystemInstallation und Softwarekonfiguration für diese Variante zur Verfügung zu stellen. Ein USBStick wird hierbei statt einer Festplatte als Systemdisk eingesetzt. Darauf ist Debian in einer
Minimalversion mit schlanker grafischen Oberfläche (fluxbox) installiert. Ebenfalls wurden
die Touchscreen-Treiber für das verwendete Modell eingebunden, sodass eine ausschließliche
Bedienung mit der Toch-Oberfläche möglich ist. Das System wurde so konfiguriert, dass ALFSA beim hochfahren automatisch startet, und aus der Oberfläche der PC abgeschaltet werden
kann.
Bei wesentlichen Systemänderungen oder auch bei Software- oder Betriebssystem-Updates
wird es eine neue Version des USB-Sticks geben, der nur ausgetauscht werden muss.
4.4.3
Standard-Version: live-Linux
Speziell für stationäre Füllstellen wurde in letzter Zeit eine live-Version entwickelt. Diese soll
die Vorzüge des einfachen Software-Austausches via USB-Stick auf individuellen StandardPCs ermöglichen.
Im Detail ist auf einem USB-Stick ein Knoppix-Image vorhanden. Dazu wurden sämtliche
benötigten Programme für ALFSA persistent darauf installiert. Zur Verwendung dieser Version muss der jeweilige Computer nur vom USB-Stick gebootet werden und ALFSA startet
automatisch. Auch das Abschalten ist via Oberfläche möglich.
Spezielle Hardware-Gegebenheiten (Tochscreen, Netzwerkdrucker, exotische Netzwerkkarte)
können vom Knoppix-Image eventuell nicht erkannt werden. Daher kann die Verwendbarkeit
dieser Version nicht garantiert werden.
Bei wesentlichen Systemänderungen oder auch bei Software- oder Betriebssystem-Updates
wird es ebenfalls eine neue Version des USB-Sticks geben, der nur ausgetauscht werden muss.
ALFSA-Entwicklungsteam
Seite 21
ALFSA
4.4.4
KAPITEL 4. UMSETZUNG
Individual-Version: Standard-PC
Natürlich ist auch die Installation von ALFSA auf einem beliebigen Computer mit individuellem Betriebssystem möglich. Die Installation kann jedoch seitens der Entwickler nicht auf
jedem Client einzeln durchgeführt werden.
Bei individuellen Lösungen muss auf jedem einzelnen einzelnen Computer das System installiert und später händisch aktualisiert werden. Dies setzt voraus, dass in der Feuerwehr oder
im Zuständigkeitsbereich des Kompressors eine kompetente Person gefunden wird und auch
bereit ist, diese Aufgabe zu übernehmen. Weiters sind allfällige Updates des Betriebssystems
usw. selbstständig durchzuführen.
ALFSA-Entwicklungsteam
Seite 22
ALFSA
ABBILDUNGSVERZEICHNIS
Abbildungsverzeichnis
2.1
Struktur der verteilten Datenbank . . . . . . . . . . . . . . . . . . . . . . . . .
ALFSA-Entwicklungsteam
12
Seite 23