Rich Internet Applications – Technologien

26
Rich Internet Applications – Technologien Leif Hartmann INF-M3 – Anwendungen 2 - Wintersemester 2007/2008 08. Januar 2008

Transcript of Rich Internet Applications – Technologien

Page 1: Rich Internet Applications – Technologien

Rich Internet Applications – Technologien

Leif HartmannINF-M3 – Anwendungen 2 - Wintersemester 2007/2008

08. Januar 2008

Page 2: Rich Internet Applications – Technologien

08.01.2008Leif Hartmann – Rich Internet Applications – Technologien2

Inhalt▸ Einleitung

▸ Kategorisierung

▸ Technologien▸ E c h o▸ G o o g le W e b To o lk i t▸ O p e n L a s z lo▸ X M L 1 1▸ N e x a w e b▸ G o o g le G e a r s

▸ Zusammenfassung

Page 3: Rich Internet Applications – Technologien

08.01.2008Leif Hartmann – Rich Internet Applications – Technologien3

Einleitung▸ Vorstellung der Technologien bezüglich:

▸ S p r a c h e n▸ L a u f z e i t u m g e b u n g e n▸ O ff l in e -F u n k t io n a l i t ä t▸ Te s t in g▸ V e r t e i lu n g d e r L o g ik▸ ID E s▸ A r c h i t e k t u r

Page 4: Rich Internet Applications – Technologien

08.01.2008Leif Hartmann – Rich Internet Applications – Technologien4

Plug-in

Flash:

▸ Flex

▸ OpenLaszlo

Java:

▸ Java Applets

▸ AltioLive

▸ Nexaweb

KategorisierungStand-alone

Java:

▸ Java Web Start

▸ Nexaweb

▸ Droplets

AJAX▸ JavaScript-

Bibliotheken

▸ Echo

▸ Eclipse RAP

▸ GWT

▸ Nexaweb

▸ OpenLaszlo

▸ ZK

▸ XML11Angelehtn an [1]

Page 5: Rich Internet Applications – Technologien

08.01.2008Leif Hartmann – Rich Internet Applications – Technologien5

Echo▸ Open Source (Mozilla Public License / LGPL)

▸ AJAX-basiert

▸ Entwickelt wird in Java

▸ Logik: Schwerpunkt Serverseite

▸ Vollwertige IDE▸ B e l ie b ig e J a v a ID E

▸ E c h o S tu d io (k o m m e r z ie l l)

▸ Keine eigene Offline-Funktionalität

▸ Testing: Java, Browser-Emulator

Page 6: Rich Internet Applications – Technologien

08.01.2008Leif Hartmann – Rich Internet Applications – Technologien6

Echo▸ Application Framework

▸ V e rw a l t e t d e n Z u s ta n d e in e r A n w e n d u n g u n d d e s U I

▸ Web Rendering Engine▸ S e r v e r E n g in e : J a v a

▸ C l ie n t E n g in e : J a v a S c r ip t

▸ A u s ta u s c h b a r

▸ Web Application Container▸ S y n c h r o n is ie r t d e n Z u s ta n d d e s U I

m it d e m W e b c l ie n t

Quelle: [3]

Page 7: Rich Internet Applications – Technologien

08.01.2008Leif Hartmann – Rich Internet Applications – Technologien7

Google Web Toolkit▸ Open Source (Apache License, Version 2.0)

▸ AJAX-basiert

▸ Entwickelt wird in Java

▸ Logik: Schwerpunkt Clientseite▸ E x p l iz i t e R P C -A u f r u fe fü r

S e r v e r lo g ik

▸ Vollwertige IDE▸ B e l ie b ig e J a v a ID E

▸ E c l ip s e -P lu g in s

▸ Keine eigene Offline-Funktionalität

▸ Testing: Java (JUnit + GWT Integration), Browser-Emulator

Page 8: Rich Internet Applications – Technologien

08.01.2008Leif Hartmann – Rich Internet Applications – Technologien8

Google Web Toolkit▸ Hosted Mode

▸ S c h n e l le C o d e /Te s t-Z y k le n

▸ G u te D e b u g -M ö g l ic h k e i t e n

▸ A u s g e fü h r t a ls G W T S h e l l (J a v a -A n w e n d u n g )

▸ Web Mode▸ G W T C o m p i le r

▸ J a v a to J a v a S c r ip t

