Een test framework voor OSGi implementaties
Marcel Offermans | 19-10-2009De OSGi specificaties, zoals ze beheerd worden door de OSGi Alliance, zijn door iedereen vrij te implementeren. Er is geen (echte) reference implementatie, en er zijn daardoor meerdere goeie open source en commerciële implementaties. Een van de sterke kanten van OSGi is dat bundles daadwerkelijk zonder problemen in verschillende frameworks gebruikt kunnen worden. Wij adviseren mensen om dit ook echt te valideren als ze met OSGi aan de slag gaan en tegenwoordig maken tools als Pax Runner en het daarop gebaseerde Pax Exam het zeer eenvoudig om verschillende frameworks en versies te draaien en er tests in uit te voeren.
Naast het beschikbaar stellen van de specificaties, certificeert de OSGi Alliance ook implementaties. Helaas is dat niet gratis en de TCK die daarvoor gebruikt wordt is niet toegankelijk. Voor commerciële implementaties is dat doorgaans geen probleem: de kosten van certificatie worden wel weer terugverdiend. Voor open source implementaties, zoals Apache Felix, gaat dat niet op.
Alweer enige tijd geleden is een collega, Angelo van der Sijpt, daarom begonnen met de ontwikkeling van een open source test framework voor OSGi implementaties. Doel is om daarmee de verschillende frameworks met elkaar te vergelijken, zowel release versies als ook de laatste nieuwe ontwikkelversies (van open source frameworks waar we de code zelf van kunnen compileren).
Recent heeft Walter Treur de handschoen opgepakt om verder te gaan met de ontwikkeling van dit framework met als doel om te controleren of bestaande open source frameworks de OSGi specificaties naleven. Het test framework wordt daarvoor uitgebreid, waardoor het mogelijk wordt frameworks met elkaar te vergelijken en te beoordelen. Deze resultaten worden online gepubliceerd zodat ze met de rest van de community gedeeld kunnen worden. Het is hierbij van belang dat test resultaten van nieuwe releases direct worden opgenomen. Automatisch de meest recente nightly build testen is daarbij een belangrijke, onderscheidende, toevoeging.
Walter zal de komende maanden hieraan werken en verwacht eind januari klaar te zijn. Zijn voortgang is te volgen op de open source server, waar hij op een agile manier (met Scrum) werkt.





