GRUPP: SWT0822 Benutzerdokumentation Web-Portal Yet Another Reversi Game Martin Gielow, Stephan Mennicke, Daniel Moos, Christine Schröder, Christine Stüve, Christian Sura 05. Mai 2009
Inhalt 1. Einleitung...3 2. Architektur...3 3. Installation...4 3.1 Voraussetzungen...4 3.2 Installation der Komponenten...4 4. Benutzung...6 4.1 Information...6 4.2 Download...6 4.3 Statistiken...6 Seite 2
1. Einleitung Das im Folgenden beschriebene Yet Another Reversi Game (YARG) Web-Portal dient der Verteilung der YARG Server und Client Distributionen und der Quellcodes, sowie der Anzeige von Statistiken zu Spielen, Spielern und Turnieren des zugehörigen YARG Servers. Zunächst wird die Architektur des Web-Portals erklärt, anschließend soll die Vorgehensweise zur Installation beschrieben werden, schließlich wird noch kurz auf den Funktionsumfang und die Nutzung des Web-Portals eingegangen. 2. Architektur Zur Entwicklung des YARG Web-Portals wurde die Entwicklungsumgebung Eclipse verwendet. Das Projekt wurde als Dynamic Web Project zur Untestützung von Servlet- und Java Server Page-Technologien erstellt. Grundlegend für die Entwicklung war der Einsatz des Frameworks Spring MVC (http://www.springsource.org/). Dieses baut auf eine Entwicklung gemäß des Model-View-Controller-Patterns (MVC). Dabei wird beim Aufruf einer Website ein sogenanntes Dispatcher Servlet angesprochen, das Anfragen an Controller (Java-Klassen) weiterleitet, welche die gesamte Anwendungslogik übernehmen. Je nach Anfrage liefert ein Controller entsprechende Views. Diese Views sind.jsp-dateien aus welchen durch die Laufzeitumgebung zur Laufzeit HTML- Code erzeugt wird, der an die anfragende Anwendung gesendet wird. Um eine dynamische Gestaltung der Views zu ermöglichen dient das Model zumbeidseitigen Datenaustausch zwischen Controller und View. Dieses kann z.b. in Form einer HashMap Datenobjekte des Controllers mit einem zugehörigen Schlüssel aufnehmen und so dem View zur Verfügung stellen. Zum Herstellen einer Verbindung zum MySQL Server auf dem sich die persistenten Spieldaten befinden wurde der in der mysql-connector 5.1.7 enthaltene JDBC Treiber verwendet. Weiterhin wurde eine Implementation der JavaServer Pages Standard Tag Library 1.1 (JSTL) von Jakarta verwendet, um eine Nutzung erweiterter Befehle auf JavaServer Pages zu ermöglichen. Seite 3
3. Installation Im folgenden wird die Installation des YARG Web-Portals auf einem PC mit Windows XP / Vista x86 beschrieben. Das Web-Portal kann auch auf anderen Betriebssystemen installiert werden für die Distributionen der Sun JRE 1.6 und dem Apache Tomcat 5.5.x oder höher vorhanden sind. Das vorgehen hierfür ist allerdings nicht Bestandteil dieser Dokumentation. 3.1 Voraussetzungen Die Installation des Web-Portals setzt die Verwendung folgender Anwendungen voraus: Windows XP / Vista 32-bit (Windows) Java Runtime Environment 1.6 (JRE) Apache Tomcat 5.5.x oder höher (Tomcat) MySQL Server 3.2 Installation der Komponenten Zu der Installation dieser vorausgesetzten Anwendungen soll hier nur erwähnt werden, dass die hier beschriebene Vorgehensweise eine Installation des Tomcat als Windows Dienst voraussetzt. Weiterhin soll im folgenden auf einen möglichen Konflikt hingewiesen werden: Der Tomcat erwartet bei der Installation eine JRE der Version 1.5. Da jedoch die Version 1.6 für das YARG Web-Portal benötigt wird, sollte bei der Installation bzw. Konfiguration des Tomcat dennoch eine JRE 1.6 ausgewählt werden. Sollte der Tomcat Dienst nach abgeschlossenem Setup nicht gestartet werden können muss die Datei msvcr71.dll aus dem Verzeichnis JRE Root\bin\ in das Verzeichnis Tomcat Root\bin\ kopiert werden. Der Tomcat Dienst sollte nun gestartet werden können und somit lauffähig sein. Alle für das YARG Web-Portal benötigten Dateien befinden sich im Ordner Reversi-Portal des SVN-Repositories bzw. der Projekt-CD. Zum hinzufügen des Portals zum Tomcat sind noch folgende Schritte abzuarbeiten: Der Unterordner WebContent ist im Tomcat Verzeichnis unter webapps abzulegen. Dort kann er nach Bedarf umbenannt werden, bspw. in YARG-Portal. Seite 4
Nun ist aus Reversi-Portal\build\ noch der Ordner classes in Tomcat Root\webapps\YARG-Portal\WEB-INF zu kopieren. Das Portal sollte nun unter http://localhost:8080/yarg-portal lokal erreichbar sein. Die Erreichbarkeit von außen hängt nun von der jeweiligen Netzwerkkonfiguration ab und obliegt dem Anwender. Das YARG Web-Portal erwartet in der Standardkonfiguration einen SQL-Zugang auf dem lokalen Rechner auf Port 3306. Es wird versuchen sich mit Benutzernamen reversi und Passwort reversi zum SQL Server zu verbinden und versucht dort auf das Schema reversi zuzugreifen. Wenn diese Einstellungen geändert werden sollen, so sind diese Änderungen in der DatabaseAccess.java des mitgelieferten Source Ordners Reversi-Portal\src\yarg\dbaccess vorzunehmen. Anschließend muss diese Datei neu kompiliert werden und die DatabaseAccess.class-Datei unter Tomcat Root\webapps\YARG-Portal\WEB-INF\classes\yarg\dbaccess durch die neu erzeugte ersetzt werden. Die DatabaseAccess.java besitzt eine Methode private Statement connect(). In dieser sind folgende 2 Zeilen relevant String ip = "localhost"; String port = "3306"; String schema = "reversi"; String username = "reversi"; String password = "reversi"; Die angegeben Strings können hier entsprechend angepasst werden. Dies schließt die Installation des Web-Portals ab. Seite 5
4. Benutzung Das YARG Web-Portal hat seinem Zweck entsprechend drei Kernfunktionalitäten. Information bezeichnet alle Bereiche die über das Projekt YARG informieren. Download beschreibt die Möglichkeit Projektrelevante Dateien herunterzuladen. Unter Statistiken werden alle abrufbaren Statistiken erläutert 4.1 Information Auf der Startseite des Web-Portals Home wird ein kurzer Überblick über das Projekt gegeben. Im Bereich Contact Us werden die Autoren genannt und eine Kontaktmöglichkeit angegeben. 4.2 Download Distributionen und Quellcodes des Clients und Servers, sowie Dokumente zum Spiel können heruntergeladen werden. Diese finden sich im Bereich Download des Web-Portals. 4.3 Statistiken Die umfangreichste Funktionalität des YARG Web-Portals sind die Statistiken. Sie werden unmittelbar aus der Datenbank ausgelesen und spiegeln somit immer den aktuellen Stand der Spielergebnisse und Spielerdaten wider. Im Bereich Highscores werden die besten zehn Spieler angezeigt. Hier wird ihr Team aufgelistet, sofern sie einem Team angehören, sowie ihre Spielergebnisse. Der Bereich Game Stats enthält ausführliche Statistiken über alle weiteren relevanten Spieldaten. Er unterteilt sich in die drei Bereiche General Stats, Recent Games und Tournaments Unter General Stats werden Gesamtzahlen von bisher registrierten Benutzern, gespielten Spielen und abgehaltenen Turnieren angezeigt. Recent Games enthält eine Auflistung der letztgespielten 25 Spiele, mit ihren Teilnehmern, ihrem Ergebnis und dem Datum des Spielstarts. Seite 6
Tournaments gibt eine Auflistung der Turniere, mit dem Turnierersteller und beteiligten Gruppe. Mit show games kann man die Liste von Spielen anzeigen lassen, die zum jeweiligen Turnier gehören. Weiterhin sind in allen Statistiken Spielernamen, Teamnamen und Spiel-IDs anklickbar und führen zum Profil des jeweiligen Spielers, Teams oder Spiels. In diesen Profilen erfolgt eine entsprechende Auflistung aller relevanten zugehörigen Daten. Seite 7