Ziel der Bachelorarbeit war es, ein Control Panel zu erstellen, damit es den Benutzern
möglich ist, Pods zu reservieren. Ein Pod besteht aus mehreren Geräten wie z.B. Routern,
Switches, Firewalls oder Unix Servern. Um Reservationen auf Pods zu machen,
muss ein Benutzer am Control Panel angemeldet sein und über genügend Credit
Points verfügen. So ist es dem Administrator möglich, die Reservationen eines Benutzers
zu kontrollieren und der Benutzer kann den Pod nicht die ganze Zeit reservieren.
Ein weiteres Ziel war es, über das Control Panel per SNMP Ansteuerung, die Geräte
neu zu starten und SSH Verbindungen trennen zu können.
Das Control Panel haben wir unter Verwendung des PHP Frameworks Symfony erstellt,
da dieses Framework sehr mächtig ist und vom Betreuer vorgegeben wurde.
Bei der Entwicklung der Software wurde als Software Engineering Vorgehensmodell
der Rational Unified Process (RUP) eingesetzt. Als Ergebnis haben wir ein Control Panel,
das eine Ansicht für den Administrator, sowie eine eingeschränkte Ansicht für
den Benutzer zeigt. Sobald sich der Benutzer am Control Panel anmeldet, wird eine
Abfrage an die LDAP Datenbank gemacht, ob der Benutzername und das Passwort
stimmen. Hat sich ein Benutzer angemeldet, kann er Credit Points kaufen, Reservationen
verwalten, seine Benutzerangaben bearbeiten, seine History der Reservationen
anschauen, Reservationen auf ein Gerät z.B. einem PDA herunterladen, Geräte der
reservierten Pods neu starten und dem Administrator via Kontaktformulare Mails senden,
um allfällige Probleme zu melden oder einen Kommentar zu schreiben. Der
Administrator hat zudem die Möglichkeit Pods, Podkategorien, Geräte, Gerätkategorien,
Labs, Gruppenrechte und Reservationen von Benutzern zu verwalten, sowie
eine LDAP Gruppe oder die Benutzerdaten zu bearbeiten oder zu löschen. Der Administrator
sieht alle Geräte von allen Pods, auch wenn diese von einem Benutzer reserviert
sind und kann diese zu jeder Zeit neu starten.
Meldet sich ein Benutzer am Terminal Server an, wird über Radius ein XML-RPC Methodenaufruf
an das Control Panel gesendet, das wissen will, ob der Benutzer zu dieser
Zeit eine Reservation auf den gewünschten Pod hat. Das XML-RPC gibt als Antwort
ein „ja“ oder „nein“ zurück