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