![MLVAplus.net logo MLVAplus.net](mlvaplus/logoMLVAplus.png)
Der große Erfolg der MIRU-VNTR
plus Anwendung machte eine Verallgemeinerung der
Anwendung für weitere Erreger und Typisierungsarten wünschenswert. Diesen Wunsch habe ich in der MLVA
plus.net Anwendung umgesetzt, die ich in den Jahren 2008-2011 während meiner Zeit als PostDoc am Universitätsklinikum Münster selbständig entwickelt habe.
Neben einer Unterstützung für eine Vielzahl von Typisierungsdaten können verschiedene Nutzer angelegt werden. Ein Rechtemanagement erlaubt es, den Zugriff auf bestimmte Daten auf einen bestimmten Benutzerkreis einzuschränken. Über die Weboberfläche kann die Administration der Datenbanken, der Benutzerkonten und der Zugriffskontrolle übersichtlich durchgeführt werden.
Technik
Die Umsetzung erfolgte mittels Java und JavaServer Faces (JSF, Apache MyFaces). Wo es sinnvoll ist (z.B. für Bilder), kommen Servlets und JavaServer Pages (JSP) zum Einsatz. Zur intuitiven Gestaltung der Benutzeroberfläche werden AJAX-Komponenten für JSF (JBoss RichFaces 3) und JavaScript verwendet.
Zur Konfiguration werden XML-Dateien verwendet, die durch Java Architecture for XML Binding (JAXB) serialisiert werden. Zur Speicherung der Typisierungsdaten können
verschiedene CSV-Dateien und SQL-Datenbanken verwendet werden (MySQL und PostgreSQL).
Es wurde berücksichtigt, dass große Mengen von Daten verwaltet werden können.
MLVA
plus.net kann problemlos mit Typisierungsinformationen für mehr als 100000
Isolate verwendet werden. Zeitaufwendige Berechnungen oder Datenbankvergleiche können
dabei als Hintergrundprozess durchgeführt werden.
Die eigentliche Präsentationsschicht ist von der Logikschicht losgelöst. Die Präsentationsschicht kann über eine Schnittstelle
mit der Logikschicht kommunizieren und wird als
Observer über Veränderungen in den Daten informiert. Der Zugriff auf Benutzerdaten und
Typisierungsdaten geschieht über das Entwurfsmuster
Data Access Objects (DAO), welches eine sehr schöne Abstraktion bietet.
Beispielcode
RefreshingXMLDirLister
- Eine parametrisierte Klasse, die versucht alle Dateien in einem Verzeichnis durch
JAXB zu deserialisieren und als Liste zurückliefert. Der Inhalt des Verzeichnisses wird periodisch überprüft, um Veränderungen festzustellen. Im Falle von Veränderungen
wird die Liste aktualisiert, und ein
PropertyChangeListener
wird abgefeuert.
Veröffentlichungen
Die Anwendung wurde auf dem Jahrestreffen der Amerikanischen Gesellschaft für
Mikrobiologie (ASM) im Jahr 2010 in San Diego vorgestellt.
Poster (engl.)
Screenshots
Einige Screenshots. Zum Vergrößern bitte anklicken.
![](mlvaplus/mlvaplus1k.png)
Anzeige der Typisierungsdaten
|
![](mlvaplus/managedb250.png)
Verwaltung der Datenquellen und Zugriffskontrolle
|
![](mlvaplus/mlvaplus3k.png)
Minimum Spanning Tree für die MLVA-Daten
|
Links
Die Homepage von MLVAplus (früher http://www.mlvaplus.net) ist mittlerweile leider offline.