European Patent Office
Freelance position as Software Architect and Developer within the Research and Architecture Team. Design and Development build-system “Darwin” as quality assurance measurement.
European Patent Office, The Hague, The Netherlands ; 2005-2009
A problem to tackle when building component based software applications is the use of “proper” component versions. Using an outdated component is detected late in the deployment cycle and thus costly. The goal of my assignment design and provide a solution for this problem.
I solved this task by providing a fully automated build-system based on a Continuous Integration approach. Due to the extraordinary success my build-system, it got internally branded as “Darwin” and became the de facto standard for building software within the EPO.
A fundamental aspect of “Darwin” is that developers do no longer care about dependency versions. They just specify the dependencies their component depends on. Thus, all component version management was entirely taken over by “Darwin” in a fully automated way.
CruiseControl had to be extended in order to archive the overall goal. A larger part of the rather complex version management got written in Python. Furthermore, a framework sitting on top of Ant had to be written to reduce build scripts to essentially dependency listings while assuring a homogeneous build process of several hundred projects.
Technologies
Java, CruiseControl, Ant, CVS, Maven, Tomcat, XML, XPATH, XLST, Linux, Windows, Eclipse, REST, Python, JSP