Hilda: A High-Level Language for Data-Driven Web Applications
[Publications] [Demonstrations] [Software] [People]
An important class of applications is data-driven web applications , i.e., web applications that are run on top of a back-end database system. Examples of such applications include online shopping sites, online auctions, and business-to-business portals. While developing data-driven web applications is a complex and challenging task, the application development interface provided by existing platforms is often too low-level or does not provide a unified model for the whole application stack.
Hilda addresses the above shortcomings by providing a high-level language for developing data-driven web applications. The primary benefits of Hilda over existing development platforms are: (a) it uses a unified data model for all layers of the application, (b) it is declarative, (c) it models both application queries and updates, (d) it supports structured programming for web sites, (e) it enables conflict detection due to concurrent updates, and (f) it separates application logic from presentation.
Publications
F. Yang, J. Shanmugasundaram, M. Riedewald, J. Gehrke, A. Demers, "Hilda: A High-Level Language for Data-Driven Web Applications", ICDE Conference, April 2006. Click here for the full version.
F. Yang, N. Gupta, N. Gerner, X. Qi, A. Demers, J. Gehrke, J. Shanmugasundaram "A Unified Platform for Data Driven Web Applictions with Automatic Client-Server Partitioning" WWW Conference, 2007
Demonstration
- Demonstration of a Prototype Course Management System Developed in Hilda [ Hilda Source Code ]. We have developed a prototype Course Management System (CMS) using Hilda. It has the basic functionality required to manage a course. You can login as an administrator, course staff or student. As an administrator, you can add and delete users, courses, and course staff. As a course staff, you can add and delete assignments and students. As a student, you can extend, accept and decline invitations to for a group for an assignment. You can log in to the system as an administrator with the user name "admin" and the password "default". Once you are logged in as an administrator, you can add a new user corresponding to yourself and choose an appropriate password. You can also add yourself as a staff or student to existing courses, or create a new course.
- Video Demo for our next generation development platform for data driven web applications We developed a visual development platform based on HILDA model. In the platform, users can create their own application without much programming knowledge. It allows user to easily personalize and extend the existing applications as if it were their own private. They can also share their extension among users in system. Please refer to the demo proposal and research statement for more details.
Software
- Hilda Compiler Version 1.0. This is a simple proof-of-concept Hilda compiler that translates a Hilda program into a Java classes that run in an application server on top of a relational database system. We used this compiler to generate the prototype CMS application described above.
- Visual Development Platform. This is the source code of our system. It can be deployed on any application servers with PHP support. The system allowes users to develop and extend applications inside browsers using drag and drop.
People
- Alan Demers
- Johannes Gehrke
- Mirek Riedewald
- Jayavel Shanmugasundaram
- Fan Yang
Acknowledgements
This work supported by the National Science Foundation under Grant No. 534404.