Abstract

Web Applications have become an omnipresent part of our daily lives. They are easy to use, but hard to develop. WYSIWYG editors, form builders, mashup editors, and markup authoring tools ease the development of Web Applications. However, more advanced Web Applications require servers-side programming, which is beyond the skills of end-user developers. In this paper, we discuss how declarative languages can simplify Web Application development and empower end-users as Web developers. We first identify nine end-user Web Application development levels ranging from simple visual customization to advanced three-tier programming. Then, we propose expanding the presentation tier to support all aspects of Web Application development. We introduce a unified XForms-based framework—called XFormsDB—that supports both client-side and server-side Web Application development. Furthermore, we make a language extension proposal—called XFormsRTC—for adding true real-time communication capabilities to XForms. We also present XFormsDB Integrated Development Environment (XIDE), which assists end-users in authoring highly interactive data-driven Web Applications. XIDE supports all Web Application development levels and, especially, promotes the transition from markup authoring and snippet programming to single and unified language programming.

Highlights

  • Interactive data-driven Web Applications—abbreviated to Web Applications in the following—are usually based on the so-called three-tier architecture [2]

  • In [28], we evaluated three frameworks in detail, each representing the Web tier-expansion approach: our declarative XFormsDB, imperative Google Web toolkit (GWT)2, and declarative Sausalito3 [22], which expand the presentation, logic, and data tiers, respectively

  • We propose to use XForms [5], which is an XML-based Web user interface language designed to tackle the most common problems found in HTML forms

Read more

Summary

Introduction

Interactive data-driven Web Applications—abbreviated to Web Applications in the following—are usually based on the so-called three-tier architecture [2]. The presentation tier (i.e., user interface) is defined using HTML and CSS languages, and complemented with numerous JavaScript embeddings for client-side application logic. The logic tier (i.e., server-side application logic) is based either on an object-oriented (e.g., Java or Ruby) or scripting (e.g., PHP) language and uses HTML, XML, or JSON formats for client–server communication. The data tier (i.e., application data) uses either an Object-Relational Mapping (ORM) library or SQL statements for data management. Web Applications contain both imperative (e.g., Java and JavaScript) and declarative (e.g., HTML, CSS, and SQL) components. Web developers have to master several programming languages and face their conceptual differences [39]. A common solution is to assign tier-specific professionals (i.e., Web designers, software engineers, and database experts) to develop each tier

Objectives
Results
Conclusion
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call