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.

schaffen 61 . Als Programmiersprache für sein <strong>Web</strong>-Framework wurde sie von Heinemeier<br />

Hansson vor allem deswegen ausgewählt, weil sich mit ihr seiner Meinung nach auf einfache<br />

und natürliche Weise kurzer und gleichzeitig gut lesbarer Code schreiben lässt. Insbesondere<br />

bietet Ruby Möglichkeiten zur Metaprogrammierung, mit denen Programm-Code deutlich<br />

verschlankt werden kann und durch deren Einsatz sich bestimmte Aufgaben in Ruby on Rails<br />

direkt im Code bewältigen lassen, für deren Erledigung normalerweise externe<br />

Konfigurationsdateien benötigt würden 62 .<br />

7.1.3 JavaScript-Bibliotheken<br />

Während das zu verwendete <strong>Web</strong>-Framework und damit auch die Programmiersprache bereits<br />

in der Aufgabenstellung für diese Arbeit festgesetzt wurde, war für die Technologie zur<br />

Umsetzung der modellierten RIA-Features und -Funktionalitäten eine selbständige<br />

Entscheidung zu treffen. Trotz der zahlreichen verschiedenen Lösungen, die der 'RIA-Markt'<br />

zur Zeit anbietet 63 , fiel die Wahl nicht schwer, da sie durch die Verwendung von Rails als<br />

<strong>Web</strong>-Framework zwar nicht zwingend vorgegeben, aber zumindest sehr nahe liegt. Ruby on<br />

Rails integriert die JavaScript-Bibliotheken Prototype und Script.aculo.us, indem es Ruby-<br />

Objekte und -Methoden zur Verfügung stellt, die auf diesen Bibliotheken basierenden<br />

JavaScript-Code generieren und ihn in dynamisch erzeugte <strong>Web</strong>seiten einbinden. Auf diese<br />

Weise kann der Programm-Code verkürzt und übersichtlicher gestaltet werden.<br />

Die Verwendung von JavaScript dient bei der Entwicklung von RIAs vor allem zu zwei<br />

Zwecken: Erstens können mit Hilfe von JavaScript die Inhalte von <strong>Web</strong>seiten allein durch<br />

clientseitige Operationen über das Document Object Model (DOM) verändert werden. Das<br />

DOM ist eine vom World Wide <strong>Web</strong>-Konsortium(W3C) standardisierte, sprach- und<br />

plattformunabhängige Schnittstelle, die es Programmen erlaubt, auf die Inhalte und die<br />

Struktur von Dokumenten zuzugreifen und sie zu manipulieren 64 . Das Zusammenspiel von<br />

(X)HTML, JavaScript und dem DOM, welches als dynamisches HTML (DHTML) oder<br />

DOM Scripting bezeichnet wird, erlaubt es, die <strong>Web</strong>oberfläche z.B. als Reaktion auf<br />

Benutzeraktionen dynamisch zu gestalten, ohne auf Server-Prozesse angewiesen zu sein.<br />

Zweitens wird mit JavaScript eine zentrale Komponente von AJAX realisiert. AJAX steht für<br />

'Asynchronous JavaScript + XML' und bezeichnet eine Sammlung von Technologien, deren<br />

Zusammenwirken asynchrone Kommunikation mit dem Server realisiert. JavaScript spielt<br />

hierbei die Rolle eines Bindegliedes, welches die asynchrone Anfrage mit Hilfe eines<br />

sogenannten XMLHttpRequest-Objekts durchführt und die Antwortdaten (Z.B. XML) auf<br />

Clientseite verarbeitet 65 .<br />

Die JavaScript-Bibliothek Prototype unterstützt beide JavaScript-Einsatzmöglichkeiten bei<br />

der Entwicklung von RIAs. Sie bietet einerseits zahlreiche Methoden für den vereinfachten<br />

Zugriff auf HTML-Seitenelemente. Darüber hinaus stellt sie umfangreiche Funktionalität zur<br />

Erzeugung von AJAX-Requests und Verarbeitung von Server-Antworten bereit, die den<br />

Programmierer u.a. von der lästigen Aufgabe befreien, Browser-Unterschiede beim Lancieren<br />

einer AJAX-Anfrage 'manuell' zu berücksichtigen. Die zweite in Rails integrierte Bibliothek<br />

Script.aculo.us, baut auf Prototype auf und bietet ein Sammelsurium von visuellen Effekten,<br />

61 [32], S.V<br />

62 [36], S.1<br />

63 Siehe z.B. [13] für einen Überblick<br />

64 Siehe [6]<br />

65 Siehe [10]; im Rahmen der Verarbeitung einer AJAX-Antwort können natürlich (und werden häufig) DOM-<br />

Manipulationen vorgenommen werden. Das bedeutet, dass die beiden Anwendungsbereiche für JavaScript im<br />

RIA-Umfeld keineswegs strikt voneinander zu trennen sind.<br />

78

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!