A Framework for the Efficient Production of Web Applications Jia Zhang Ugo Buy infiNET Solutions Computer Science Department 1425 E. Busch Parkway University of Illinois at Chicago Buffalo Grove, IL 60089, USA Chicago, IL 60607 Abstract To date developers can exploit a wealth of existing languages and tools when designing and implementing web applications; however, comprehensive and automated tools and techniques for producing these applications are still conspicuously lacking. Here we describe a framework for efficient production of web applications, which synergistically integrates techniques for automatic code generation with some of the most recent technologies for web development, such as the J2EE application server and XML. We also describe a general-purpose architecture for web applications and our Mockup-Driven Fast-prototyping Methodology (MODFM), which is based on well-tried techniques, such as rapid prototyping and mockup-driven software design. Finally, we discuss an example of a web application developed with our methodology, a comprehensive university administration system that was recently deployed at a research university. Our initial experience with this system indicates that MODFM and related tools can provide dramatic improvements in developer productivity, while also enhancing the reliability of the resulting applications. 1. Introduction Embracing both computing and networking technologies, web application development can be quite complex, costly and time-consuming, if not supported by a practical methodology [Fraternali00]. To date developers can exploit a wealth of existing languages and standards when designing and implementing web applications. By providing full support for Enterprise JavaBean (EJB) components, Java Servlet API, JavaServer Pages (JSP) and XML technology, the Java 2 platform, Enterprise Edition (J2EE) defines a de facto standard for developing multi-tier interactive web applications [J2ee]. Keeping developers from the tedious coding of system level utilities [Grundy02], an application server is the middle tier of enterprise software linking the back-end systems and databases at one end with the graphical user interface at the opposite end; therefore it is the basis of a typical web application. Most commercial application servers available today are based on the J2EE platform, including Weblogic [Bea], Websphere [Websphere], and JRun [Jrun]. The eXtensible Markup Language (XML) is considered a universal format for structured documents and data definitions on the web [McLaughlin]. Together with the Hyper-Text Transfer Protocol (HTTP), the Hyper-Text Markup Language (HTML) and various scripting languages (e.g., JavaScript), J2EE and XML have enabled the explosion in the number of web applications that we have witnessed to date. However, tools and techniques for developing and connecting the main components of a web application (e.g., interfaces, application logic, and back- end databases) are lacking. As a result, developers often resort to ad-hoc strategies for integrating the various tiers. In all but exceptional cases, developers must design and code web applications from scratch, which wastes valuable human resources and may result in schedule delays. Here we define a framework for efficient production of web applications. Our framework has several goals. First, we seek to expedite the development of web applications by exploiting automatic program generation techniques. Second, our framework supports the inclusion of customer feedback early in the development process. Finally, we seek to facilitate software maintenance. We accomplish our goals in several ways. First, we define a software architecture suitable for a broad variety of web applications. This architecture seamlessly integrates cutting-edge technologies for web development, such as J2EE and XML, with established development methodologies, including rapid prototyping and automatic code generation. Second, we propose a Mockup-Driven Fast-prototyping Methodology (MODFM) for developing all the components typical of web applications. Utilizing well-tried concepts, such as client-centric development [Sommerville] and rapid prototyping [Szekely], MODFM seeks to gain customer feedback at early stages of development in order to avoid wasting development efforts because of incorrect or incomplete specifications. In particular, MODFM leads to the production of a skeleton system (i.e., the mockup) that contains the interface, but not the full functionality, of the finished application. Finally, the use of automatic code generation can provide dramatic improvements in development speed. We developed a university administration information system using MODFM. Our empirical Proceedings of the Eighth IEEE International Symposium on Computers and Communication (ISCC’03) 1530-1346/03 $17.00 © 2003 IEEE