vrijdag 12 juni 2009

Van ontwikkelomgeving naar test- en productieomgeving

Een van de dingen waar een applicatieontwikkelaar mee te maken krijgt, is het configureren van de software voor verschillende omgevingen. De applicatie wordt ontwikkeld op een ontwikkelomgeving, gaat daarna in het algemeen naar een omgeving waar de klant een en ander kan bekijken en testen, en wordt vervolgens op een productieomgeving geplaatst, al dan niet na een aantal aanpassingen. Deze omgevingen hebben hun eigen instellingen nodig. Bij het uitrollen van een nieuwe versie van de applicatie naar een omgeving moet de omgeving de juiste instellingen krijgen en/of houden. Er zijn veel manieren om dit mogelijk te maken, een van de eenvoudigste is via files in verschillende bestandsformaten. Er worden dan verschillende files gemaakt met per omgeving de specifieke configuratie. Vaak is er een file met standaard instellingen, die overschreven kan worden om specifieke eigenschappen aan te passen. Deze files moeten op een goede manier worden beheerd en uitgerold. Er zijn veel verschillende frameworks en tools om dit te realiseren. Een ervan is de Commons Configuration van het Apache Commons project, te vinden op de Apache website. Hiermee kan configuratie worden ingelezen vanuit bijvoorbeeld properties files, XML files, Windows INI files, System properties, etc. Eigenschappen kunnen meerdere waardes hebben indien gewenst, en zijn bovendien van een bepaald type. De toegang tot de eigenschappen verloopt via de generieke Configuration interface.
ISAAC heeft inmiddels in verschillende projecten naar tevredenheid gebruik gemaakt van de XMLConfiguration van Apache Commons. Handmatige aanpassingen na het uitrollen van een applicatie zijn voor deze projecten niet meer nodig.