Supporting workflow in a course management system
Proceedings of the 36th SIGCSE technical symposium on Computer science education
Unified Modeling Language User Guide, The (2nd Edition) (Addison-Wesley Object Technology Series)
Unified Modeling Language User Guide, The (2nd Edition) (Addison-Wesley Object Technology Series)
Hilda: A High-Level Language for Data-DrivenWeb Applications
ICDE '06 Proceedings of the 22nd International Conference on Data Engineering
A unified platform for data driven web applications with automatic client-server partitioning
Proceedings of the 16th 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
Hi-index | 0.00 |
Current 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 the application code between the server and client at the time of writing the application. However, the partitioning of the code between the client and server may have to be changed during the evolution of the application for performance reasons (it may be better to push more functionality to the client), for correctness reasons (data that conflicts with multiple clients cannot always be pushed to clients), and for supporting clients with different computing power (browsers on desktops vs. PDAs). Since the client and server use different programming models, moving application code from client to server (and vice versa) reduces programmer productivity and also has the potential to introduce concurrency bugs. In this demonstration, we advocate an alternative solution to this problem: we propose developing applications using a unified declarative high-level language called Hilda, and show how a Hilda compiler can automatically (and correctly) partition Hilda code between the client and the server using a real Course Management System application. We illustrate our techniques using two clients: a powerful laptop machine and a less powerful PDA.