▸ S o u r c e -C o d e m u s s J a v a 1 .4 k o m p a t ib e l s e in

▸ A u s g e fü h r t in J 2 E E -S e r v e r

Page 9: Rich Internet Applications – Technologien

08.01.2008Leif Hartmann – Rich Internet Applications – Technologien9

OpenLaszlo▸ Open Source (CPL 1.0)

▸ Flash oder DHTML (AJAX)

▸ Entwickelt wird in ▸ C l ie n t : X M L , J a v a S c r ip t

▸ S e r v e r : J a v a (a u c h a n d e r e )

▸ Logik: Schwerpunkt Clientseite▸ E x p l iz i t e R P C -A u f r u fe fü r

S e r v e r lo g ik

▸ J a v a R P C

▸ X M L -R P C

▸ S O A P

Page 10: Rich Internet Applications – Technologien

08.01.2008Leif Hartmann – Rich Internet Applications – Technologien10

OpenLaszlo▸ IDEs

▸ S p k e t ID E (P lu g -in fü r E c l ip s e 3 .2 )

▸ X M L + J a v a S c r ip t

▸ ID E fo r L a s z lo (P lu g -in fü r E c l ip s e )

▸ E in g e s te l l t

▸ Offline-Funktionalität: ?

▸ Testing: LzUnit, Browser-Emulator

Nach [4]

Page 11: Rich Internet Applications – Technologien

08.01.2008Leif Hartmann – Rich Internet Applications – Technologien11

XML11▸ Open Source (GPL)

▸ AJAX-basiert

▸ Entwickelt wird in Java oder .NET

▸ Client/Server-Logik aufgeteilt

▸ Vollwertige IDE ▸ je n a c h S p r a c h e

▸ Keine Offline-Funktionalität

▸ Testing: je nach Sprache, Browser-Emulator

AWT AJAX

Page 12: Rich Internet Applications – Technologien

08.01.2008Leif Hartmann – Rich Internet Applications – Technologien12

XML11

Quelle: [2]

Page 13: Rich Internet Applications – Technologien

08.01.2008Leif Hartmann – Rich Internet Applications – Technologien13

XML11: XMLOB

Quelle: [2]

▸ XML Object Broker

▸ „light-weight“ Middleware

▸ (Un-)Marshalling

▸ Message-based transport▸ X M L C o d e c

▸ J S O N C o d e c

▸ Clientseitig: JavaScript

▸ Serverseitig: Java

Page 14: Rich Internet Applications – Technologien

08.01.2008Leif Hartmann – Rich Internet Applications – Technologien14

XML11: XMLVM

Quelle: [2]

▸ XML-based virtual machine model

▸ Übersetzen von Java- oder.NET-Byte-Code in JavaScript

▸ Analyse auf Byte-Code-Ebene

▸ Verwendet eine stack-based machine

Page 15: Rich Internet Applications – Technologien

08.01.2008Leif Hartmann – Rich Internet Applications – Technologien15

Quelle: [2]

Page 16: Rich Internet Applications – Technologien

08.01.2008Leif Hartmann – Rich Internet Applications – Technologien16

Nexaweb▸ Kommerzielle Lizenz

▸ Java Applet oder AJAX

▸ Entwickelt wird in ▸ C l ie n t : X A L (X M L ), J a v a S c r ip t o d e r J a v a

▸ S e r v e r : J a v a

▸ Logik: Beliebig aufteilbar▸ X M L

▸ J S O N

▸ B in a r y

▸ S e r ia l iz e d J a v a O b je c t s

Page 17: Rich Internet Applications – Technologien

08.01.2008Leif Hartmann – Rich Internet Applications – Technologien17

Nexaweb▸ Vollwertige IDE

▸ E c l ip s e -b a s ie r t

▸ W Y S IW Y G -E d i t o r

▸ Offline-Funktionalität▸ V ia In te r n e t M e s s a g in g B u s

▸ I n -m e m o r y c a c h in g fü r D a te n (a u c h m it A J A X -C l ie n t?)

▸ C l ie n t-P e r s is t e n z n u r m i t D e s k to p -C l ie n t

▸ B e n ö t ig t In s ta l la t io n

▸ z .B . J a v a W e b S ta r t

▸ Testing: Java, SOA Testing ToolsQuelle: [5]

Page 18: Rich Internet Applications – Technologien

08.01.2008Leif Hartmann – Rich Internet Applications – Technologien18

