In der Rubrik Leserbriefe der aktuellen IX (9/2005) findet sich ein Beitrag mit der reißerischen Überschrift „Ein Nein zu XML“. Der Verfasser dieses Beitrags kritisiert darin die Verwendung von XML in Konfigurationsdateien die von Menschen direkt bearbeitet werden.
So, nun muss man als erstes mal zugeben, dass er gute Mann prinzipiell recht hat, Konfigurationsdateien im XML-Format können leicht unnübersichlich werden. Und Konfigurationsdateien mit einem „Key = Value“ Aufbau (vielleicht noch durch [Sektionen] getrennt) haben einen gewissen Charme.
Eine Aussage wie „Nicht der Programmierer, der einen einzigen Parser für eine Sprache schreiben muss , soll faul sein dürfen, sondern der Anwender, der sehr viele Konfigurationsdateien in dieser Sprache später verarbeiten muss“ kann man so nicht stehen lassen!
Wer ein Programm erstellt, sollte sich nicht dem Erstellen einer neuen (proprietären?) Formalen Sprache beschäftigen, sondern soll seine Energie in die Lösung des eigentlichen Problems stecken. Es stimmt schon, dass mit der Flexibilität eines Programms i.d.R. der Konfigurationsaufwand steigt und damit die Zeit, die der Anwender damit beschäftigt ist, das Programm nach seinen Wünschen zu konfigurieren. Allerdings sollte man dabei bedenken, ab einer gewissen Kompexität die Konfiguration Tool-gestützt zu erledigen. Der Grund hierfür ist meiner Erfahrung nach der, dass es ab einer gewissen Komplexität Querbeziehungen zwischen den einzelnen Konfigurationsparametern gibt, die überprüft werden müssen.
Durch die Verwendung von XML als Konfigurationsformat kann bei der Entwicklung eines Programms auf Standardkomponenten für die Verarbeitung zurückgegriffen werden. Kleinere Konfigurationen werden i.d.R. vom Benutzer verstanden – eine gewisse Grundintelligenz vorausgesetzt ;-). Für größere Konfigurationen müssen Tools erstellt werden. Ein propietäres Format, das die Konfiguration eines Programmes beschreibt erfordert vom Anwender, dass er dieses erlernt und zusätzlich vom Entwickler die Implementierung entsprechender Parser. Ich erinnere an dieser Stelle an das Konfigurationsformat des Apache-Webservers.
Verwendet der Programmierer XML für die Konfiguration und beschreibt diese in einem XML-Schema, dann bekommt er mit Techniken wie JAXB oder EMF Programmkomponenten generiert, die den Zugriff auf die Konfiguration abstrahieren, oder im Falle von EMF sogar Editoren, mit denen der Anwender die Konfiguraton Toolgestützt erledigen kann. Amen.
hmmmm. richtig ahnung scheinst du ja nicht gerade zu haben…
Wenn du mehr Ahnung hast dann kläre uns doch auf …, edler Namensloser
Naja, meine Ahnung reicht aus, um mir damit mein Leben zu finanzieren… und obendrein noch genug Zeit zu haben um über Konfigurationsdateien zu sinnieren!