Universiteit Gent: Centraal Auditoriumbeheer

Het Centraal Auditoriumbeheer van Universiteit Gent staat in voor de reservatie en verhuur van lokalen en auditoria en voor het opstellen van lesroosters. Het werd oorspronkelijk opgezet door een professor van de faculteit Wetenschappen, met als bedoeling het voor de hele universiteit toe te passen. In 2002 drong een vernieuwing van de software zich op om 2 redenen. Ten eerste was de bestaande software niet betrouwbaar en niet gebruiksvriendelijk genoeg, waardoor een aantal faculteiten aan een eigen systeem begonnen waren. De tweede reden was de beslissing van het bestuurscollege om vanaf 2003 het systeem van vaste lesblokken van anderhalf uur in te voeren.

Ik kreeg de opdracht om de overschakeling op het systeem van de vaste lesblokken te coƶrdineren en om een nieuw softwarepakket voor auditoriumbeheer te ontwikkelen. Het doel was om alle leslokalen en alle lesroosters van de UGent weer centraal te beheren.

Field study

Ik begon het project met de overschakeling op de vaste lesblokken. Wegens de deadline was het onmogelijk om eerst de nieuwe software te ontwikkelen: ik had nog 3 maanden. Bovendien gaf deze fase mij de kans om een grondige field study te doen en een goed beeld te krijgen hoe de gebruikers de bestaande applicatie gebruikten, en wat er verwacht werd van de nieuwe toepassing.

Requirements

Behalve het systeem van de vaste lesblokken waren dit de belangrijkste requirements:

geen academische reservaties die eeuwig geldig blijven: lesroosters moesten vanaf nu elk jaar opnieuw aangemaakt worden, om te vermijden dat het systeem vol zat met ongebruikte reservaties.

gedetailleerd toegangsbeheer: Universiteit Gent bestaat uit 11 min of meer autonome faculteiten, elk met hun eigen infrastructuur. Sommige auditoria worden gedeeld, andere behoren exclusief tot een of meerdere vakgroepen, en de faculteiten willen over het algemeen de volledige controle houden over wie welk lokaal kan gebruiken. Dit was dus een belangrijke voorwaarde om alle faculteiten weer te overhalen om met het nieuwe systeem te werken.

gebruiksvriendelijkheid: Het aanmaken van reservaties moest gemakkelijk zijn, zowel voor lesroosters als voor eenmalige reservaties, met duidelijke feedback over eventuele conflicten. Voor de student was het belangrijk om een handig overzicht te hebben van haar lesroosters, bij voorkeur aangepast aan het persoonlijke curriculum.

schaalbaarheid: De universiteit heeft meer dan 30000 studenten en 6000 personeelsleden. Op piekmomenten vragen al die studenten vrijwel tegelijk hun lesrooster op. Performantie was dus heel belangrijk.

integratie: De nieuwe toepassing moest kunnen communiceren met onder andere SAP, LDAP, D-ISAM en een aantal Oracle databases.

Visie

Tijdens mijn field study ontwikkelde ik de visie dat de centrale administratie van de universiteit eigenlijk een software platform nodig had met een soort van Service Oriented Architecture aan de serverzijde (hoewel ik toen de term SOA nog niet kende), een rijke gebruikersinterface voor personeel, en een webgebaseerde, gepersonaliseerde interface voor studenten en docenten. Het auditoriumbeheer kon dienen als een perfecte proof of concept hiervoor.

De applicatie was verdeeld in modules, zowel op de server als in de gebruikersinterface. Elke module bestond uit een aantal services, waarop telkens een gedetailleerde toegangscontrole toegepast kon worden. Zo kreeg een medewerker van de centrale administratie bij het opvragen van een lijst van lokalen bijvoorbeeld de volledige lijst, terwijl een medewerker van een faculteit een veel beperktere lijst kon zien.

auditoriumbeheer client

De web applicatie liet studenten en docenten toe om hun persoonlijke kalender te bekijken en te beheren, met een interface die veel weg had van Google Calendar (wat toen nog niet bestond).

auditoriumbeheer web applicatie

Deze visie bleek een schot in de roos maar kwam enkele jaren te vroeg: 5 jaar later, in 2008, werd het grootste softwareontwikkelingsproject in de geschiedenis van de UGent, OASIS, er volledig op gebaseerd.

Technologie

De applicatie werd volledig gebouwd op J2EE, met EJBs. De centrale databank is PostgreSQL, maar er worden ook gegevens gelezen uit Oracle (JDBC), LDAP (JNDI) en D-ISAM (RMI-IIOP en session beans). Dit alles draait op een JBoss applicatieserver. De toegangscontrole werd gerealiseerd met JAAS en AOP.

De gebruikersinterface voor personeel werd ontwikkeld met Java Swing, met behulp van een groot aantal eigen componenten en een eigen look and feel. De communicatie tussen client en server gebeurt via RMI-IIOP over SSL. Beveiliging werd ook hier met JAAS gedaan, met een op maat gemaakt authenticatiemechanisme.

De web applicatie voor studenten en docenten werd gebouwd met Struts, JSP en XSL transformaties. Een van de JSP tags die hiervoor ontwikkeld werden vormde de basis voor de Schedule JSF component in Apache MyFaces.

Resultaat

De ontwikkeling van deze toepassing duurde ongeveer 6 maanden, net op tijd om er de lesroosters voor het academiejaar 2003-2004 mee op te stellen. Daarna introduceerde ik het nieuwe pakket in elke faculteit, leidde de gebruikers op en stond nog een klein jaar in voor bug fixes en change requests, tot ik een nieuwe uitdaging aangeboden kreeg. Intussen worden alle auditoria en de meeste leslokalen van de 11 faculteiten met deze toepassing beheerd en worden de lesroosters voor alle opleidingen van de UGent ermee aangemaakt.

Reacties op “Universiteit Gent: Centraal Auditoriumbeheer”

Reacties zijn niet meer toegelaten.