PGT T3CHNOLOGY SCOUTING Google Gears – Offline Web? Google Gears ist eine Browsererweiterung, die es in sich hat. Dem Webanwendungsentwickler werden Dienste bereitgestellt, die es ermöglichen, Webanwendungen so zu schreiben, dass eine „Offline-Arbeit“ möglich ist. Ein Paradigmenwechsel in der Webentwicklung? The new Web PGT T3CHNOLOGY SCOUTING Web 2.0 Anwendungen Viele Buzzwords, wenig Technologien Rich User Interface Drag & Drop Asynchrone Kommunikation Single-Page Prinzip Neue Anwendungsbereiche fürs Web Google Gears – Offline Web? 2 © 2008 Dipl.-Wing. P. G. Taboada Neue Anwendungsgebiete fürs Web PGT T3CHNOLOGY SCOUTING Plötzlich werden typische Rich-Client-Anwendungen als Webanwendungen realisiert Kalender-Anwendungen Textbearbeitung Tabellenkalkulationen … Google Gears – Offline Web? 3 © 2008 Dipl.-Wing. P. G. Taboada Problem: Online vs. Offline PGT T3CHNOLOGY SCOUTING Web-Anwendungen sind naturbedingt „Online“ haben keinen Zugriff auf lokale Ressourcen Offline-Fähigkeit oft KO-Kriterium für Webanwendungen Google Gears – Offline Web? 4 © 2008 Dipl.-Wing. P. G. Taboada Lösung PGT T3CHNOLOGY SCOUTING Gears Trägt nicht mehr Google im Namen Browserweiterung FF (unter Linux, Mac, Windows), IE, Safari (Mac) Open-Source BSD-Lizenz Google Gears – Offline Web? 5 © 2008 Dipl.-Wing. P. G. Taboada History highlights PGT T3CHNOLOGY SCOUTING New in 0.1 - Released May 31, 2007 Initial Gears release, including first versions of: Database API LocalServer API WorkerPool API New in 0.2 - Released February 14, 2008 Added support for Windows Mobile devices Added initial HttpRequest API Added initial Timer API Google Gears – Offline Web? 6 © 2008 Dipl.-Wing. P. G. Taboada History highlights PGT T3CHNOLOGY SCOUTING New in 0.3 - Released June 6, 2008 Added support for Firefox 3 Added initial Desktop API with support for creating desktop shortcuts New in 0.4 - Released August 22, 2008 Added the Geolocation API Added the Blob object HttpRequest changes: Added progress events for download and upload Localized the Gears dialogs to 40 languages Google Gears – Offline Web? 7 © 2008 Dipl.-Wing. P. G. Taboada THE DEMO – Google News Reader PGT T3CHNOLOGY SCOUTING Google Gears – Offline Web? 8 © 2008 Dipl.-Wing. P. G. Taboada Gears… PGT T3CHNOLOGY SCOUTING LocalServer Database In dem LocalServer können verschiedene anwendungsspezifische Artefakte (statische HTML Seiten, JavaSript, Bilder, usw.) abgelegt werden Gears installiert einen lokalen DB-Server (SQLite) und liefert die passende Javascript API Workerpool Engine Google Gears – Offline Web? 9 © 2008 Dipl.-Wing. P. G. Taboada LocalServer PGT T3CHNOLOGY SCOUTING In dem LocalServer können verschiedene anwendungsspezifische Artefakte (statische HTML Seiten, JavaSript, Bilder, usw.) abgelegt werden. HTTP resource cache ResourceStore „Manuelle Store“ Resourcen werden programatisch „gecached“ MangedResourceStore Über „manifest file“ konfiguriert Automatisch aktualisiert Google Gears – Offline Web? 10 © 2008 Dipl.-Wing. P. G. Taboada Database PGT T3CHNOLOGY SCOUTING Gears installiert eine lokale SQL Datenbank Gears verwendet SQLite, einen in C geschriebenen SQL Server Gears liefert gleich die passende Javascript API dazu Dadurch kann die Webanwendung über Javascript Daten in der Datenbank ablegen und jederzeit darauf zugreifen Google Gears – Offline Web? 11 © 2008 Dipl.-Wing. P. G. Taboada Workerpool PGT T3CHNOLOGY SCOUTING AJAX – fear the beast Dank Javascript sind Webanwendungen in der Lage, im Hintergrund Aufgaben zu erledigen Dank AJAX machen wir das jetzt auch Mit dem Workerpool kann Javascript ausgeführt werden, ohne dass die „Seite blockiert wird“ Google Gears – Offline Web? 12 © 2008 Dipl.-Wing. P. G. Taboada Webapp Architecture redisigned PGT T3CHNOLOGY SCOUTING Klassische Architektur einer Web 2.0 Anwendung Client-Server Architektur Javascript-Anwendung im Browser RPC Services auf dem WebServer Browser WebApp WebServer App UI App BL Google Gears – Offline Web? Interne t 13 © 2008 Dipl.-Wing. P. G. Taboada Data Layer PGT T3CHNOLOGY SCOUTING Datenzugriffschicht einführen Clientseitig in der JS-Anwendung Als DAO-Schicht in Java EE Anwendungen sehr stark verbreitet Browser WebServer WebApp App UI App BL App DAO Google Gears – Offline Web? RPC DAO Interne t RPC DB DAO 14 © 2008 Dipl.-Wing. P. G. Taboada Background Syncing PGT T3CHNOLOGY SCOUTING Synchronisation einführen Clientseitig Synchronisation einführen Gears liefert keine Sync-API Browser WebServer WebApp App UI App BL Interne t App DAO RPC DAO RPC DB DAO Sync Engine Google Gears – Offline Web? 15 © 2008 Dipl.-Wing. P. G. Taboada Using GEARS PGT T3CHNOLOGY SCOUTING Javascript Einbinden <script type="text/javascript" src="gears_init.js"> </script> Google Gears – Offline Web? 16 © 2008 Dipl.-Wing. P. G. Taboada Using the ManagedResourceStore PGT T3CHNOLOGY SCOUTING LocalServer verwenden <script type="text/javascript"> var localServer = …create('beta.localserver'); var store = localServer.createManagedStore( 'test-store'); store.manifestUrl = 'site-manifest.txt'; store.checkForUpdate(); </script> Google Gears – Offline Web? Das geht sofort und mit jeder Webanwendung … 17 © 2008 Dipl.-Wing. P. G. Taboada site-manifest.txt PGT T3CHNOLOGY SCOUTING { "betaManifestVersion": 1, "version": "v2008.10.10-08:48", "entries": [ { "url": "impressum.html" }, { "url": "images/logo.gif" }, { "url": "css/default.css" }, { "url": "gears_init.js" } ] } Google Gears – Offline Web? Hier stehen dann alle WebResourcen drin (Bilder, CSS, statisches HTML 18 © 2008 Dipl.-Wing. P. G. Taboada Thanks! PGT T3CHNOLOGY SCOUTING Any questions? Google Gears – Offline Web? 19 © 2008 Dipl.-Wing. P. G. Taboada PGT T3CHNOLOGY SCOUTING Papick Garcia Taboada Diplom Wirtschaftsingenieur Software Architect Technology Scout Trainer, Coach Presentation material and more here: http://adminsight.de Google Gears – Offline Web? 20 © 2008 Dipl.-Wing. P. G. Taboada