28.12.2013 Aufrufe

Projektgruppe Business Intelligence Applications and Evaluation ...

Projektgruppe Business Intelligence Applications and Evaluation ...

Projektgruppe Business Intelligence Applications and Evaluation ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Dokumentation<br />

Quelle: Springsource.org (o.J.)<br />

Abbildung 1.25: Aufbau einer Spring MVC Anwendung<br />

Der Anwendungsaufbau und Funktionsfluss der Spring MVC Anwendung ist in Abbildung 1.25 dargestellt.<br />

Eine Anfrage an die Anwendung startet dabei immer mit einem eindeutigen HTTP-Request,<br />

welcher von dem Java-Servlet (Front-Controller) an den zuständigen Controller weitergeleitet wird.<br />

Der zuständige Controller hat die Verantwortung, ein Datenmodell mit den vom Request angeforderten<br />

Daten zu erstellen und diese auszuliefern.<br />

Für die Darstellung der Daten ist das View-Template verantwortlich. Dieser Schritt wird bei der Erstellung<br />

einer REST-API übersprungen, da das Ziel der Schnittstelle nicht die Darstellung, sondern die<br />

Auslieferung der benötigten JSON-Daten liegt.<br />

Da es sich bei dem Webservice um eine reine Schnittstelle zur Datenbereitstellung h<strong>and</strong>elt lag der<br />

Großteil des Entwicklungsaufw<strong>and</strong>es bei Model und Controller. Die View Komponente wurde lediglich<br />

für die Bereitstellung eines HTML-Grundgerüstes für das Web-Reporting Frontend genutzt.<br />

1.7.1 Controller und Service Klassen<br />

Die Controller Klassen der Anwendung sind dafür zuständig eingehende HTTP-Requests eindeutig<br />

einer Ressource zuzuordnen. Hierfür werden mit Hilfe von Java-Annotationen die Zuständigkeiten der<br />

Controller eindeutig definiert. Eine Beispiel-Annotation aus der Anwendung sieht wie folgt aus:<br />

@RequestMapping("/api/user/transportation")<br />

Wird eine Klasse oder eine Funktion mit dieser Annotation gekennzeichnet, werden alle eingehenden<br />

Anfragen die der URI http://anwendungsname/api/user/transportation entsprechen, der Funktion mit<br />

152

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!