ABSTRACT
Data-driven web applications are usually structured in three tiers with different programming models at each tier. This division forces developers to manually partition application functionality across the tiers, resulting in complex logic, suboptimal partitioning, and expensive re-partitioning of applications. In this paper, we introduce a unified platform for automatic partitioning of data-driven web applications. Our approach is based on Hilda[41, 46], a high-level declarative programming language with a unified data and programming model for all the layers of the application. Based on run-time properties of the application, Hilda's run time system automatically partitions the application between the tiers to improve response time while adhering to memory and/ or processing constraints at the clients. We evaluate our methodology with traces from a real application and with TPC-W, and our results show that automatic partitioning outperforms manual partitioning without the associated development overhead.
- Adobe fash. http://en.wikipedia.org/wiki/Macromedia Flash.Google Scholar
- Asynchronous javascript and xml. http://en.wikipedia.org/wiki/Ajax (programming).Google Scholar
- K. Amiri et al. Dynamic function placement for data-intensive cluster computing. In USENIX 2000 Annual Technical Conference, San Diego, CA, June 2000., pages 307--322, 2000. Google ScholarDigital Library
- A. Bongio, S. Ceri, P. Fraternali, and A. Maurino. Modeling data entry and operations in webml. In The World Wide Web and Databases (WebDB, Selected Papers), pages 201--214, 2000. Google ScholarDigital Library
- G. Booch et al. The Unified Modeling Language User Guide,The Addison-Wesley Object Technology Series. Addison Wesley, 1998. Google ScholarDigital Library
- C. Botev et al. Supporting workflow in a course management system. In Proc. SIGCSE, 2005. Google ScholarDigital Library
- M. Brambilla et al. Declarative specification of web applications exploiting web services and workflows. In Proc. SIGMOD, pages 909--910, 2004. Google ScholarDigital Library
- V. Cardellini, M. Colajanni, and P. S. Yu. Dynamic load balancing on web-server systems. IEEE Internet Computing, 3(3):2839, 1999. Google ScholarDigital Library
- S. Ceri, P. Fraternali, and A. Bongio. Web modeling language (webml): a modeling language for designing web sites. In Proc. the ninth International World Wide Web Conference, 2000. Google ScholarDigital Library
- T. W. Commerce. Tpc benchmark http://www.tpc.org/tpcw/.Google Scholar
- E. Cooper, S. Lindley, P. Wadler, and J. Yallop. Links: Web programming without tiers. In Submitted to ESOP 2007.Google Scholar
- M. J. Franklin, M. J. Carey, and M. Livny. Transactional client-server cache consistency: alternatives and performance. ACM Trans. Database Syst., 22(3), 1997. Google ScholarDigital Library
- P. Fraternali. Tools and approaches for developing data-intensive web applications: A survey. ACM Computing Surveys, 31(3):227--263, 1999. Google ScholarDigital Library
- N. Gerner et al. Automatic clientserver partitioning of data driven web applications. In Proc. SIGMOD, 2006. Google ScholarDigital Library
- A. Hayrapetyan, D. Kempe, M. Pál, and Z. Svitkina. Unbalanced graph cuts. In European Symposium on Algorithms (ESA), Mallorca, Spain, 2005. Google ScholarDigital Library
- http://java.sun.com/j2se/1.4.2/docs/guide/plugin/developer guide/applet caching.html.Google Scholar
- G. C. Hunt and M. L. Scott. The coign automatic distributed partitioning system. In Operating Systems Design and Implementation, pages 187--200, 1999. Google ScholarDigital Library
- M. Ozsu, K. Voruganti, and R. Unrau. An asynchronous avoidance-based cache consistency algorithm for client caching dbmss, 1998.Google Scholar
- R. Ramakrishnan and J. Gehrke. Database Management Systems. McGraw-Hill, 3 edition, 2003. Google ScholarDigital Library
- E. Tilevich and Y. Smaragdakis. J-orchestra: Automatic java application partitioning. European Conference on Object-Oriented Programming (ECOOP), Malaga, June 2002. Google ScholarDigital Library
- V. V. Vazirani. Approximation Algorithms. Springer-Verlag, Berlin, 2001. Google ScholarDigital Library
- K. Voruganti, M. T. Ozsu, and R. C. Unrau. An adaptive hybrid server architecture for client caching ODBMSs. In The VLDB Journal, pages 150--161, 1999. Google ScholarDigital Library
- K. Voruganti, M. T. Özsu, and R. C. Unrau. An adaptive data-shipping architecture for client caching data management systems. Distrib. Parallel Databases, 15(2):137--177, 2004. Google ScholarDigital Library
- C. Wang and Z. Li. Parametric analysis for adaptive computation offloading. In PLDI '04: Proceedings of the ACM SIGPLAN 2004 conference on Programming language design and implementation, 2004. Google ScholarDigital Library
- K. Wu, P. fei Chuang, and D. J. Lilja. An active data-aware cache consistency protocol for highly-scalable data-shipping dbms architectures. In CF '04: Proceedings of the 1st conference on Computing frontiers, 2004. Google ScholarDigital Library
- F. Yang et al. Hilda: A high-level language for data-driven web applications. In Proc. ICDE, 2006. Google ScholarDigital Library
- F. Yang et al. A unified platform for data driven web applictions with automatic client-server partitioning. Technical report, Cornell University, 2007. http://techreports.library.cornell.edu.Google Scholar
Index Terms
- A unified platform for data driven web applications with automatic client-server partitioning
Recommendations
Secure web applications via automatic partitioning
SOSP '07Swift is a new, principled approach to building web applications that are secure by construction. In modern web applications, some application functionality is usually implemented as client-side code written in JavaScript. Moving code and data to the ...
Automatic client-server partitioning of data-driven web applications
SIGMOD '06: Proceedings of the 2006 ACM SIGMOD international conference on Management of dataCurrent application development tools provide completely different programming models for the application server (e.g., Java and J2EE) and the client web browser (e.g., JavaScript and HTML). Consequently, the application developer is forced to partition ...
Partitioning web applications between the server and the client
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 ...
Comments