Europäisches Patentamt
Freiberufliche Position als System Architekt und Softwareentwickler im Forschung- und Architekturteam. Konzeption und Entwicklung des gesamten Buildsystems Darwin als Maßnahme zur Qualitätssicherung.
Europäisches Patent Amt, Den Haag, Niederlande; 2005-2009.
Die Verwendung der korrekten Version einer Komponente ist ein herausforderndes Problem in der Erzeugung eines komponentenbasiertem Softwaresystems. Eine veraltete Komponente wird typischerweise spät im Entwicklungsprozess bemerkt – etwa beim funktionalen Testen des Gesamtsystems – und ist daher kostentreibend. Meine Aufgabe bestand in der Situationsanalyse, Konzeption und Bereitstellung einer Lösung für dieses Problem.
Ich löste diese Aufgabe durch ein vollautomatisches Buildsystems, welches auf einem so genannten Continuous Integration Ansatz basiert. Das System wurde durch seinen außergewöhnlichen Erfolg unter dem Namen “Darwin” bekannt und ist bis heute der de facto Standard zur Erzeugung von Softwarekomponenten beim Europäischen Patentamt in Den Haag.
Ein fundamentaler Designaspekt von Darwin war die Forderung, dass Entwickler sich nicht um die Version einer Komponente kümmern, sondern nur um die Komponente als solche. Die gesamte Versionsverwaltung wurde komplett von Darwin übernommen.
Um dies zu erreichen, musste die OpenSource Software CruiseControl wesentlich erweitert werden. Ein wesentlicher Teil der komplexen Versionsverwaltung wurde hierbei in der Skriptsprache Python realisiert. Ferner wurde ein auf Ant basierendes Framework entwickelt und eingesetzt, welches letztendlich Buildskripte auf die Angabe der versionslosen Abhängigkeiten reduzierte.
Technologien
Java, CruiseControl, Ant, CVS, Maven, Tomcat, XML, Linux, Windows, Eclipse, Rest, Python, JSP, XSLT/XPATH.