Architectural Issues and Solutions in the Development of Data-Intensive Web Applications
Conference on Innovative Data Systems Research
A data-intensive Web application is a Web-enabled software system for the publication and management of large data collections, typically stored in one or more database management systems. Data-intensive Web applications constitute the most diffused class of applications found on the Web today, and their industrial relevance is an established fact. As a consequence, an intense technical and scientific debate is ongoing on the various aspects of their implementation, especially on the software
... chitectures and design process best suited to cope with the peculiar aspects of a data-intensive Web application. The ideal software process should meet two possibly competing goals: 1) capturing the application requirements in a formal way, so to incorporate them in the development lifecycle and derive the software directly from the functional requirements; 2) delivering a software architecture that meets the non-functional requirements of performance, security, scalability, availability, and maintainability. Such process should also be amenable to automation, to let developers concentrate on functional requirements and optimization, and delegate the repetitive tasks to software tools. The goal of this paper is to report on an experience of applying a novel software development process to data-intensive Web applications, and to discuss the problems, design choices, and trade-offs that led to the conception of WebRatio, an innovative technology for Web application development.