architecture and tips for taking web applications...

19
0 AJAX Unplugged Ajax Unplugged Architecture and Tips for Taking Web Applications Offline J.J. Zhuang [email protected]

Upload: dinhtu

Post on 22-Apr-2018

219 views

Category:

Documents


0 download

TRANSCRIPT

00 AJAX Unplugged

Ajax Unplugged

Architecture and Tips for Taking Web Applications Offline

J.J. [email protected]

11 AJAX Unplugged

Agenda

Who’s Zimbra?Why do we need offline Webapps?What options are there?

Review some “offline” technologiesDemo!Architecture of Zimbra DesktopChallenges for the developerQuestions?

22 AJAX Unplugged

Why Offline?

Lack of always-on internet accessAlways-on need for information

Travel – Air, Train, Auto, etcISP service interruptions

Client or Server (Data Center)Remote; unconnected land and water

Even a remote officeMore and more data lives in ‘the cloud’

Today’s SaaS require network accessThat’s how a true desktop app works

33 AJAX Unplugged

Why Offline AJAX?

Performance (client and server)Removes latency from network opsOffloads *even* more work to client CPUAllows server requests to be batched

Same UI both online/offlineSaves $$ training users for one appSaves $$ on software costs of separate offline app

44 AJAX Unplugged

What solutions are out there today?

The Fancy Caching ApproachFirefox 3 Offline SupportGoogle GearsDojo Offline Toolkit

The Desktop VM ApproachMozilla XUL RunnerAdobe AIR (formerly Apollo)Joyent Slingshot

Roll your ownZimbra Desktop

55 AJAX Unplugged

Firefox 3 Offline

FeaturesAnywhere Firefox runs (*nix, Win, Mac)Gecko rendering for HTML/JavaScriptWHATWG client-side storage, offline eventsSQLite for offline storage

LicenseMPL - Open Source

AvailabilityAlpha 5

66 AJAX Unplugged

Google Gears

FeaturesLocalServer - Cache & Serve HTML, JS, CSS, etcDatabase - SQLite with full-text searchWorkerPool - Async resource-intensive tasksWinXP & Mac OS X 10.2+ & LinuxFirefox (Mac/Win/Linux), IE (Win)

LicenseOpen Source - New BSD License

AvailabilityPublic BetaGoogle Reader Offline Several Sample Apps

77 AJAX Unplugged

Dojo Offline Toolkit

FeaturesBuilt on top of Google GearsExtends Gears with a higher level APIEncryption supportSimple Hashtable storage api

LicenseOpen Source like Dojo (AFL or BSD)

AvailabilityBeta with Dojo 0.9Live Demos - Simple, Moxie (doc editor)

88 AJAX Unplugged

Mozilla XUL Runner

FeaturesWhere Firefox runs (*nix, Win, Mac)Gecko rendering for HTML/JavaScriptJavaScript access XPCOM objects via XPConnect

LicenseMPL - Open Source

AvailabilityDeveloper PreviewShipping apps today (Google Adwords Editor)

99 AJAX Unplugged

AIR (formerly Apollo)

FeaturesFileIO, On/Off-line, Windowing, Clipboard, DnD, Local Storage, Network APIsEventually could be delivered via Flash►Or like Flash

WebKit for HTML/JavaScript renderingWinXP SP2+ & Mac OS X 10.4.8+

LicensePlan to contribute rendering changes to WebKitActual runtime free but closed sourceDeveloper tools cost (optional)

AvailabilityPre-release BetaSeveral demo apps (on their wiki)

1010 AJAX Unplugged

Joyent Slingshot

FeaturesRuby on RailsActiveRecord SyncSQLite local storageMac OSX & WinXPSeems to lack OS native support

LicenseOpen Source under GPL v2; Commercial versionFree if using Joyent’s application hosting

AvailabilityOSS Public ReleaseSeveral apps ported

1111 AJAX Unplugged

Demo

See it in action

1212 AJAX Unplugged

Zimbra Offline

FeaturesLinux, Win32 and Mac (Intel)Firefox, Internet Explorer and SafariIdentical AJAX interface to online versionMicro Server for sync, persistence, and search►Derby (Meta Data, User Profile)►Lucene (Full text search)►Jetty (HTTP, JSP)►Filesystem for messages

Support for large datasets multi-GBLicense

Open Source - MPL/ZPLAvailability

Zimbra Desktop Alpha

1313 AJAX Unplugged

Zimbra Desktop Sync Service

Underlying file system

Lucene Index Derby

Meta-data/User profile

Zimbra Message

Store

JDBC

J2SE JRE

Jetty

Zimbra AJAX Toolkit

SOAP/XML (JSON) HTTP

Zimbra Desktop Client

Web browser (Firefox, IE, Safari)

ZimletsZimbra POPIMAP

SOAP/XML HTTP

IMAP (Future)

POP(Future)

Zimbra Micro Server Architecture

1414 AJAX Unplugged

Challenges for the Developer

Selecting *what* to take offlineSecurity risksDoes the user need it?Can they use it offline?

Sync is hardConflict resolutionMulti-user and multi-client

End-User Desktop SupportRisk of increased support/debugging costs

Upgrades and PatchesHave a plan *before* you release

1515 AJAX Unplugged

Thank You! Questions?

More Information:www.zimbra.com/desktopwww.zimbra.com/blogwww.zimbra.com/forums

1616 AJAX Unplugged

Some Related Linkshttp://blog.monstuff.com/archives/000272.htmlhttp://developers.sun.com/javadb/overview/product_tour/readme.jsphttp://labs.adobe.com/technologies/apollo/http://www.sitepen.com/blog/2007/01/02/the-dojo-offline-toolkit/http://codinginparadise.org/projects/dojo_offline/release-02-20-2007/demos/storage/editor.htmlhttp://joyeur.com/2007/03/22/joyent-slingshothttp://blog.magnetk.com/2007/03/22/joyent-slingshot/http://www.bluishcoder.co.nz/2007/02/offline-zimbra-with-firefox.htmlhttp://weblogs.mozillazine.org/roc/archives/2007/02/offline_web_app.htmlhttp://ejohn.org/blog/offline-events/http://developer.mozilla.org/en/docs/XULRunnerhttp://blogs.salesforce.com/features/2006/03/offline_edition.htmlhttp://www.tiddlywiki.com/http://www.zimbra.com/desktop

1717 AJAX Unplugged

Next-Generation Integrated Messaging & Collaboration SolutionMail, Contacts, Calendar, Web Documents, Wiki, VOIP, RSS, Mash-ups, Search, Sharing, Web services, etc.

Customers:8M+ paid mailboxes: enterprises, SMBs, hosting providers, EDU & ISPs1400+ customers

What Makes ZCS Different?Innovation – rich, ubiquitous user experience + cost-effective administrationOpen Source – transparency, community, extensibilityCompatibility – diverse environments & user groups support, investment protection, flexibility, application integration

Partners:

Awards:

Zimbra Snapshot

1818 AJAX Unplugged

Zimbra Sync

Zimbra Collaboration Platform

Standards Clients Outlook 2003, 2007Apple Desktop

iPhone

Standards (Q3 beta)

Blackberry

zSync

BES

J2ME

XHTML

IMAP, POP, iCal, RSS/Atom, CalDAV (beta)

zSync

zSync

iZimbra

iSync MAPI

Disaster Recovery

Zimbra Sync

Pocket PC

5 & 6Palm Symbian

Zimbra Server

Alpha

zSync

Evolution (Beta)

Email - Calendar - Contacts - Tasks