skip to main content
10.1145/2384716.2384768acmconferencesArticle/Chapter ViewAbstractPublication PagessplashConference Proceedingsconference-collections
research-article

The CloudBrowser web application framework

Published: 19 October 2012 Publication History

Abstract

CloudBrowser is a web application framework that supports the development of rich Internet applications whose entire user interface and application logic resides on the server, while all client/server communication is provided by the framework. CloudBrowser thus hides the distributed nature of these applications from the developer, creating an environment similar to that provided by a desktop user interface library. CloudBrowser preserves the user interface state in a server-side virtual browser that is maintained across visits. Unlike other server-centric frameworks, CloudBrowser's exclusive use of the HTML document model and associated JavaScript execution environment allows it to exploit existing client-side user interface libraries and toolkits while transparently providing access to other application tiers. We have implemented a prototype of CloudBrowser as well as several example applications to demonstrate the benefits of its server-centric design.

References

[1]
Twitter Bootstrap JavaScript Demo. http://twitter.github.com/bootstrap/javascript.html.
[2]
MySQL. http://mysql.com.
[3]
Opera Mini Mobile Browser. http://www.opera.com/mobile.
[4]
Selenium web browser automation. http://seleniumhq.org.
[5]
SkyFire Mobile Browser. http://www.skyfire.com/en/for-consumers/android/android.
[6]
Socket.io. http://socket.io.
[7]
Yahoo! User Interface Library. http://yuilibrary.com.
[8]
Document Object Model (DOM) Level 2 Events Specification. Technical report, Nov. 2000. URL http://www.w3.org/TR/DOM-Level-2-Events/.
[9]
A. Adya, J. Howell, M. Theimer, W. J. Bolosky, and J. R. Douceur. Cooperative Task Management Without Manual Stack Management. In Proceedings of the General Track of the annual conference on USENIX Annual Technical Conference, pages 289--302, Berkeley, CA, USA, 2002. USENIX Association.
[10]
S. Burbeck. Application Programming in Smalltalk-80: How to use Model-View-Controller (MVC). Technical report, University of Illinois in Urbana-Champaign (UIUC).
[11]
H. Chen and R. Cheng. ZK: Ajax without the Javascript Framework. Apress, Berkely, CA, USA, 2007.
[12]
D. Crockford. Json. http://www.json.org.
[13]
(2001)}CzajkowskiDayn:sp2001G. Czajkowski and L. Daynés. Multitasking without comprimise: a virtual machine evolution. SIGPLAN Not., 36 (11): 125--138, Oct. 2001. 10.1145/504311.504292.
[14]
R. Dahl. Node.js. http://nodejs.org.
[15]
S. Depold. Sequelize. http://sequelizejs.com.
[16]
S. H. Edwards and G. Back. Bringing creative web 2.0 programming into CS1: conference workshop. J. Comput. Sci. Coll., 26 (3): 54--55, Jan. 2011.
[17]
E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, 1994.
[18]
J. Garrett. AJAX: A new approach to web applications. http://www.adaptivepath.com/ideas/ajax-new-approach-web-applications, 2005.
[19]
Google, Inc. Google web toolkit (gwt). http://code.google.com/webtoolkit/.
[20]
E. Insua. JSDOM. http://jsdom.org.
[21]
Keynote Systems, Inc. Internet health report. http://www.internetpulse.net/.
[22]
G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. Lopes, J.-M. Loingtier, and J. Irwin. Aspect-oriented programming. In ECOOP'97 @ T Object-Oriented Programming, volume 1241, pages 220--242. Springer Berlin / Heidelberg, Berlin/Heidelberg, 1997. 10.1007/BFb0053381.
[23]
A. Mesbah, A. van Deursen, and S. Lenselink. Crawling Ajax-Based Web Applications through Dynamic Analysis of User Interface State Changes. ACM Trans. Web, 6 (1), Mar. 2012. 10.1145/2109205.2109208.
[24]
L. A. Meyerovich, A. Guha, J. Baskin, G. H. Cooper, M. Greenberg, A. Bromfield, and S. Krishnamurthi. Flapjax: a programming language for Ajax applications. In Proceedings of the 24th ACM SIGPLAN conference on Object oriented programming systems languages and applications, OOPSLA '09, pages 1--20. ACM, 2009. 10.1145/1640089.1640091.
[25]
J. Nielsen. Usability Engineering. Morgan Kaufmann, 1st edition, Sept. 1993. ISBN 9780125184069.
[26]
J. Ousterhout. Fiz: A component framework for web applications. Technical report, Dep. of CS, Stanford University, 2009.
[27]
J. Ousterhout and E. Stratmann. Managing state for Ajax-driven web components. In Proceedings of the 2010 USENIX conference on Web application development, WebApps '10, page 7, Berkeley, CA, USA, 2010. USENIX Association.
[28]
D. Pariag, T. Brecht, A. Harji, P. Buhr, A. Shukla, and D. R. Cheriton. Comparing the performance of web server architectures. SIGOPS Oper. Syst. Rev., 41 (3): 231--243, Mar. 2007. 10.1145/1272998.1273021.
[29]
W. Reese. Nginx: the high-performance web server and reverse proxy. Linux J., 2008 (173), Sept. 2008.
[30]
J. Resig. jQuery. http://jquery.com.
[31]
S. Sanderson. Knockout. http://knockoutjs.com.
[32]
J. M. A. Santamaria. ItsNat: Natural AJAX. component based Java web application framework. http://itsnat.sourceforge.net.
[33]
R. W. Scheifler and J. Gettys. The X window system. ACM Trans. Graph., 5 (2): 79--109, Apr. 1986. 10.1145/22949.24053.
[34]
E. Stratmann, J. Ousterhout, and S. Madan. Integrating long polling with an MVC framework. In Proceedings of the 2nd USENIX conference on Web application development, WebApps '11, page 10. USENIX Association, 2011.
[35]
E. Tilevich and G. Back. "Program, enhance thyself!": demand-driven pattern-oriented program enhancement. In Proceedings of the 7th international conference on Aspect-oriented software development, AOSD '08, pages 13--24, New York, NY, USA, 2008. ACM. 10.1145/1353482.1353485.
[36]
K. Vikram, A. Prateek, and B. Livshits. Ripley: automatically securing web 2.0 applications through replicated execution. In Proceedings of the 16th ACM conference on Computer and communications security, CCS '09, pages 173--186, New York, NY, USA, 2009. ACM. 10.1145/1653662.1653685.
[37]
M. Welsh, D. Culler, and E. Brewer. SEDA: an architecture for well-conditioned, scalable internet services. In Proceedings of the eighteenth ACM symposium on Operating systems principles, volume 35 of SOSP '01, pages 230--243, New York, NY, USA, Dec. 2001. ACM. 10.1145/502034.502057.
[38]
T. Yoshino. WebSocket Per-frame DEFLATE Extension. Technical Report draft-tyoshino-hybi-websocket-perframe-deflate-04.txt, IETF Secretariat, Fremont, CA, USA, Aug. 2011. URL http://www.rfc-editor.org/internet-drafts/draft-tyoshino-hybi-websocket%-perframe-deflate-04.txt.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
SPLASH '12: Proceedings of the 3rd annual conference on Systems, programming, and applications: software for humanity
October 2012
252 pages
ISBN:9781450315630
DOI:10.1145/2384716
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 19 October 2012

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. ajax
  2. cloud applications
  3. paas
  4. remote display
  5. server-centric
  6. web application framework

Qualifiers

  • Research-article

Conference

SPLASH '12
Sponsor:

Upcoming Conference

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)2
  • Downloads (Last 6 weeks)0
Reflects downloads up to 20 Jan 2025

Other Metrics

Citations

Cited By

View all

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media