ebook img

Evaluierung der Rich Ajax Platform (RAP) PDF

92 Pages·2008·2.03 MB·German
by  
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Evaluierung der Rich Ajax Platform (RAP)

Evaluierung der Rich Ajax Platform (RAP) anhand einer Beispielanwendung Evaluation of the Rich Ajax Platform (RAP) based on an example application Diplomarbeit zur Erlangung des akademischen Grades des Dipl.-Inf. (FH) eingereicht an der Fachhochschule Brandenburg Fachbereich Informatik und Medien 1. Betreuer: Prof. Dr. Thomas Preuß 2. Betreuer: Dipl.-Inf. Wolfgang Kn¨apper Abgabe: 1. Juli 2008 Name: Jonas Bru¨stel Matrikelnummer: 20042001 In Kooperation mit der Axway Software GmbH. Eingereicht an der Fachhochschule Brandenburg Fachbereich Informatik und Medien. Inhaltsverzeichnis Abbildungsverzeichnis vii Verzeichnis der Listings ix Danksagung xi 1 Einleitung 1 1.1 Betriebliches Umfeld . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.2 Ziele der Arbeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2 Grundlagen 5 2.1 Electronic Data Interchange (EDI) . . . . . . . . . . . . . . . . . . 5 2.2 Message Viewer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.3 Ajax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.3.1 Allgemein . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.3.2 Ajax-Technik . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.3.3 Browserunterstu¨tzung . . . . . . . . . . . . . . . . . . . . . 10 2.3.4 Unterschiede zum klassischen Modell . . . . . . . . . . . . . 10 2.4 Rich Internet Applications (RIA) . . . . . . . . . . . . . . . . . . . 13 2.4.1 Begriff und Definition . . . . . . . . . . . . . . . . . . . . . . 13 2.4.2 Technologie . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.5 Eclipse Framework . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.5.1 Geschichte . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.5.2 Workbench-Benutzeroberfl¨ache . . . . . . . . . . . . . . . . 16 2.5.3 Ressourcen- und Workspace-API . . . . . . . . . . . . . . . 16 2.5.4 Architektur der Eclipse-Plattform . . . . . . . . . . . . . . . 17 2.5.5 OSGi/Equinox . . . . . . . . . . . . . . . . . . . . . . . . . 19 2.5.6 Standard Widget Toolkit (SWT) . . . . . . . . . . . . . . . 20 2.5.7 JFace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3 Rich Ajax Platform (RAP) 23 3.1 Geschichte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 3.2 Architektur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 3.2.1 Rich Ajax Platform Widget Toolkit (RWT) . . . . . . . . . 25 3.2.2 RWT Life Cycle . . . . . . . . . . . . . . . . . . . . . . . . . 26 3.2.3 Qooxdoo Ajax-Framework . . . . . . . . . . . . . . . . . . . 28 iii Inhaltsverzeichnis 3.2.4 RWT-Client-Server-Kommunikation . . . . . . . . . . . . . . 29 3.2.5 Mehrbenutzer-Anwendung (Sessions und Singletons) . . . . 31 3.3 Internationalisierung . . . . . . . . . . . . . . . . . . . . . . . . . . 31 3.3.1 Eclipse String Externalization Mechanism . . . . . . . . . . 32 3.3.2 Sprachabh¨angige Komponenten . . . . . . . . . . . . . . . . 34 4 Analyse 37 4.1 Ist-Aufnahme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 4.1.1 Laufzeitumgebung . . . . . . . . . . . . . . . . . . . . . . . 37 4.1.2 Ist-Aufnahme aus funktionaler Sicht . . . . . . . . . . . . . 37 4.1.3 Grafische Komponenten . . . . . . . . . . . . . . . . . . . . 39 4.1.4 Ereignisbehandlung innerhalb der grafischen Komponenten . 40 4.1.5 Plugin-Struktur . . . . . . . . . . . . . . . . . . . . . . . . . 41 4.2 Soll-Kriterien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 4.2.1 Allgemein . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 4.2.2 Laufzeitumgebung . . . . . . . . . . . . . . . . . . . . . . . 43 4.2.3 Grafische Komponenten . . . . . . . . . . . . . . . . . . . . 43 4.3 Kann-Kriterien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 5 Realisierung 45 5.1 Workbench-Aufbau . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 5.1.1 Startpunkt (Entrypoint) . . . . . . . . . . . . . . . . . . . . 45 5.1.2 Workbench-Perspektive . . . . . . . . . . . . . . . . . . . . . 46 5.2 Workspace- und Ressource-API . . . . . . . . . . . . . . . . . . . . 47 5.3 Editor-Bereich . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 5.3.1 Text-Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 5.3.2 Hex-Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 5.4 Ansichten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 5.4.1 Struktur- und Nachrichtendetails-Ansicht . . . . . . . . . . . 51 5.4.2 Outline-Ansicht . . . . . . . . . . . . . . . . . . . . . . . . . 52 5.5 Plugin-Struktur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 5.6 Sprachunterstu¨tzung . . . . . . . . . . . . . . . . . . . . . . . . . . 53 6 Zusammenfassung und Auswertung 57 Glossar 61 Index 63 Quellen- und Literaturverzeichnis 65 Erkl¨arung zur Diplomarbeit 69 A Quellcode und Ressourcen 71 iv Inhaltsverzeichnis A.1 RAP ResourceBundle Beispiel . . . . . . . . . . . . . . . . . . . . . 71 A.2 RAP CSS-Theming Beispiel . . . . . . . . . . . . . . . . . . . . . . 71 A.3 Implementierte Perspektive . . . . . . . . . . . . . . . . . . . . . . 76 A.4 Ver¨anderte MessageBundle-Klasse . . . . . . . . . . . . . . . . . . . 77 v Inhaltsverzeichnis vi Abbildungsverzeichnis 2.1 Screenshot des Message Viewer (Hex-Sicht) . . . . . . . . . . . . . 6 2.2 ScreenshotdesMessageViewer (geladenenUN/EDIFACT97ANach- richt) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.3 Baum-Ansicht zum Listing 2.1 ([McL07]) . . . . . . . . . . . . . . . 9 2.4 Modell-Vergleich einer traditionellen Webanwendung (links) mit ei- ner Ajax-Webanwendung (rechts) ([Hai07a]) . . . . . . . . . . . . . 11 2.5 Prozessfluss einer traditionellen Webanwendung ([Hai07b]) . . . . . 12 2.6 Prozessfluss einer Ajax-Anwendung ([Hai07c]) . . . . . . . . . . . . 12 2.7 Offizielle Eclipse-Logo ([Ecl08a]). . . . . . . . . . . . . . . . . . . . 15 2.8 Screenshot der Eclipse-Workbench dar ([Neh]) . . . . . . . . . . . . 17 2.9 Schichtenaufbau der Eclipse-Architektur ([FMK04] 8. Kapitel) . . . 18 2.10 Zustandsdiagramm: Zyklus eines OSGi-Bundles . . . . . . . . . . . 19 2.11 Screenshots:SWT-FensterninverschiedenenBetriebssystemoberfl¨ach- en ([Ecl08b]) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.1 Screenshots: Eclipse-Mail-Demo auf Basis von RCP und RAP . . . 23 3.2 Gegenu¨berstellung RCP- und RAP-Architektur ([RAP08a]) . . . . . 24 3.3 Beispiel fu¨r Synchronisation zwischen dem Client- und Serverobjekt 26 3.4 Zustandsdiagramm:AbgleichdesClient-undServerzustandsimRAP Life Cycle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 3.5 Sequenzielle Darstellung: Long-Polling-Mechanismus zwischen Brow- ser und Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 3.6 Funktionsweise eines Session-Singletons . . . . . . . . . . . . . . . . 32 4.1 Anwendungsfalldiagramm: Message Viewer . . . . . . . . . . . . . . 38 4.2 Screenshot: Oberfl¨ache des Message Viewers . . . . . . . . . . . . . 39 4.3 UML-Klassendiagramm: Java-Realisierung des Observer-Entwurfs- musters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 4.4 Sequenzdiagramm: Phasen zwischen Beobachter und Subjekt (Ob- server-Muster) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 4.5 Paketdiagramm: Plugins des Message Viewers . . . . . . . . . . . . 42 5.1 Screenshot: Eclipse-Wizard fu¨r die Konfiguration des Entrypoint- Erweiterungspunktes . . . . . . . . . . . . . . . . . . . . . . . . . . 46 5.2 Nachrichten-Ansicht in der Webbrowser-Variante . . . . . . . . . . . 48 5.3 Hex-Ansicht in der Webbrowser-Variante . . . . . . . . . . . . . . . 50 vii Abbildungsverzeichnis 5.4 Screenshot: Message Viewers im Firefox-Webbrowser . . . . . . . . 52 5.5 Nachrichtendetails-Ansicht in der Webbrowser-Variante . . . . . . . 53 5.6 Paketdiagramm: Plugins der RAP-Variante des Message Viewers . 54 viii Verzeichnis der Listings 2.1 Beispiel einer einfachen HTML-Seite ([McL07]) . . . . . . . . . . . 9 3.1 HTTP-Request Beispiel . . . . . . . . . . . . . . . . . . . . . . . . 33 3.2 Standard Eclipse-RCP String Externalization Mechanism . . . . . . 34 3.3 Eclipse-RAP String Externalization Mechanism . . . . . . . . . . . 35 5.1 Entrypoint-Implementierung . . . . . . . . . . . . . . . . . . . . . . 46 5.2 Sprachauswahl-Logik . . . . . . . . . . . . . . . . . . . . . . . . . . 55 A.1 RAP CSS-Theming Beispiel . . . . . . . . . . . . . . . . . . . . . . 71 A.2 Implementierte Perspektive . . . . . . . . . . . . . . . . . . . . . . 76 A.3 Ver¨anderte MessageBundle-Klasse . . . . . . . . . . . . . . . . . . . 78 ix Verzeichnis der Listings x

Description:
Evaluation of the Rich Ajax Platform (RAP) based on an example application. Diplomarbeit zur Erlangung des akademischen Grades des Dipl.-Inf. (FH).
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.