Google Gears▸ Open Source (New BSD License)

▸ Offline-Funktionalität für AJAX-Anwendungen

▸ Plug-in-basiert

▸ JavaScript-APIs▸ L o c a lS e r v e r

▸ D a ta b a s e

▸ W o r k e r P o o l

Page 19: Rich Internet Applications – Technologien

08.01.2008Leif Hartmann – Rich Internet Applications – Technologien19

Google Gears

▸ Speichert Dateien des Server lokal▸ „O f f l in e C a c h e “

▸ Zuordnung von URLs zu lokalen Dateien

▸ Via Manifest-File

▸ Nur „komplette“ Seiten offline verwenden

▸ Offline- und Online-Version vergleichbar

LokalServer

Page 20: Rich Internet Applications – Technologien

08.01.2008Leif Hartmann – Rich Internet Applications – Technologien20

Google Gears

▸ Vollwertige SQL-Datenbank

▸ Verwendet SQLite▸ V o l l t e x t s u c h e v ia F T S -M o d u l

▸ Einfache JavaScript-API▸ „b in d p a r a m e te r s “

▸ SDK bringt ein Query-Tool mit

Database

Page 21: Rich Internet Applications – Technologien

08.01.2008Leif Hartmann – Rich Internet Applications – Technologien21

Google Gears

▸ „Threads“ für JavaScript

▸ Blockieren des Browsers vermeiden

▸ Worker führt beliebigen JavaScript-Code im Hintegrund aus

▸ Kommunikation der „Threads“ via Strings▸ z .B . J S O N

WorkerPool

Page 22: Rich Internet Applications – Technologien

08.01.2008Leif Hartmann – Rich Internet Applications – Technologien22

Google GearsBeispiel: Background sync architecture

Quelle: [7]

Page 23: Rich Internet Applications – Technologien

08.01.2008Leif Hartmann – Rich Internet Applications – Technologien23

ZusammenfassungWas ändert sich für Entwickler?

▸ Andere Fragestellungen▸ W a r t b a r k e i t?

▸ P r o d u k t iv i t ä t?

▸ R o b u s th e i t?

Mykhaylo Kabalkin

Virginio Carfagno(Mind-Mapping)

Page 24: Rich Internet Applications – Technologien

08.01.2008Leif Hartmann – Rich Internet Applications – Technologien24

Quellen[1] J. Farell, G. S. Nezlek – Rich Internet Applications: The Next Stage of Application

Development – In Proceedings of the ITI 2007 29 Int. Conf. on Information Technology Interfaces – 2007

[2] Puder, A. 2007 – A cross-language framework for developing AJAX applications – In Proceedings of the 5th international Symposium on Principles and Practice of Programming in Java (Lisboa, Portugal, September 05 - 07, 2007) – PPPJ '07, vol. 272 – ACM, New York, NY, 105-112 – http://doi.acm.org/10.1145/1294325.1294340

[3] NextApp – NextApp . Echo . Technical Overview . Fundamentals –http://nextapp.com/platform/echo2/echo/doc/hltov/fundamentals.html (Verifiziert: 03.01.2008)

[4] Laszlo Systems Inc – Software Engineer's Guide to Developing OpenLaszlo Applications – http://www.openlaszlo.org/lps4/docs/developers/ (Verifiziert: 05.01.2008)

[5] Nexaweb Technologies Inc – How Nexaweb works – http://nexaweb.com/home/us/index.html@cid=2295.html (Verizifizert: 05.01.2008)

Page 25: Rich Internet Applications – Technologien

08.01.2008Leif Hartmann – Rich Internet Applications – Technologien25

Quellen[6] Nexaweb Technologies Inc – How Nexaweb Solves Connectivity –

http://www.nexaweb.com/home/us/index.html@cid=1836.html (Verizifizert: 05.01.2008)

[7] Google – Architecture - Google Gears API - Google Code –http://code.google.com/apis/gears/architecture.html (Verifiziert: 03.01.2008)

[8] Virginio Carfagno – Evaluation des Google Web Toolkits durch Entwicklung einer ajaxbasierten Mind-Mapping-Anwendung – HAW Hamburg, Diplomarbeit – 2007

Page 26: Rich Internet Applications – Technologien

Fragen?

Leif HartmannINF-M3 - Seminar/Ringvorlesung - Wintersemester 2007/2008

07. Dezember 2007