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