HTML and CSS Reference
In-Depth Information
2.3 Die Architektur: ein Überblick
Im ersten Teil des Kapitels wurden Designstrategien und einige der Task-Seiten in Orion besprochen
und technische Details ausgespart. Orion ist eine Webapplikation, umfasst also sowohl einen Client
als auch einen Server. Der Orion-Client ist in reinem HTML, CSS und JavaScript geschrieben und
kann auf jedem Standardwebserver gehostet werden. Der Orion-Server ist, was wenig erstaunen
dürfte, Java-basiert und wurde unter Verwendung von Equinox-Servertechnologien aufgebaut. Der
Orion-Client - wie erwähnt in HTML, CSS und JavaScript - macht keinerlei Gebrauch von Server-
Templates oder dynamischen Inhalten. In unserer UI verwendet er Dojo, RequireJS für unsere Kom-
ponenten und ist relativ offen für HTML5-Technologien. Deswegen müssen Nutzer über das verfü-
gen, was gemeinhin als „Moderner HTML5-Browser“ bezeichnet wird; jeder der aktuell gängigen
Browser ist geeignet. Da Orion dafür bestimmt ist, von Seiten des Clients erweitert zu werden, zeich-
net er sich durch eine neue Art von Plug-in aus.
Modularität
Betrachtet man die JavaScript-Dateien in Orion, so sieht man, dass jedes Skript in eine define() -
Funktion eingepackt ist. JavaScript-Komponenten in Orion verwenden, wie bereits erwähnt, Requi-
reJS [2] als Bibliothek. Diese implementiert Asynchronous Module Definition (AMD), um Abhän-
gigkeiten zu verwalten. RequireJS stellt sicher, dass Skripte in korrekter Reihenfolge geladen werden
und unterstützt zudem Performanceverbesserungen wie das parallele Herunterladen von Skripten.
Durch die Verwendung von AMD werden Namespacing-Probleme umgangen. Zudem stehen Meta-
daten zur Verfügung, um die Komponenten zu analysieren. Um ein konkretes Beispiel zu nennen:
Wenn man die Komponentenabhängigkeitsbäume durchgeht, lassen sich die notwendigen Skripte für
eine Seite in einer einzigen Datei kombinieren, das Resultat also verkleinern, um eine höhere Lade-
performance zu erzielen.
Erweiterbarkeit
Ein Knackpunkt bei der Verwendung von Modularität in Orion ist der, dass JavaScript-Komponenten
von anderen Seiten niemals dynamisch auf unsere Seiten geladen werden. Beliebigen Quellcode von
externen Seiten zu laden ist keine besonders sichere Art, eine Webanwendung zu erweitern und wür-
de Orion ein weites Feld an Sicherheitsproblemen bescheren. Die bereits erwähnte besondere Art
des Plug-ins, die bei Orion verwendet wird, nutzt die browsereigene Sicherheit, um die Implementie-
rung des Plug-ins von der Host-Seite zu isolieren. Ein Orion-Plug-in ist ein HTML-Dokument, das
üblicherweise keine Benutzerschnittstelle hat, sondern in einem <iframe> läuft, der von einer der
Orion-Task-Seiten gehostet wird. Das HTML5 API "window.postMessage" ist der einzige Kommu-
nikationsmechanismus zwischen den beiden Seiten, ansonsten ist das Plug-in völlig isoliert und hat
keinerlei Einfluss auf die Host-Seite. Ein Plug-in stellt Metadaten zur Verfügung, die die Fähigkeiten
Search WWH ::




Custom Search