AJAX in the Enterprise
Total Page:16
File Type:pdf, Size:1020Kb
Eine neue Client Technologie für PAI Projekte? Diplomarbeit AJAX in the Enterprise Studiengang: Medieninformatik Verfasser: Knut Genthe Vorgelegt bei: Prof. Walter Kriha (1. Prüfer) Dipl. Ing. Gerrit Quast (2. Prüfer) Bearbeitungszeitraum: 01.08.2006 – 31.01.2007 Abstract 2 Abstract Mit Rich Internet Applications wurde in letzter Zeit eine Lösung geschaffen, um reich- haltige, interaktive und ansprechende Benutzerschnittstellen für Webanwendungen zu entwickeln. RIAs können mit den verschiedensten Technologien entwickelt werden. Seit geraumer Zeit ruft in diesem Umfeld die neue Technologie AJAX sehr viel Interesse hervor. Es liegt im Interesse von Daimler Chrysler neue Clientparadigmen zu erforschen. Diese Arbeit untersucht, welche Vorteile, Risiken und Herausforderungen beim Einsatz von AJAX in Enterprise Umgebungen auftreten. Es werden diverser AJAX-Frameworks und die auftretenden Integrationsprobleme betrachtet. Außerdem werden die Vorteile von AJAX durch die Implementierung einer Beispielanwendung aufgezeigt. Schlagwörter: AJAX, Sicherheit, Integration, PAI, J2EE, SiteMinder, Frameworks, JavaScript, Web 2.0, RIA, Thin Client, Rich Client, Infrastruktur Inhaltsverzeichnis 3 Inhaltsverzeichnis Abstract .........................................................................................................................2 Inhaltsverzeichnis.........................................................................................................3 Abbildungsverzeichnis.................................................................................................6 Tabellenverzeichnis......................................................................................................8 Abkürzungsverzeichnis................................................................................................9 1 Einleitung..........................................................................................................11 1.1 Motivation...........................................................................................................11 1.2 Ziele der Arbeit...................................................................................................12 1.3 Strategie zur Zielerreichung...............................................................................12 2 Grundlagen.......................................................................................................13 2.1 Web 2.0..............................................................................................................13 2.1.1 Definition............................................................................................................13 2.1.2 Grundprinzipien..................................................................................................14 2.2 Einführung in AJAX............................................................................................17 2.2.1 Warum AJAX? ...................................................................................................17 2.2.2 Wie arbeitet AJAX?............................................................................................20 2.2.3 AJAX Pioniere....................................................................................................25 2.3 Die Proactive Infrastukture.................................................................................26 2.3.1 Hintergrund ........................................................................................................26 2.3.2 Die Ziele von PAI ...............................................................................................26 2.3.3 PAI Plattformen Konzept....................................................................................27 3 Schichtenmodelle und Clientparadigmen .....................................................30 3.1 Schichtenmodelle...............................................................................................30 3.1.1 2-Tier-Modell......................................................................................................31 3.1.2 3-Tier-Modell......................................................................................................31 3.1.3 n-Tier-Modell......................................................................................................33 3.2 Clientparadigmen...............................................................................................33 3.2.1 Thin Client..........................................................................................................34 3.2.2 Rich Client..........................................................................................................38 3.2.3 Rich Internet Applications ..................................................................................42 4 Kriterien der Clientparadigmen zur Erstellung einer Projektumfrage ........45 4.1 Aufbau des Kriterienkataloges ...........................................................................45 4.1.1 Funktionale Anforderungen................................................................................45 4.1.2 Nicht-funktionale Anforderungen .......................................................................45 Inhaltsverzeichnis 4 4.2 Einordnung der Kriterien ....................................................................................48 4.2.1 PAI Sichtweise ...................................................................................................48 4.2.2 Projektsichtweise ...............................................................................................49 4.3 Durchführung der Projektumfrage......................................................................49 4.3.1 Erstellung des Fragebogens ..............................................................................50 4.3.2 Ergebnis der Umfrage........................................................................................50 5 AJAX im Detail .................................................................................................52 5.1 Problematiken ....................................................................................................52 5.1.1 Browser..............................................................................................................52 5.1.2 Entwicklung........................................................................................................53 5.1.3 Datenaustausch.................................................................................................58 5.2 Toolkits und Frameworks...................................................................................60 5.2.1 Momentane Situation auf dem Markt .................................................................60 5.2.2 Anforderungen aus PAI Sicht.............................................................................61 5.2.3 Warum sind Toolkits und Frameworks notwendig? ...........................................62 5.2.4 Standardisierung/Organisationen ......................................................................64 5.2.5 Frameworkmodelle ............................................................................................65 5.2.6 Betrachtete AJAX Frameworks..........................................................................75 5.2.7 Gegenüberstellung der Frameworks..................................................................78 5.2.8 Empfehlungen....................................................................................................79 6 AJAX und Sicherheit .......................................................................................80 6.1 Browsersicherheit ..............................................................................................80 6.1.1 Browser Sicherheitsmodelle ..............................................................................80 6.1.2 Richtlinie des „Ursprungsservers“......................................................................81 6.1.3 Zugriff auf Daten des Dateisystems...................................................................86 6.1.4 Benutzerschnittstelle als Sicherheitsrisiko .........................................................86 6.2 Angriffe auf AJAX-Anwendungen ......................................................................87 6.2.1 JavaScript Schwachstellen ................................................................................88 6.2.2 Häufige Attacken auf Webanwendungen...........................................................89 6.3 AJAX Anwendungen absichern .........................................................................94 6.3.1 Absicherung des Transportweges .....................................................................95 6.3.2 Sicherheit auf dem Client...................................................................................95 6.3.3 Eine sichere Webschicht....................................................................................96 7 Integration in die DCX Infrastruktur ...............................................................98 7.1 SiteMinder..........................................................................................................98 7.1.1 PAI Login Mechanismus ....................................................................................98 7.1.2 Session/Idle Timeout .......................................................................................100 7.1.3 Problem: Session/Idle Timeout mit AJAX ........................................................101 7.1.4