\epigraph{\textit{Remember... all I'm offering is the truth. Nothing more.}}{--- Morpheus, \textit{The Matrix}}
 
\noindent Nachdem die Instrumentierung der Anwendung und die Übernahme der Daten in das \gls{kieker} Framework realisiert war, wurde die EPrints Plattform untersucht. Diese Tests wurden nicht auf dem Produktivsystem sondern auf einem lokalen Testsystem durchgeführt, das in \autoref{sec:testsSystem} zunächst beschrieben wird. Anschließend wird in \autoref{sec:testsAufbau} der grundlegende Aufbau des Testszenarios beschrieben und in \autoref{sec:testsRequests} die durchgeführten Requests dokumentiert.

\section{Systemumgebung}\label{sec:testsSystem}
Die Tests wurden nicht auf den Systemen des GEOMAR durchgeführt, sondern auf einer lokalen, extra eingerichteten virtuellen Maschine. Als Host-System wurde dabei ein MacMini aus dem Jahr 2012 verwendet, der mit einem Intel Core i5 mit 2,5 GHz und 8GB Arbeitsspeicher ausgestattet ist. Zur Virtualisierung wurde die Software VirtualBox in der Version 4.2.8 unter Mac OS X 10.8.2 verwendet. In der virtuellen Maschine wurden dem Gastsystem 4 GB Arbeitsspeicher bereitgestellt.

Als Gastsystem wurde ein Ubuntu Linux 12.04 LTS eingesetzt. In diesem System wurde versucht die Gegebenheiten des GEOMAR System zu simulieren. Hierfür wurde PostgreSQL 8.4.16, Apache 2.2.22 und Perl 5.14.2 aus den Ubuntu Paketquellen gewählt und installiert. Für den Import der vom GEOMAR gelieferten Daten mussten einigen Referenzen in der Datenbank mit Prototypen aufgelöst werden. Hierzu musste ein neues, leeres Datenbankschema und einige Tabellen angelegt werden. Diese Tabellen wurden nicht mit Daten gefüllt und sind nicht direkt auf \gls{kielpr} bezogen sondern beinhalten normalerweise Daten zu Forschungsexpeditionen des Instituts.

\section{Testaufbau}\label{sec:testsAufbau}
In den Tests wurde ein Vergleich zwischen dem in Kiel verwendeten \gls{kielpr} und dem entsprechenden unmodifizierten EPrints 3.2 durchgeführt. Als Datenbasis wurde ein Datenexport der GEOMAR Datenbank vom 7. Februar 2013 verwendet. \gls{kielpr} wurde in der Version vom 4. März aus dem SVN-Repository des GEOMAR ausgecheckt und auf der virtuellen Maschine eingerichtet.

Beide Systeme wurden nacheinander auf der virtuellen Maschine gestartet und die selben Requests auf den Systemen ausgeführt. Hierfür wurde in beiden Systemen die Datei \emph{eprints/cgi/users/home} wie in \autoref{sec:instrSubWrap} beschrieben instrumentiert. Es wurden die Requests ausgeführt und die erhaltenen \emph{\glspl{record}} an einen laufenden JMS-Provider gesendet. Mittels der Kieker-Data-Bridge wurden die \emph{\glspl{record}} dem JMS-Provider entnommen und mittels der Standardkonfiguration als Trace im Dateisystem abgelegt.

\section{Requests}\label{sec:testsRequests}
Es wurden fünf Requests ausgewählt um einen exemplarischen Arbeitsvorgang darzustellen. Neben vier Seitenaufrufen ist hierbei auch ein Request via AJAX vorhanden, der in \gls{kielpr} besonders lange zur Ausführung benötigt. In den folgenden Abschnitten werden jeweils die genauen Requests aufgeführt und dann in \autoref{cha:testsErgebnisse} die jeweils erhaltenen Daten vorgestellt.

\subsection{Request 1: Admin-Login}
\begin{description}
  \item[Request URL:]http://nbw-virtualbox/cgi/users/home
  \item[Trace Ids:]Eprints: 6884 - Kielprints: 5821
\end{description}
Direkt nach dem Login wird eine Seite generiert, auf der die eingetragenen Publikationen angezeigt werden. Die Seiten unterscheiden sich primär in ihrem Aussehen, die Funktionalität ist anscheinend gleich. (\autoref{fig:screenTrace1})
\begin{figure}[p]
  \centering
  \includegraphics[width=0.9\textwidth]{images/Screenshot-Trace1}
  \caption{Vergleich der Seiten zu Request 1 (Links EPrints, Rechts Kielprints)}
  \label{fig:screenTrace1}
\end{figure}

\subsection{Request 2: Eintragen eines neuen Titels}
\begin{description}
  \item[Request URL:]http://nbw-virtualbox/cgi/users/home \\
    ?screen=EPrint::Edit\&eprintid=20282\&stage=type
  \item[Trace Ids:]Eprints: 6886 - Kielprints: 5820
\end{description}
Auf dieser Seite wird begonnen, wenn eine neue Publikation in der Datenbank eingetragen werden soll. Es bestehen leichte Unterschiede in den Seiten, so wird in der \gls{kielpr}-Version das zu verwendenden Archiv sowie eine Gewichtung für den Impact Factor  abgefragt, während die EPrints Seite nur den Typ der Publikation erfragt. (\autoref{fig:screenTrace2})
\begin{figure}[p]
  \centering
  \includegraphics[width=0.9\textwidth]{images/Screenshot-Trace2}
  \caption{Vergleich der Seiten zu Request 2 (Links EPrints, Rechts Kielprints)}
  \label{fig:screenTrace2}
\end{figure}

\subsection{Request 3: Upload der Publikation}
\begin{description}
  \item[Request URL:]http://nbw-virtualbox/cgi/users/home \\
    ?screen=EPrint::Edit\&eprintid=20280\&stage=files\#t
  \item[Trace Ids:]Eprints: 6885 - Kielprints: 5829
\end{description}
Es wird nach der hochzuladenden Datei gefragt. Für diesen Test wurde keine Datei hochgeladen. Als Unterschied zwischen den beiden Versionen ist zu beachten, dass die Reihenfolge der Abfragen variiert. In \gls{kielpr} erfolgt dieser Upload erst nach der Eingabe der Metadaten, in EPrints vor dieser. Funktionale Unterschiede scheinen nicht zu bestehen.
\begin{figure}[p]
  \centering
  \includegraphics[width=0.9\textwidth]{images/Screenshot-Trace3}
  \caption{Vergleich der Seiten zu Request 3 (Links EPrints, Rechts Kielprints)}
  \label{fig:screenTrace3}
\end{figure}

\subsection{Request 4: Eingabe der Metadaten}
\begin{description}
  \item[Request URL:]http://nbw-virtualbox/cgi/users/home \\
    ?screen=EPrint::Edit\&eprintid=20282\&stage=core\#t
  \item[Trace Ids:]Eprints: 6888 - Kielprints: 5824
\end{description}
Auf dieser Seite werden die meisten Metadaten der Publikation eingetragen, also neben Titel und Autor und Kurzbeschreibung auch Herausgeber, Erscheinungsjahr und Einstellungen zum Open-Access-Zugriff. In \gls{kielpr} können hier auch Verweise zu Expeditionen des Instituts oder Verbindungen zu Sonderforschungsbereichen angegeben werden.
\begin{figure}[p]
  \centering
  \includegraphics[width=0.9\textwidth]{images/Screenshot-Trace4}
  \caption{Vergleich der Seiten zu Request 4 (Links EPrints, Rechts Kielprints)}
  \label{fig:screenTrace4}
\end{figure}    

\subsection{Request 5: (AJAX) Mehr Autorenfelder}
\begin{description}
  \item[Request URL:]http://nbw-virtualbox/cgi/users/home \\
    ?\_internal\_c15\_creators\_morespaces=Mehr\%20Eingabefelder\&[...]
  \item[Trace Ids:]Eprints: 6889 - Kielprints: 5825
\end{description}
Werden für die Erfassung mehr Felder für die Autoren benötigt, so können hier zusätzliche Felder eingeblendet werden ohne die gesamte Seite neu laden zu müssen. Lediglich das Block-Element mit den Autoren wird auf dem Server neu generiert und per JavaScript in der Seite ersetzt. Die Eingabefelder verfügen über Optionen zur automatischen Vervollständigung, so dass hier nicht nur statische Eingabefelder generiert, sondern auch Daten aus der Datenbank angefordert werden müssen.
\begin{figure}[p]
  \centering
  \includegraphics[width=0.9\textwidth]{images/Screenshot-Trace5}
  \caption{Vergleich der Seiten zu Request 5 (Links EPrints, Rechts Kielprints)}
  \label{fig:screenTrace5}
\end{figure}