You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Current »

Maak een modulair web-based dashboard op basis van OSGi technologie

Men zegt wel eens kennis is macht. Dit gezegde gaat ook op voor de informatica. Wanneer je weet hoeveel werk je kunt verzetten per tijdseenheid kun je beter schatten. Wanneer je weet hoeveel tijd het kost om een bepaalde berekening uit te voeren kun je bepalen hoeveel tijd jouw hardware nodig heeft om een set van berekeningen uit te voeren. Wanneer je op je werk arriveert en je kan direct zien wat de status van elke applicatie, omgeving of machine is, kun je snel anticiperen op eventuele problemen. 

Dit soort aan gegevens komen veelal uit allerlei bronnen. Natuurlijk zijn er al bestaande dashboards zoals die van JIRA voor issue-tracking of Sonar voor de code kwaliteit. Echter willen wij graag een overzichtsdashboard hebben waarin we het belangrijkste gedeelte uit verschillende bronnen kunnen consolideren of zelfs tegen elkaar kunnen afzetten. Denk bijvoorbeeld aan de hoeveelheid nieuwe Sonar issues per sprint? Of beter nog: wat is de relatie tussen aantal issues en werkdruk? Dit soort informatie willen we graag tonen op een groot scherm bij de betrokken teams.

Omdat de behoefte aan informatie nogal eens veranderd en er ook regelmatig nieuwe bronnen bijkomen moet het systeem modulair zijn. Het moet eenvoudig zijn om nieuwe bronnen toe te kunnen voegen. Eveneens moet het eenvoudig mogelijk zijn om nieuwe ‘views’ op het dashboard toe te voegen. De technologie OSGi is hier bij uitstek voor geschikt. We willen een applicatie die werkt volgens de principes en technologie van OSGi: alles service gebaseerd en ook alles ‘hot-swappable’. Om het dashboard toegankelijk te houden dient er een user interface te komen op basis van web-technologieën.

Wanneer de mogelijkheid daar is zouden we dit dashboard graag gedistribueerd opzetten. Dit betekent dat er bijvoorbeeld per bron een aparte OSGi applicatie geïnstalleerd kan worden. Deze ‘nodes’ moeten onderling kunnen communiceren om het uiteindelijke dashboard te kunnen genereren. 

  • No labels