6.4 Objektorientierte Programmierung (OOP)

6.4.1 Implementierung Prototyp Server

Auf Basis der Entwurfsphase für den ersten Server-Prototypen begann ich den ersten Server Prototypen zu implementieren. Zunächst erstelle ich die Persistenz manuell. Mit einer teureren Variante des UML-Werkzeuges hätte ich diese Dateien auch alle erzeugen können, aber die Investition war es mir nicht Wert, da mich Eclipse ebenfalls unterstützt (z.B. Getter/Setter generieren). In jedem Objekt müssen dann noch die Methoden hashCode() und equals() per Hand implementiert werden, da die Persistenz zumindest equals() voraussetzt und für einen effiziente Suchalgorythmus ist hashCode() wichtig.

Danach implementierte ich die Funktionen "Account erstellen", "verfügbare Spiele abfragen", "Spieler erstellen" und "Login"). Nachdem diese Funktionen implementiert waren, versuchte ich die sehr einfachen (im Internet verfügbaren) Beispiele eines Web­Services auf diese wesentlich komplizierteren Datenstrukturen zu übertragen und musste feststellen, dass es dabei erhebliche technische Schwierigkeiten gab, denn ich konnte keine geeignete Dokumentation darüber finden, wie ich den Web­Service in Tomcat integriere und die benötigten Mapping-Dateien automatisch generieren lasse. Nach etwa 40 Arbeitsstunden habe ich die Versuche abgebrochen.

6.4.2 (Risiko-)Analyse

Durch die erheblichen technischen Schwierigkeiten und den dadurch etwas enger gewordene Zeitplan, habe ich mich entschlossen, statt des Tomcat-Applikationsservers doch den JBoss zu benutzen, da ich hier schon erfolgreich das Projekt aus dem 7. Semester abgeschlossen hatte. Das Projekt verwendete ebenfalls einen WebService daher musste ich diese Lösung nicht erst evaluieren und konnte schon einige Vorarbeiten übernehmen. Durch diese Entscheidung muss allerdings die Systemstruktur geändert werden, jedoch kann der vorhandene Code fast 1:1 übernommen werden. Es müssen nur einige XDoclet-Tags hinzugefügt und die Code-Teile entsprechend kopiert werden.