|
ABSTRACT
Web applications often use HTML templates to separate the webpage presentation from its underlying business logic and objects. This is now the de facto standard programming model for Web application development. This paper proposes a novel implementation for existing server-side template engines, FlyingTemplate, for (a) reduced bandwidth consumption in Web application servers, and (b) off-loading HTML generation tasks to Web clients. Instead of producing a fully-generated HTML page, the proposed template engine produces a skeletal script which includes only the dynamic values of the template parameters and the bootstrap code that runs on a Web browser at the client side. It retrieves a client-side template engine and the payload templates separately. With the goals of efficiency, implementation transparency, security, and standards compliance in mind, we developed FlyingTemplate with two design principles: effective browser cache usage, and reasonable compromises which restrict the template usage patterns and relax the security policies slightly but in a controllable way. This approach allows typical template-based Web applications to run effectively with FlyingTemplate. As an experiment, we tested the SPECweb2005 banking application using FlyingTemplate without any other modifications and saw throughput improvements from 1.6x to 2.0x in its best mode. In addition, FlyingTemplate can enforce compliance with a simple security policy, thus addressing the security problems of client-server partitioning in the Web environment.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
Khalil Amiri , David Petrou , Gregory R. Ganger , Garth A. Gibson, Dynamic function placement for data-intensive cluster computing, Proceedings of the annual conference on USENIX Annual Technical Conference, p.25-25, June 18-23, 2000, San Diego, California
|
 |
2
|
|
| |
3
|
Ashley IT Services Inc. RSLite demo. http://www.ashleyit.com/rs/rslite/.
|
| |
4
|
H. Bottger, A. Møller, and M. I. Schwartzbach. Contracts for cooperation between Web service programmers and HTML designers. Journal of Web Engineering, 5(1):65--89, 2006.
|
| |
5
|
|
 |
6
|
Stephen Chong , Jed Liu , Andrew C. Myers , Xin Qi , K. Vikram , Lantian Zheng , Xin Zheng, Secure web application via automatic partitioning, Proceedings of twenty-first ACM SIGOPS symposium on Operating systems principles, October 14-17, 2007, Stevenson, Washington, USA
|
| |
7
|
|
| |
8
|
Document Object Model (DOM) level 3 core specification version 1.0. W3C Recommendation 07 April 2004, http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/.
|
| |
9
|
|
 |
10
|
|
| |
11
|
F. J. Garcia, R. I. Castanedo, and A. A. J. Fuente. A double-model approach to achieve effective model-view separation in template based web applications. In Proceedings of ICWE 2007, 7th International Conference on Web Engineering, Como, Italy, July 16--20, 2007, LNCS 4607, pages 442--456. Springer, 2007.
|
| |
12
|
J. J. Garrett. Ajax: A new approach to web applications, February 2005. http://adaptivepath.com/ideas/essays/archives/000385.php.
|
| |
13
|
|
| |
14
|
A vocabulary and associated APIs for HTML and XHTML, 2008. W3C Working Draft 10 June 2008, http://www.w3.org/TR/2008/WD-html5-20080610/.
|
| |
15
|
Hypertext Transfer Protocol -- HTTP/1.1, 1999. RFC 2616. The application/json media type for JavaScript object notation (JSON), July 1999,2006. RFC 4627.
|
 |
16
|
Frederik De Keukelaere , Sumeer Bhola , Michael Steiner , Suresh Chari , Sachiko Yoshihama, SMash: secure component model for cross-domain mashups on unmodified browsers, Proceeding of the 17th international conference on World Wide Web, April 21-25, 2008, Beijing, China
[doi> 10.1145/1367497.1367570]
|
| |
17
|
|
| |
18
|
New Digital Group, Inc. Smarty: Template engine. http://www.smarty.net/.
|
 |
19
|
|
| |
20
|
PHP: Hypertext preprocessor. http://php.net/.
|
| |
21
|
Standard Performance Evaluation Corporation. SPECWeb2005, 2005. http://www.spec.org/web2005/.
|
| |
22
|
|
| |
23
|
|
 |
24
|
Akihiko Tozawa , Michiaki Tatsubori , Tamiya Onodera , Yasuhiko Minamide, Copy-on-write in the PHP language, Proceedings of the 36th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages, January 21-23, 2009, Savannah, GA, USA
|
| |
25
|
Scott Trent , Michiaki Tatsubori , Toyotaro Suzumura , Akihiko Tozawa , Tamiya Onodera, Performance Comparison of PHP and JSP as Server-Side Scripting Languages, Proceedings of the ACM/IFIP/USENIX 9th International Middleware Conference, December 01-05, 2008, Leuven, Belgium
[doi> 10.1007/978-3-540-89856-6_9]
|
| |
26
|
The XMLHttpRequest object. W3C Working Draft 15 April 2008, http://www.w3.org/TR/2008/WD-XMLHttpRequest-20080415/.
|
 |
27
|
Fan Yang , Nitin Gupta , Nicholas Gerner , Xin Qi , Alan Demers , Johannes Gehrke , Jayavel Shanmugasundaram, A unified platform for data driven web applications with automatic client-server partitioning, Proceedings of the 16th international conference on World Wide Web, May 08-12, 2007, Banff, Alberta, Canada
[doi> 10.1145/1242572.1242619]
|
 |
28
|
|
CITED BY
|
|
Toyotaro Suzumura , Michiaki Tatsubori , Scott Trent , Akihiko Tozawa , Tamiya Onodera, Highly scalable web applications with zero-copy data transfer, Proceedings of the 18th international conference on World wide web, April 20-24, 2009, Madrid, Spain
|
|