PARTITIONING WEB APPLICATIONS BETWEEN THE SERVER AND THE CLIENT
Keywords:
Web Application, AJAX, JavaScript, CometAbstract
Web 2.0 and rich Internet application technologies are offering more and more sophisticated means for building compelling applications. At the same time the development of applications is becoming increasingly complex. While web applications are commonly relying on server side processing, we aim at implementing a “fat client” and running applications mostly on the client. With this in mind we derive a set of guidelines on how the applications should be partitioned between the server and the client. By following these directives and leaning on the traditional principles of good software development, we address the issues of complexity that have lately emerged in web development.
Downloads
References
T. Mikkonen and A. Taivalsaari. Web applications - spaghetti code for the 21st century. Technical
report, Sun Microsystems, 2007.
The World Wide Web Consortium. HTML 4.01 Specification. http://www.w3.org/TR/html401/,
The World Wide Web Consortium. CSS 2.1 Specification. http://www.w3.org/TR/CSS2/, 2009.
ECMA, Standard ECMA-262, ECMAScript Language Specification 3rd Edition, 1999
D. Crockford. Json. RFC 4627, 2006.
The World Wide Web Consortium. Extensible Markup Language (XML) 1.0 (Fifth Edition).
http://www.w3.org/TR/xml/, 2009.
J. J. Garrett. Ajax: A new approach to web application. http://www.adaptivepath.com/ideas/
essays/archives/000385.php, 2005.
A. T. H. III. Ajax: The Definitive Guide. O Reilly Media, Inc., 2005.
A. Russell. Comet: Low latency data for the browser. http://alex.dojotoolkit.org/?p=545, 2006.
A. Russell. Comet: Low latency data for the browser. http://alex.dojotoolkit.org/wp- content/
LowLatencyData.pdf, 2006.
Jabber Software Foundation. Extensible Messaging and Presence Protocol (XMPP): Core.
http://xmpp.org/rfcs/rfc3920.html, 2004.
Jabber Software Foundation. Extensible Messaging and Presence Protocol (XMPP): Instant Messaging
and Presence. http://xmpp.org/rfcs/rfc3920.html, 2004.
XMPP Standards Foundation. XEP-0206: XMPP Over BOSH. http://xmpp.org/extensions/xep-
html, 2009.
The World Wide Web Consortium. HTML 5. http://www.w3.org/TR/html5/, 2009.
WWW Consortium. Document object model. http://www.w3.org/DOM/, 2004.
Mozilla Foundation. SpiderMonkey (javascript-c) engine. http://www.mozilla.org/js/spidermonkey/,
Mozilla Foundation. Rhino: Javascript for java. http://www.mozilla.org/rhino/, 2009.
Mozilla Foundation. The same origin policy. http://www.mozilla.org/projects/security/components/sameorigin.
html, 2001.
L. Richardson and S. Ruby. RESTful Web Services. 2007. OReilly Media, Inc., 2007.
A. Taivalsaari, T. Mikkonen, D. Ingalls, and K. Palacz. Web browser as an application platform:
The lively kernel experience. Technical report, Sun Microsystems, 2008.
F. Yang, J. Shanmugasundaram, M. Riedewald, J. Gehrke, A. Demers. Hilda: A High-Level Language
for Data-Driven Web Applications.
F. Yang, N. Gupta, N. Gerner, X. Qi, A. Demers, J. Gehrke, J. Shanmugasundaram. A Unied
Platform for Data Driven Web Applications with Automatic Client-Server Partitioning. WWW
, May 812, 2007, Banff, Alberta, Canada.
C. Zumbrunn. Helma. http://dev.helma.org/, 2009.
G. Krasner and S. Pope. A cookbook for using model-view-controller user interface paradigm in
smalltalk- 80. Journal of Object-Oriented Programming, 1988.
F. Zammetti. Practical DWR 2 Projects. Apress, 2008.
Aptana Inc. Jaxer. http://aptana.com/jaxer, 2009.
Google. Google Web Toolkit. http://code.google.com/webtoolkit/, 2009.
NextApp. Echo3 Web Framework. http://echo.nextapp.com/site/echo3, 2009.
A. Russell, G. Wilkins, D. Davis, and M. Nesbitt. Bayeux protocol. Technical report, The Dojo
Foundation, 2007.
S. Chong, J. Liu, A. C. Myers, X. Qi, K. Vikram, L. Zheng, X. Zheng. Secure Web Applications
via Automatic Partitioning. SOSP07, 2007, Stevenson, Washington, USA.