Object-relational event middleware for web applications

Web based applications are increasingly being used for highly reactive systems where clients expect to be notified of broadcast style information with relatively low latency. Software development of these applications has partially been addressed by technologies associated with the Ajax and Comet architecture for Web programming. While such applications are beneficial to end users, they create additional burdens for software developers. In particular, this push-style development is not integrated with the object-oriented model of data used by application-tier developers. In this paper, we investigate an event-driven style of programming to allow event-based subscription and notification of changes to application object state. This requires a new framework to maintain consistency for developers between two key elements. First, consistency must be maintained between application-tier objects and data-tier state. Second, consistency must be maintained between subscriptions across multiple hosts in a server cluster, so that notifications of changes to object state are disseminated to all appropriate browser clients. We use a running example from the Java-based LightPortal open-source social network Web application to describe the approach. We also evaluate performance implications on the RUBiS Web auction application benchmark.

[1]  Hector Garcia-Molina,et al.  The SIFT information dissemination system , 1999, TODS.

[2]  Andrei Broder,et al.  Network Applications of Bloom Filters: A Survey , 2004, Internet Math..

[3]  Narain H. Gehani,et al.  Event specification in an active object-oriented database , 1992, SIGMOD '92.

[4]  Burton H. Bloom,et al.  Space/time trade-offs in hash coding with allowable errors , 1970, CACM.

[5]  Arie van Deursen,et al.  Performance Testing of Data Delivery Techniques for AJAX Applications , 2009, J. Web Eng..

[6]  C. Amza,et al.  Specification and implementation of dynamic Web site benchmarks , 2002, 2002 IEEE International Workshop on Workload Characterization.

[7]  Li Fan,et al.  Summary cache: a scalable wide-area web cache sharing protocol , 2000, TNET.

[8]  Sumit Mittal,et al.  Caching Dynamic Web Content: Designing and Analysing an Aspect-Oriented Solution , 2006, Middleware.

[9]  Alexander L. Wolf,et al.  Forwarding in a content-based network , 2003, SIGCOMM '03.

[10]  Roy T. Fielding,et al.  Principled design of the modern Web architecture , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[11]  Werner Vogels,et al.  Dynamo: amazon's highly available key-value store , 2007, SOSP.

[12]  Laurian M. Chirica,et al.  The entity-relationship model: toward a unified view of data , 1975, SIGF.

[13]  Terence John Parr,et al.  Enforcing strict model-view separation in template engines , 2004, WWW '04.

[14]  Wilson C. Hsieh,et al.  Bigtable: A Distributed Storage System for Structured Data , 2006, TOCS.

[15]  Yannis Papakonstantinou,et al.  Ajax-based report pages as incrementally rendered views , 2010, SIGMOD Conference.

[16]  V. S. Subrahmanian,et al.  Maintaining views incrementally , 1993, SIGMOD Conference.

[17]  Shriram Krishnamurthi,et al.  Flapjax: a programming language for Ajax applications , 2009, OOPSLA '09.

[18]  Phil McCarthy,et al.  Comet and Reverse Ajax: The Next-Generation Ajax 2.0 , 2008 .

[19]  Roberta Cochrane,et al.  Active Database Features in SQL3 , 1999, Active Rules in Database Systems.

[20]  David E. Culler,et al.  SEDA: an architecture for well-conditioned, scalable internet services , 2001, SOSP.

[21]  Arun Iyengar,et al.  A Middleware System Which Intelligently Caches Query Results , 2000, Middleware.

[22]  Arun Iyengar,et al.  Improving Web Server Performance by Caching Dynamic Data , 1997, USENIX Symposium on Internet Technologies and Systems.

[23]  James Gettys,et al.  Network performance effects of HTTP/1.1, CSS1, and PNG , 1997, SIGCOMM '97.

[24]  Haoyu Song,et al.  Fast hash table lookup using extended bloom filter: an aid to network processing , 2005, SIGCOMM '05.