Linuxwochenende

A Modular Approach to Configuration Storage

Vortragender: Markus Raab (TU Wien)
Abstract:
Bis jetzt waren die Ansätze Konfiguration, wie Einstellungen oder
Optionen, permanent zu speichern unflexibel und nicht modular. Nur
wenige unterstützen überhaupt das Lesen und Schreiben in verschiedene
Formate und bieten genug Abstraktion, um das Programm vom Betriebssystem
unabhängig zu machen. Elektra ist eine Bibliothek, die im Rahmen einer
Diplomarbeit so erweitert wurde, um diese Anforderungen zu erfüllen.

Im Vortrag stelle ich zuerst den Ansatz vor, wie die Anforderungen
in unabhängigen, wiederverwendbaren Plugins implementiert werden
können. Mehrere von diesen Plugins, bauen dann gemeinsam den modularen
Zugriff auf die Konfigurationsdatenbank auf.  Dadurch wird an Flexibilität
gewonnen, da Eigenschaften nun zur Laufzeit nach Belieben zusammengestellt
werden können. Diese Plugins werden nunmehr in viel kürzerer Zeit
entwickelt, da sie sich nur einem Aspekt des Gesamtproblems widmen
müssen.  Durch das Einsetzen von existierenden Parsern und Generatoren
kann der Aufwand nochmals minimiert werden.

Die zusätzlich gewonnene Funktionalität, und welche Erkenntnisse
daraus gewonnen werden konnten, werden vorgestellt.  Da manche
Konfigurationsformate nur bestimmte Zeichen speichern können, wurden
Plugins entwickelt, die den Zeichenumfang verkleinern.  Plugins für
notification und logging ermöglichen es, cross-cutting-concerns von
Programmen, an einer zentralen Stelle, zu implementieren.

Bevor Werte tatsächlich gespeichert werden, ist es nun möglich,
umfassende Prüfungen durchzuführen. Dabei kann neben Typen auch
die Struktur der Werte oder der Konfiguration validiert werden.
Diese Prüfungen können auch untereinander abhängig sein und in zwei
Phasen erfolgen.  Ein wesentlicher Aspekt der Arbeit ist es, dass Plugins
nur so miteinander verknüpft werden können, dass das System garantiert
funktionstüchtig bleibt. Um das zu gewährleisten, exportieren Plugins
in Kontrakten ihre Zusicherungen und Eigenschaften.
Über den Vortragenden:

Markus Raab verwendet schon sehr lange ausschließlich Linux und ist sehr aktiv bei Debienna in Wien. Dort hilft immer gerne bei Problemen rund um Linux. Schon viele Male war er bei der Organisation der Linuxwochen in Wien beteiligt und hat dort und in Graz Vorträge gehalten. Beruflich studiert er Informatik und ist gerade dabei, die Diplomarbeit fertig zu stellen.

Video: (leider unbrauchbar)
Unterlagen: Link