On multisystem coupling through function request shipping
IEEE Transactions on Software Engineering
Tools and approaches for developing data-intensive Web applications: a survey
ACM Computing Surveys (CSUR)
Web Modeling Language (WebML): a modeling language for designing Web sites
Proceedings of the 9th international World Wide Web conference on Computer networks : the international journal of computer and telecommunications netowrking
Web-Application Development Using the Model/View/Controller Design Pattern
EDOC '01 Proceedings of the 5th IEEE International Conference on Enterprise Distributed Object Computing
A Bytecode Translator for Distributed Execution of ``Legacy'' Java Software
ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
J-Orchestra: Automatic Java Application Partitioning
ECOOP '02 Proceedings of the 16th European Conference on Object-Oriented Programming
Mobile Agent Interaction in Heterogeneous Environments
MA '97 Proceedings of the First International Workshop on Mobile Agents
Enforcing strict model-view separation in template engines
Proceedings of the 13th international conference on World Wide Web
Dynamic HTML: The Definitive Reference (Dynamic Html)
Dynamic HTML: The Definitive Reference (Dynamic Html)
A unified platform for data driven web applications with automatic client-server partitioning
Proceedings of the 16th international conference on World Wide Web
Dynamic function placement for data-intensive cluster computing
ATEC '00 Proceedings of the annual conference on USENIX Annual Technical Conference
Repleo: a syntax-safe template engine
GPCE '07 Proceedings of the 6th international conference on Generative programming and component engineering
Secure web applications via automatic partitioning
Proceedings of twenty-first ACM SIGOPS symposium on Operating systems principles
Better abstractions for secure server-side scripting
Proceedings of the 17th international conference on World Wide Web
SMash: secure component model for cross-domain mashups on unmodified browsers
Proceedings of the 17th international conference on World Wide Web
Copy-on-write in the PHP language
Proceedings of the 36th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Performance Comparison of PHP and JSP as Server-Side Scripting Languages
Middleware '08 Proceedings of the ACM/IFIP/USENIX 9th International Middleware Conference
ICWE'07 Proceedings of the 7th international conference on Web engineering
Contracts for cooperation between web service programmers and html designers
Journal of Web Engineering
Highly scalable web applications with zero-copy data transfer
Proceedings of the 18th international conference on World wide web
Sync kit: a persistent client-side database caching toolkit for data intensive websites
Proceedings of the 19th international conference on World wide web
SVC: selector-based view composition for web frameworks
WebApps'10 Proceedings of the 2010 USENIX conference on Web application development
Proceedings of the 12th International Conference on Information Integration and Web-based Applications & Services
Cascading tree sheets and recombinant HTML: better encapsulation and retargeting of web content
Proceedings of the 22nd international conference on World Wide Web
Hi-index | 0.00 |
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.