software design

Das Projekt wurde von Beginn an für das Internet konzipiert. Die eingesetzten Techniken umfassen daher PHP und MySQL auf Seiten des Servers und Javascript und x3d auf der Seite des Clients. Die Architektur der Anwendung ist stark von einem in der Informatik weit verbreiteten Prinzip geprägt: dem Model-View-Controller Design Pattern. Es hilft dabei die Darstellung von der Business Logik zu trennen und so die Anwendung felxibel zu halten.

ORM mit EZPDO
Zentrales Problem einer jeden Anwendung im Zusammenspiel mit einer ralationalen Datenbank ist die Frage, wie die Daten des realtionalen Modells in die Objektorientierung einer Programmiersprache umgesetzt werden kann ("Objekt Relationales Mapping": ORM). Da die eingesetzte Sprache in diesem Fall PHP ist, wurde diese Aufgabe mit "Easy PHP Data Objects" (EZPDO) gelöst. Diese Libary führt die Umsetzung von ralationalen Daten in PHP Objekte und umgekehrt vollkommen selbstständig durch.

Tranformation der Daten nach JSON
Um die Daten auf Seiten des Clients an einen separaten x3d Player übermitteln zu können, war es notwendig die Daten als Javascript-Objekte vorliegen zu haben. Dies ermöglicht eine spezielle Zeichensyntax bekannt als JSON (JavaScript Object Notation). Aus Zeichenketten die in dieser Notation gehalten sind können auf einfache Weise Javascript Objekte abgeleitet werden. Deshalb werden die Daten auf dem Server in diese Notation überführt und an den Client geschickt.

Asynchrone Datenübermittlung
Die Übermittlung der Daten erfolgte durch AJAX. Dazu wurde eine vorgefertigte PHP Erweiterung namens SAJAX verwendet. Diese stellt sozusagen die Brücke zwischen PHP des Servers und Javascipt des Clients dar.

Webinterface
Die Steuerung der Anwendung inklusive der Interkatiosnelemente mit der 3 dimensionalen Darstellung erfolgt über eine herkömmliche Web-Schnittstelle. Zum Einsatz kommen dort unter anderem auch Tag Clouds. Eine Besonderheit stellte die Kommunikation des Browsers mit dem Webinterface des separaten x3d Players Avalon des Fraunhoferinstitutes Darmstadt dar. Die Datenübermittlung an und die Steuerung des Players erfolgte ebenfalls per Javascript über den Browser des Clients. Die vom Server übermittelten Daten werden dazu einfach weitergereicht.

x3d Umsetzung
Der 3 dimensionale Welt kann im x3d Player durch Javascript manipuliert werden. Dazu werden aus den serialisiert übertragenen Daten Javascriptobjekte erzeugt, die dann für eine 3 dimensionale Darstellung verwendet werden können.