\chapter{Umsetzungsstrategien} \label{chap_umsetzung} Das bisher genutzte System zur Umsetzung von virtuellen Ausstellungen am \MPIWG, das \newWord{Altsystem}, wurde unter dem Namen \newWord{Virtual Exhibition Project} entwickelt. Bei der Benutzung des Systems fielen Defizite auf, so dass eine Neuentwicklung eines Systems zur Erstellung von virtuellen Ausstellungen als notwendig erachtet wurde. Im Rahmen dieser Diplomarbeit sind ein Konzept für das neue System und ein Prototyp entwickelt worden. Im Folgenden werden dafür grundlegende Umsetzungsstrategien vorgestellt und im Anschluss daran verglichen. Als Ergebnis des Vergleichs wird dabei eine Strategie zur Umsetzung des Prototyps ausgewählt. \section{HTML} Eine Strategie zur Umsetzung von virtuellen Ausstellungen ist die \HTML. \HTML\ ist eine Beschreibungssprache für Dokumente. Sie dient dazu, Dokumente über das Internet zur Verfügung zu stellen. Ein mit \HTML\ beschriebenes Dokument kann in einem \gls{glos:Browser} dargestellt werden. \HTML\ legt dabei die Struktur und die Darstellung eines Dokumentes fest. Das Dokument kann Text, Bilder und andere multimediale Inhalte enthalten. Des Weiteren ermöglicht \HTML\ die Verwendung von \newWord{Hyperlinks}. Dies sind anklickbare Verweise, die unterschiedliche Dokumente miteinander verknüpften. \mycite[S. 431]{Brockhaus} \par \HTML\ wird unterschieden in \newWord{statisches \HTML} und \newWord{dynamisches \HTML}. Ursprünglich wurde \HTML\ für die Bereitstellung von statischen Inhalten entwickelt. Ein Dokument, das mit statischem HTML beschrieben ist, ändert daher weder seinen Inhalt noch seine Darstellung, nachdem es im Webbrowser angezeigt wurde. Bei dynamischem HTML, sogenanntem \DHTML, kann sich im Gegensatz dazu ein Dokument auch dann noch ändern, wenn es bereits im Webbrowser angezeigt wird. DHTML ermöglicht dadurch die Interaktion zwischen Benutzer und Dokument. \DHTML\ ist eine Kombination aus \HTML, \gls{glos:javascript} und CSS. \mycite[Kap. 29]{Webdesign} \par Bei der Verwendung von HTML zur Erstellung einer virtuellen Ausstellung würden für jeden Raum, jede Medienstation und jedes Exponat HTML-Dokumente erstellt werden. Für die Navigation durch die Website würden Hyperlinks erstellt. Die Verwendung von HTML für eine virtuelle Ausstellung hätte unterschiedliche Nachteile: \begin{itemize} \item Die Entwickler würden Kenntnisse in der Entwicklung von HTML"=Dokumenten benötigen. Die Verwendung von \DHTML\ würde darüber hinaus erfordern, dass die Entwickler Kenntnisse in JavaScript und CSS hätten. \item Die Wartung der Website wäre sehr umfangreich, da eine durchschnittliche virtuelle Ausstellung 100 und mehr Webseiten umfasst. \item Eine Übersicht über die gesamte virtuelle Ausstellung wäre nicht möglich. Ein Dokument gäbe jeweils nur Auskunft über Hyperlinks, die von diesem Dokument ausgehen. Es wäre nicht möglich zu erfahren, ob beziehungsweise wie viele Hyperlinks es gibt, die auf das Dokument verweisen, ohne alle anderen Webseiten der virtuellen Ausstellung zu untersuchen. \end{itemize} \section{Web Application Framework} Heutzutage werden oft \newWord{Web Application Frameworks} für die Umsetzung von Webseiten eingesetzt. Ein Web Application Framework, auch als \newWord{\gls{glos:webframework}} bezeichnet, ist ein \gls{glos:Framework}, das die Entwicklung von dynamischen Websites und Web-Anwendungen unterstützt und beschleunigt. Es stellt typischerweise häufig benötigte Funktionen durch wiederverwendbare Komponenten zur Verfügung. Diese Komponenten unterstützen beispielsweise die Navigation durch eine Website, das Logging oder den Zugriff auf eine Datenbank. Web-Frameworks sind beispielsweise \newWord{Ruby on Rails} oder \JSF. \mycite[Kap. 18.2]{Webframework} \par Bei der Entwicklung von virtuellen Ausstellungen mit Hilfe von Web"=Frameworks, würde der Entwickler ausgeprägte technische Kenntnisse benötigen. Die notwendigen Kenntnisse sind dabei abhängig von dem verwendeten Web-Framework. Für die Entwicklung mit Ruby on Rails beispielsweise werden Kenntnisse in der Programmiersprache \newWord{\gls{glos:Ruby}} benötigt. Für die Verwendung von JSF sind Kenntnisse in der Programmiersprache \newWord{\gls{glos:java}} notwendig. \par Für die Umsetzung von virtuellen Ausstellungen mittels eines Web"=Frameworks könnten beispielsweise alle Inhalte der Ausstellung, wie die Texte zu den Exponaten oder die Beschreibungen der Räume, in einer Datenbank gespeichert werden. Entsprechend dem verwendeten Web-Framework würden dann Klassen oder Skripte erstellt, die die Anzeige der in der Datenbank gespeicherten Daten verwalten. \section{Content Management System} Die Verwaltung von Daten ist eine immer wiederkehrende Problemstellung bei der Entwicklung von Softwaresystemen. Speziell für die Erstellung und Verwaltung von Text- und Multimedia-Dokumenten wurden daher \newWord{Content Management Systeme} (\unsetacronym{CMS}\CMS ) entwickelt. In der Regel dient ein \CMS\ dazu, den Prozess der Erstellung, Verwaltung und Veröffentlichung von Inhalten zu kontrollieren. Im Rahmen dieser Diplomarbeit werden an dieser Stelle serverseitige Content Management Systeme betrachtet. Bei serverseitigen \CMS\ werden die Inhalte in der Regel über eine Website veröffentlicht. Häufig wird für die Entwicklung eines serverseitigen \CMS\ dabei ein Web-Framework verwendet. Ein \CMS\ unterstützt die Verwaltung von Inhalten durch Funktionen wie zum Beispiel die Versionierung von Inhalten, die Verwaltung von Querverweisen und die Verwaltung von Benutzern. \mycite[Kap. 1]{CMS2} \par Content Management Systeme folgen dem Prinzip, Inhalte und Präsentation zu trennen. Dadurch benötigt der Benutzer des \CMS\ keine Kenntnisse über die technischen Details der Präsentation. Der Benutzer muss nur über das notwendige Fachwissen für die Erstellung und Pflege der Inhalte verfügen. \mycite[Kap. 1]{CMS2} \par Bei der Entwicklung einer virtuellen Ausstellung mittels eines \CMS\ wäre die Eingabe der fachlichen Daten unabhängig von der Darstellung der virtuellen Ausstellung. Die Informationen zu den Räumen der Ausstellung oder den Exponaten könnten ohne technisches Hintergrundwissen in dem \CMS\ erfasst werden. Ein Entwickler mit den notwendigen technischen Kenntnissen würde das CMS konfigurieren und die benötigten Dateien für die Darstellung der virtuellen Ausstellung erstellen. \section{Modellgetriebene Softwareentwicklung} Web-Frameworks wie \newWord{Grails}\footnote{Informationen zu Grails sind zu finden unter http://grails.org/.} oder \newWord{Django}\footnote{Informationen zu Django sind zu finden unter http://www.djangoproject.com/.} unterstützen die Entwicklung von Web"=Anwendungen unter anderem durch die automatische Erzeugung von Code. Bei diesen Web"=Frame\-works werden beispielsweise die \newWord{CRUD"=Funktionen} für ein Objekt automatisch generiert. Die CRUD"=Funktionen sind Funktionen zum Erstellen (Create), Abrufen (Retrieve), Ändern (Update) und Löschen (Delete) eines Objektes. Diesem Konzept der automatischen Erzeugung von Code folgt auch die \newWord{\mdd}. Hierbei wird aus Modellen eines Softwaresystems automatisch der benötigte Quelltext erzeugt. Für virtuelle Ausstellungen würde das bedeuten, dass zunächst Modelle der Ausstellungen erstellt werden. Diese Modelle würden beispielsweise die Ausstellungsräume sowie die Exponate, die jeweils in den Räumen zu sehen sind, beschreiben. Anschließend würde aus diesen Beschreibungen der Ausstellungen der Quelltext für die Webseiten erzeugt werden. \par Die \mdd\ ist ein Vorgehensmodell zur Softwareentwicklung, das in den vergangenen Jahren eine immer größerer Bedeutung gewonnen hat \mycite[Kap. 1.1]{Stahl07}. Der Einsatz von \mddr\ verspricht dabei, dass eine Reihe von Vorteilen gegenüber der klassischen Entwicklung genutzt werden können (siehe hierzu \mycite[Kap. 2.2]{Stahl07}): \begin{itemize} \item Die Entwickler benötigen keine speziellen technischen Vorkenntnisse, da sie lediglich das Fachgebiet, das modelliert werden muss, kennen müssen. In diesem Fall besteht das Fachgebiet in der Gestaltung von Räumen sowie der Erfassung und Beschreibung der Exponate. \item Entwicklungszeiten werden deutlich reduziert, da der Quelltext automatisch generiert wird. \item Es wird nur getesteter und dokumentierter Quelltext generiert. Dadurch kann die Optimierung der Software-Qualität erreicht werden. \end{itemize} \section{Fazit} Die Entwickler einer virtuellen Ausstellung sind in der Regel Geschichtswissenschaftler. Sie haben Kenntnisse über das durch die Ausstellung repräsentierte Fachgebiet. Sie haben jedoch wenig bis gar kein softwaretechnisches Hintergrundwissen. Dementsprechend muss die Software zur Erstellung von virtuellen Ausstellungen für Benutzer konzipiert sein, die zwar Erfahrung mit der Arbeit am Computer haben, aber über kein softwaretechnisches Vorwissen verfügen. \par Die Entwicklung einer virtuellen Ausstellung mittels HTML erscheint daher nicht sinnvoll, da die Entwickler über technisches Wissen zur Erstellung von HTML"=Dokumenten verfügen müssten. Zudem wäre die Verwaltung der HTML"=Dokumente besonders bei größeren Ausstellungen mit einem sehr hohen Administrationsaufwand verbunden. Bei der Verwendung eines Web-Frameworks hingegen müssten die Entwickler einer virtuellen Ausstellung zumindest teilweise über technisches Wissen verfügen, um die Web-Anwendung zu entwickeln. Für die Erfassung der Inhalte in einer Datenbank wären dabei nur Kenntnisse im Umgang mit einem entsprechenden Datenbank-Programm erforderlich. Darüber hinaus müssten bei der Erstellung einer Web-Anwendung viele Funktionen entwickelt werden, die in einem \CMS\ bereits umgesetzt sind. Die Verwendung eines \CMS\ schließlich würde zumindest einen Entwickler mit den notwendigen softwaretechnischen Kenntnissen über das CMS voraussetzen. \par Die \mdd\ vermeidet die zuvor beschriebenen Probleme. Stattdessen können bei ihrer Anwendung die folgenden Vorteile genutzt werden: \begin{itemize} \item \Mdd\ ermöglicht eine einfache Umsetzung von neuen virtuellen Ausstellungen ohne Kenntnisse von Web"=Technologien. \item \Mdd\ bietet eine hohe Flexibilität bei der nachträglichen Erweiterung des funktionalen Umfangs der Software zur Erstellung von virtuellen Ausstellungen. Die Funktionalität kann durch Hinzufügen von weiteren Komponenten erweitert werden. \item Die Optimierung der Software-Qualität wird durch die automatische Generierung von Quelltext ermöglicht. \item \Mdd\ ermöglicht die Transformation in unterschiedliche Medien, wie beispielsweise statisches HTML, dynamisches HTML oder die Erstellung einer PDF"=Datei, durch Hinzufügen entsprechender Komponenten. \end{itemize} Im Rahmen dieser Diplomarbeit wird daher ein Werkzeug entwickelt, das dem Ansatz der \mddn\ folgt.