26.12.2014 Aufrufe

img - GitHub Pages

img - GitHub Pages

img - GitHub Pages

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.

3.5. Implementations-Sicht 46<br />

3.5. Implementations-Sicht<br />

3.5.1. Rendering des User Interfaces und Event-Behandlung<br />

Durch die Verwendung von barefoot [Alaa] kann die komplette Beispielapplikation sowohl<br />

eigenständig auf dem Server gerendert werden, als auch als moderne JavaScript<br />

Applikation im Browser des Endbenutzers ausgeführt werden. Aus diesem Grund zeigen<br />

die folgenden zwei Abschnitte jeweils ein separates Sequenzdiagramm: Eines für das<br />

Event-Handling auf dem Client und eines für den Rendering-Vorgang auf dem Server.<br />

Grundlegende Unterschiede gibt es hierbei lediglich beim Zugriff auf den APIAdapter.<br />

Auf dem Server werden diese direkt lokal behandelt, im Client-Browser wird die<br />

entsprechende API-Abfrage über einen HTTP REST Request übertragen.<br />

Server<br />

Beim initialen Aufruf der Beispielapplikation werden die kompletten Inhalte des User<br />

Interfaces auf dem Server gem. Diagramm 3.8 gerendert. Sollte der Client-Browser zudem<br />

JavaScript deaktiviert haben oder nicht unterstützen, so werden auch nachfolgende<br />

Requests nach dem gleichen Schema verarbeitet und gerendert.<br />

client:Browser app:ExpressJS router:Router view:View model:Model apiAdapter:ApiAdapter dataStore:DataStore<br />

Click -> Request<br />

route()<br />

render()<br />

initDOM()<br />

renderMainView()<br />

renderView()<br />

beforeRender()<br />

fetch()<br />

success()<br />

sync()<br />

success()<br />

renderView()<br />

HTML<br />

afterRender()<br />

toJSON()<br />

writeHTTPResponse()<br />

HTML<br />

Abbildung 3.8.: Sequenzdiagramm: Rendering und Event-Verarbeitung auf dem Server<br />

Client<br />

Das Sequenzdiagramm 3.9 zeigt den Kontrollfluss nachdem der Benutzer im Browser auf<br />

einen Eintrag im Navigationsmenü geklickt hat.

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!