08.12.2012 Aufrufe

2 UML-based Web Engineering - UWE - Ludwig-Maximilians ...

2 UML-based Web Engineering - UWE - Ludwig-Maximilians ...

2 UML-based Web Engineering - UWE - Ludwig-Maximilians ...

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.

des PVS zum Einsatz kam, sind ERb-Templates ('embedded Ruby'): ERb-Templates sind<br />

HTML-Vorlagen, in die zur Generierung dynamischer Inhalte Ruby-Code eingebettet werden<br />

kann. ActionController schließlich stellt die Steuerungsschicht einer Rails-Anwendung.<br />

Das Zusammenspiel dieser drei Komponenten wird schematisch durch folgende Abbildung<br />

illustriert 60 .<br />

Wenn ein Client einen HTTP-Request an den <strong>Web</strong>server richtet, auf dem die betreffende<br />

Rails-Anwendung läuft, so wird diese Anfrage zunächst an eine Routing-Komponente<br />

weitergeleitet. Diese bestimmt anhand der URL der Anfrage, welche Controller-Klasse und<br />

welche Action dieser Klasse für die Verarbeitung des Requests verantwortlich ist. Actions sind<br />

im Rails-Jargon öffentliche Methoden von Controller-Klassen, welche die eigentliche<br />

Steuerungslogik für die Request-Verarbeitung beinhalten. Typischerweise kommuniziert eine<br />

Action mit einer oder mehreren Modell-Klassen von ActiveRecord und weist diese z.B. an,<br />

Geschäftslogik auszuführen, in Abhängigkeit der HTTP-Parameter (wenn diese z.B.<br />

Formulardaten repräsentieren) neue Modell-Objekte zu erzeugen, diese zu validieren und in<br />

der Datenbank zu speichern, oder andere Datenbank-Operationen wie die Aktualisierung oder<br />

das Löschen bereits persistierter Modellobjekte durchzuführen. Ein typisches und häufig<br />

vorzufindendes Ende einer Controller-Action besteht darin, die View anzuweisen, ein<br />

bestimmtes ERb-Template zu rendern. Dazu wird der eingebettete Ruby-Code ausgeführt und<br />

in HTML übersetzt, die fertige HTML-Seite wird schließlich als Antwort auf seine Anfrage an<br />

den Client gesendet.<br />

7.1.2 Ruby<br />

Client<br />

5<br />

1<br />

View<br />

4<br />

Routing<br />

Controller<br />

Abbildung 47: Bearbeitung eines HTTP-Requests durch die MVC-Komponenten von<br />

Rails<br />

Ruby ist eine objektorientierte, dynamisch typisierte und interpretierte Programmiersprache.<br />

Sie wurde Mitte der 90-er Jahre von dem Japaner Yukihiro Matsumoto mit dem Ziel<br />

entwickelt, eine bessere Skriptsprache als die damals verfügbaren (Perl und Python) zu<br />

60 Die Illustration ist stark an die Abbildungen 2.1 und 2.2 aus [36], S.12f angelehnt.<br />

2<br />

77<br />

3<br />

ActiveRecord-<br />

Modelle<br />

Datenbank

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!