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.
Demonstrations
- 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.
- Video demo of our collaborative structure information extraction platform for scientists. Here is a screenshot of the demo.
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
Current Contributors
- Alan Demers
- Johannes Gehrke
- Lucja Kot
- Ben Sowell
- Oliver Kennedy
- Lyublena Antova
Alumni
- Jayavel Shanmugasundaram (now at Yahoo! Research)
- Fan Yang (now at Yahoo!)
- Lin Guo (now at Yahoo!)
- David Martin (now at Google)
- >Chavdar Botev (now at Yahoo!)
Acknowledgements
This research is supported by the National Science Foundation under Grant IIS-534404. Any opinions, findings and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation (NSF).