The CloudBrowser Web Application Framework

View/Open

Date

Author

Metadata

Abstract

While more and more applications are moving from the desktop to the web, users still expect
their applications to behave like they did on the desktop. Specifically, users expect that user
interface state is preserved across visits, and that the state of the interface truly reflects
the state of the underlying data. Unfortunately, achieving this ideal is difficult for web
application developers due to the distributed nature of the web. Modern AJAX applications
rely on asynchronous network programming to synchronize the client-side user interface with
server-side data. Furthermore, since the HTTP protocol is stateless, preserving interface
state across visits requires a significant amount of manual work on behalf of the developer.

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 is ideal for single-
page web applications, which is the current trend in web development. CloudBrowser thus
hides the distributed nature of these applications from the developer, creating an environ-
ment 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. Further-
more, multiple clients can connect to a single server-side interface instance, providing built-in
co-browsing support. 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.