Project Get It!

Voor dit project zijn we gevraagd om databases van wetenschappelijke publicaties, artikelen en tijdschriften te integreren. Het heet ‘Get It!’, omdat het systeem niet alleen bedoeld is om te vinden, maar ook te verkrijgen. Je kunt namelijk het zoekresultaat direct lenen uit de bibliotheek, of downloaden. Als je klikt op een artikel, ziet de software of jij via het universiteitnetwerk binnenkomt. In dat geval heb je recht op verschillende abonnementen en word je doorgestuurd naar de site van de uitgever, waar je het artikel kunt downloaden. Kom je van buiten de universiteit, dan word je geredirect en moet je betalen.

Advies en software ontwikkeling
In het project met de Universiteit van Tilburg hadden we een adviserende rol. We gaven advies, maar we bouwden ook software. Na het ontwikkelen, droegen we de software over. Het ‘probleem’ met een zijdelingse rol in een project is dat je niet exact weet hoe de componenten uiteindelijk worden toegepast. Om de kwaliteit van het project en de software te garanderen, benoemen wij een aantal belangrijke voorwaarden voor succes:

1. Niveau inschatten
Het is belangrijk een goede inschatting te maken van het niveau waarop de andere partij programmeert. Wij hebben zelf geleerd dat software ontwikkelen meer inhoudt dan alleen programmeren. Voor de kwaliteit van het eindresultaat is het daarom belangrijk om met de opdrachtgever te bespreken welke ondersteuning hij hierbij nodig heeft. De Universiteit van Tilburg bleek dit prima zelf aan te kunnen.

2. Focus op testfirst
Als je – in plaats van een complete applicatie – alleen een component ontwikkelt, moet je een goede voorstelling hebben van hoe het wordt gebruikt. Je ontwikkelt veel meer testen dan normaal en je denkt uitgebreider na over interfaces.

3. Blijven communiceren
Tijdens het project hebben we gelijktijdig met de Universiteit een feature gemaakt in Meresco, zonder dat we dit van elkaar wisten. Om dit soort overlap te voorkomen – maar ook omdat we bekend zijn met het systeem en allerlei vragen soms sneller kunnen oplossen – willen we regelmatig contact met de opdrachtgever. Zelfs in een periode waarin wij even niets opleveren.

Technische feature: de JTool
Op een moment bleek het systeem geheugen te lekken. Dat werd veroorzaakt door de wijze waarop Python gebruik maakte van het in Java geprogrammeerde Lucene. We zijn toen een onconventionele richting ingeslagen door het lekkende component PyLucene te vervangen door eigen code. Een mooie ontdekkingstocht met een innovatieve tool als eindresultaat. Onze J(ava)Tool maakt Java interfaces op een zeer generieke manier toegankelijk vanuit Python. Het werkt niet alleen voor Lucene, maar ook op alle andere software die in Java is geschreven. En dat met slechts 1500 regels code!

Het projectteam
Thomas Place, de projectleider, gaf ons veel inhoudelijke feedback. Ook werkten we samen met certified Debian Maintainers; vakmensen die erkend zijn door de Debian community, packages bouwen en geautoriseerd zijn om officiële Debian distributies en aanpassingen te doen. Het was bovendien leuk om samen te werken met vakmannen die visie hebben op metadatamanagement, storage en filesystemen.

Looptijd
Tot 2010.

Project Edurep

Edurep is een systeem dat digitaal leermateriaal uit meer dan 50 databases eenvoudig vindbaar maakt voor de onderwijs­wereld.

Chocola maken
Eén van de eerste coole dingen die we hebben gedaan in Edurep was het normaliseren van verschillende inputs. Tussen leveranciers van repositories of databases bestaan er metadata-afspraken, bijvoorbeeld afspraken over een algemene schrijfwijze van onderwijsniveaus. In de praktijk houdt bijna niemand zich daaraan. Wij hebben een systeem gebouwd dat een geïntegreerde zoekoplossing biedt, ondanks de enorme verscheidenheid aan data. We kunnen overal chocola van maken!

De essentie van schaalbaarheid
Een belangrijk doel van het project was om van Edurep een schaalbaar systeem te maken dat meegroeit met de toenemende omvang van de te verwerken gegevens en het aantal gebruikers. Voor ons was de essentie van de oplossing dat je gaat opschalen op meerdere computers, zonder dat je daarbij een enorme toename in het beheer ziet. Het systeem moet zich blijven gedragen alsof het één systeem is. De proef op de som kwam toen Kennisnet een derde search engine wilde toevoegen in Meresco. Zonder enige probleem werd het gekloond en het systeem werkte.

RDF en social metadata
In Edurep hebben we een sociale makelaar ontwikkeld. Bij het zoekresultaat kunnen de portals, leeromgevingen en de individuele gebruiker direct feedback geven door tags, ratings en reviews te koppelen aan het gevonden materiaal. In Edurep maken we gebruik van verschillende soorten indexen. Voor de sociale metadata gebruiken we RDF (Resource Description Framework). RDF is goed in relaties leggen tussen totaal verschillende concepten. Alles is aan alles gerelateerd.

Superteam
Edurep en de samenwerking met Kennisnet was een mooi voorbeeld van ons idee van een superteam van vakmannen,” aldus Erik. “We hebben zes retrospecties gehouden en we om de twee weken een planninggame, met aansluitend een lunch. Zowel Kennsinet als Seecr hebben en creëeren de vrijheid om naar eigen inzicht een zelfsturend team van experts te bouwen. En daar pluk je de vruchten van.

Kwaliteit van vakmannen
‘Test first’ en ‘test driven programming’ zijn belangrijk principes van Agile. Je test alles wat in jouw invloedsfeer ligt. Thijs: “Een groot systeem als Edurep is niet door één partij te bevatten. Daarom werken we in teams met onze opdrachtgevers. Want in een team van vakmannen zitten mensen als Sander Stevens. Sander is een door Kennisnet ingehuurde testspecialist. Vanuit zijn vakmanschap kijkt hij naar wat in het klantdomein leeft. Hij heeft veel kennis van andere systemen die direct gebruikmaken van Edurep. Hij heeft veel kennis van alle verschillende data die Edurep binnenkomen en kent het grote geheel van systemen. Door een samenwerking met iemand als Sander, durven wij onze garantie te leveren dat we altijd iets maken wat werkt.

Robuust
In onze samenwerking met Kennisnet kunnen we veel van onze basisprincipes kwijt. We werken samen met vakmannen en Kennisnet durft ruimte te bieden waar nodig. Door een goede samenwerking is Edurep uitgegroeid tot een robuuste en technisch hoogstaande metadata zoekmachine.

Looptijd
Vanaf 2008

Link
http://edurep.kennisnet.nl