You are on page 1of 37

Tools and Approaches for Developing Data-Intensive Web

Applications: A Survey
PIERO FRATERNALI
Politecnico di Milano

The exponential growth and capillar diffusion of the Web are nurturing a novel
generation of applications, characterized by a direct business-to-customer
relationship. The development of such applications is a hybrid between traditional
IS development and Hypermedia authoring, and challenges the existing tools and
approaches for software production. This paper investigates the current situation of
Web development tools, both in the commercial and research fields, by identifying
and characterizing different categories of solutions, evaluating their adequacy to
the requirements of Web application development, enlightening open problems, and
exposing possible future trends.

Categories and Subject Descriptors: H.5.4 [Information Interfaces and


Presentation]: Hypertext/Hypermedia ; D.2.2 [Software Engineering]: Design
Tools and Techniques
General Terms: Design, Experimentation, Languages, Reliability
Additional Key Words and Phrases: Application, development, HTML, Intranet,
WWW

1. INTRODUCTION —Global availability of heterogeneous


information sources requires the inte-
Applications for the Internet in such
grated management of structured and
domains as electronic commerce, digital
libraries, and distance learning are unstructured content, possibly stored
characterized by an unprecedented mix in different systems (databases, file
of features that makes them radically systems, multimedia storage devices)
different from previous applications of and distributed over multiple sites.
information technology [Myers et al. In recent years the World Wide Web
1996]: has been elected as an ideal platform for
—Universal access by individuals with developing Internet applications,
limited or no skills in the use of com- thanks to its powerful communication
puter applications introduces the paradigm based on multimediality and
need of new man-machine interfaces browsing, and to its open architectural
capable of capturing the customer’s standards, which facilitate the integra-
attention and facilitating access to in- tion of different types of content and
formation. systems.

Author’s address: Dipartimento di Elettronica e Informazione, Politecnico di Milano, Piazza Leonardo


da Vinci 32, Milano, I-20133, Italy.
Permission to make digital / hard copy of part or all of this work for personal or classroom use is granted
without fee provided that the copies are not made or distributed for profit or commercial advantage, the
copyright notice, the title of the publication, and its date appear, and notice is given that copying is by
permission of the ACM, Inc. To copy otherwise, to republish, to post on servers, or to redistribute to
lists, requires prior specific permission and / or a fee.
© 2000 ACM 0360-0300/99/0900–0227 $5.00

ACM Computing Surveys, Vol. 31, No. 3, September 1999


228 • P. Fraternali

CONTENTS with a number of applicative require-


ments, such as:
1. Introduction
2. Perspectives on Web Development
—the necessity of handling both struc-
2.1 Process
2.2 Models, Languages, and Notation tured data (e.g., database records)
2.3 Reuse and nonstructured data (e.g., multi-
2.4 Architecture media items);
2.5 Usability
3. Tools for Web Development —the support of exploratory access
4. Visual Editors and Site Managers through navigational interfaces;
5. Web-enabled Hypermedia Authoring Tools
6. Web-DBPL Integrators —a high level of graphical quality;
7. Web Form Editors, Report Writers, and
Database Publishing Wizards —the customization and possibly dy-
8. Multiparadigm Tools
9. Model-Driven Web Generators
namic adaptation of content struc-
10. Middleware, Search Engines, and Groupware ture, navigation primitives, and pre-
10.1 Middleware sentation styles;
10.2 Search Engines
10.3 Groupware —the support of proactive behavior, i.e.,
11. Evaluation for recommendation and filtering.
12. Research Perspectives
13. Research Projects in Data-Intensive Web These requirements add up and typi-
Development cally compete with the technical and
13.1 Araneus
managerial issues of every software-
13.2 Autoweb
13.3 Strudel and data-intensive application, which
13.4 Web Architect obviously remain valid for large Web
13.5 W3I3 applications also:
14. Background Research
14.1 Modeling Notation —security, scalability, and availability;
14.2 Processes
14.3 Other Design Tools —interoperability with legacy systems
15. Conclusions and data;
APPENDIX
List of URLs of Reviewed Products (Alphabetic Order) —ease of evolution and maintenance.
As has happened in the past with
other emerging technologies such as da-
tabases and object-oriented program-
Modern Web applications are conve- ming languages, methodologies and
niently described as a hybrid between a software tools may greatly help in mas-
hypermedia [Nielsen 1995] and an in- tering the complexity of innovative ap-
formation system. As in hypermedia, plications by fostering a correct under-
i.e., applications commonly found in standing and use of a new development
CD-ROMS, kiosks, information points, paradigm, providing productivity ad-
etc., information is accessed in an ex- vantages, and thus reducing the risk
ploratory way rather than through inherent in application development
“canned” interfaces, and the way in and migration.
which it is navigated and presented is of The goal of this survey is to address
great importance. Similar to informa- the software engineering, architectural,
tion systems, the size and volatility of and applicative issues of Web develop-
data and the distribution of applications ment (Section 2); classify and compare
requires consolidated architectural so- current development tools in light of
lutions based on technologies such as such aspects (Sections 4 to 10); formu-
database management systems and cli- late evaluations and perspectives by ex-
ent-server computing. amining the relationship between state-
Due to this hybrid nature, the devel- of-the-practice solutions and relevant
opment of a Web application must cope research areas (Sections 11, 12, 13 and

ACM Computing Surveys, Vol. 31, No. 3, September 1999


Development of Data-Intensive Web Applications • 229

Prototyping
& Verification

Requirement Conceptualization Maintenance


Analysis & Evolution

Design:
structure Implementation
navigation
presentation

Figure 1. The lifecycle of a Web application.

14); and to summarize current choices addition to the customary require-


for the developer on the basis of the ment collection and feasibility assess-
characteristics of the application (Sec- ment tasks, Web applications de-
tion 15). signed for universal access require
special care in the identification of
2. PERSPECTIVES ON WEB human-computer interaction require-
DEVELOPMENT ments, in order to establish the inter-
action mode most suitable for each
The development of a Web application is expected category of users, and for
a multifaceted activity, involving not each type of output device that users
only technical questions, but also orga- are expected to use to connect to the
nizational, managerial, and even social application (ranging from hand-held
and artistic issues. personal communicators to high defi-
nition screens).
2.1 Process
—Conceptualization: The application is
Although there is still no consensus on represented through a set of abstract
a general model of the lifecycle of a Web models that convey the main compo-
application,1 a scheme of typical activi- nents of the envisioned solution. In
ties involved in constructing a Web ap- the Web context, conceptualization
plication can be obtained by interpolat- has a different flavor with respect to
ing the lifecycle models of traditional the same activity in information sys-
information systems and the proposals tem design, because the focus is on
for structured hypermedia design [Gar- capturing objects and relationships as
zotto et al. 1995; Isakowitz et al. 1995; they will appear to users, rather than
Nanard and Nanard 1995; and Schwabe as they will be represented within the
and Rossi 1995]. Figure 1 illustrates the software system. Although the nota-
lifecycle model used as a reference in tion may be the same (e.g., the Entity
this paper. Relationship Model [Chen 1976]), the
—Requirements analysis: The mission of schemas resulting from the conceptu-
the application is established by iden- alization of a Web application and a
tifying prospective users and defining database application usually differ.2
the nature of the information base. In

1 2
Among the current proposals are those of Taka- A macroscopic difference is in the interpretation
hashi and Liang [1997]; Atzeni et al. [1998]; and of relationships, in which database modeling rep-
Fraternali and Paolini [1998]. resents semantic associations to be persistently

ACM Computing Surveys, Vol. 31, No. 3, September 1999


230 • P. Fraternali

—Prototyping and validation: Simpli- thereof), and the decision on the time
fied versions of the applications are of “binding” between content and ap-
deployed to users for early feedback. plication pages, which can be offline
The importance of prototyping is par- or online.
ticularly emphasized in the Web con-
text, as it is in hypermedia, because —Evolution and maintenance: After de-
the intrinsic complexity of the inter- livery, changes in the requirements or
faces requires a timely evaluation of bug fixes may require the revision of
the joint effectiveness of structure, structure, navigation, presentation,
navigation, and presentation [Nielsen or content. Changes are applied as
1996]. Typically, a prototype is built high as possible in the development
prior to design and on a simplified chain and propagated down to imple-
architecture, e.g., as a set of manually mentation.
implemented pages containing sam- The process model described caters to
ples of the application content, which a variety of actual processes, whose ap-
emulate the desired appearance and plicability depends on the specific devel-
behavior. opment context, including the available
—Design: Conceptual schemas are tool support, financial and time con-
transformed into a lower-level repre- straints, application complexity, and
sentation, closer to the needs of im- change frequency. Generally speaking,
plementation, but still independent of with applications of limited size and
the actual content of the information fairly stable requirements, requirement
base. Typically, the structural view of analysis is directly followed by imple-
the application is mapped to the mentation, possibly after a number of
schema of a storage repository, the iterations through prototyping. Concep-
navigational view into a set of access tualization and design assume more rel-
primitives over the content reposi- evance as the complexity and volatility
tory, and the presentational view into of the application increase.
a set of content-independent visual
2.2 Models, Languages, and Notation
specifications (styles). The latter ac-
tivity, called visual design, is of great A Web application is characterized by
importance in Web application devel- three major design dimensions:
opment and is emerging as an auton-
omous discipline [Sano 1996; Horton —Structure describes the organization
et al. 1996]. of the information managed by the
application, in terms of the pieces of
—Implementation: The repository is content that constitute its informa-
filled with new content prepared by tion base and of their semantic rela-
domain experts and/or with existing tionships.
data stored in legacy systems; the ac-
tual interfaces, pages inWeb terminol- —Navigation concerns the facilities for
ogy, are constructed by embedding re- accessing information and for moving
pository content and navigational across the application content.
commands into the appropriate pre- —Presentation affects the way in which
sentation style. The mapping of de- application content and navigation
sign to implementation requires the commands are presented to the user.
choice of the network language in
which the application is delivered To support the representation of ap-
(e.g., HTML, Java, ActiveX, or a mix plication features during the develop-
ment lifecycle, languages with different
levels of formality and abstraction can
recorded, whereas in Web modeling a navigation be used.
possibility is generally implied. At the conceptual level, applications

ACM Computing Surveys, Vol. 31, No. 3, September 1999


Development of Data-Intensive Web Applications • 231

are described by means of high-level in the Web context because the final
primitives which specify the structural, rendering of interface depends on the
navigational, and presentational views browser and display device, thus it may
in a way that abstracts from any archi- be necessary to map the same abstract
tectural issue. presentation scheme to different de-
Structural modeling primitives de- signs and implementations.
scribe the types of objects that consti- At the design level, structured or
tute the information base and their se- semistructured data models are used to
mantic relationships, without represent the features of an application
commitment to any specific mechanism in a way amenable to manipulation,
for storing, retrieving, and maintaining query, and verification. Typically, de-
the actual instances of such object sign representations are maintained as
types. Examples of notation that can be relational or object-oriented schemas, to
used to express structural features in- exploit the capabilities of database
clude the best-known conceptual data management systems, or as semistruc-
models, like the entity-relationship tured objects, to cope with information
model [Chen 1976] and various object having partial or missing schemas [Flo-
models [Rumbaugh et al. 1991]. rescu et al. 1998].
Navigation modeling primitives ex- At the lowest degree of abstraction,
press the access paths to objects of the applications are represented by means
information base and the available in- of implementation-level languages, no-
ter- and intraobject navigation facili- tably network languages directly inter-
ties, again without committing to any pretable by the user’s browsers. At this
specific technique for implementing ac- stage, content, navigation, and presen-
cess and navigation. The vast range of tation are directly embedded in the
notation and techniques proposed for physical marked-up texts or programs
the more general problem of human- that make up the application.
computer interaction specification can
be employed for navigation modeling: 2.3 Reuse
data models extended with built-in nav-
igation semantics [Garzotto et al. 1993; As in any other software process, reuse
Isakowitz et al. 1995; Fraternali and is an important aspect, related to the
Paolini 1998] or explicitly annotated facility of building a novel application
with behavioral specifications [Kesseler from existing artifacts [Biggerstaff and
1995; Schwabe and Rossi 1995]; first- Perlis 1989]. Reuse may happen at all
order logic [Garg 1988]; Petri nets levels of the development process: con-
[Stotts and Furuta 1989]; finite state ceptual schemas, design schemas, con-
machines [Zheng and Pong 1992]; and tent, and physical application pages can
formal grammars [Jacob 1982] are be reused across applications.
among the viable options. The most common form of reuse on
Presentation modeling aims at repre- the Web, as in hypermedia, is content
senting the visual elements of the appli- reuse, possibly facilitated by the pres-
cation interfaces in a way that abstracts ence of a structured repository, which
from the particular language and device enables the construction of different ap-
used in the delivery. Many different plications on top of the same informa-
techniques can be used, with a varying tion base. Reuse also occurs at the im-
degree of formality and rigor, ranging plementation level, where component-
from simple storyboard specification based libraries of self-contained
[Madsen and Aiken 1993] to the use of elements (e.g., JavaBeans or ActiveX
software tools [Myers 1995] and formal components) can be plugged into applica-
methods. The independent specification tion pages to provide predefined function-
of presentation, separate from structure alities (e.g., an electronic payment faci-
and navigation, is particularly relevant lity). Generation-based reuse focuses

ACM Computing Surveys, Vol. 31, No. 3, September 1999


232 • P. Fraternali

Client Server

Application Logic

Database

Figure 2. Two-tier architecture.

instead on reusing transformation tech- of the information base and the applica-
niques from design frameworks or par- tion pages delivered to the client, which
tially instantiated implementations to can be static when pages are computed
full implementations (e.g., by generat- at application definition time and are
ing application pages from page skele- immutable during application usage; or
tons and database content). dynamic, when pages are created just-
in-time from fresh content. Dynamicity
2.4 Architecture has further nuances: it may involve only
content (navigation and presentation
Architecture is the subject of design and are static), or scale to presentation and
implementation and reflects the spatial navigation.
arrangement of application data and
the spatio-temporal distribution of com-
2.5 Usability
putation.
The minimal spatial configuration of From the customer’s perspective, us-
a Web application is the so-called two- ability is the most important quality of
tier architecture, shown in Figure 2, a Web application. Although a thorough
which closely resembles the traditional discussion of the emerging Web usabil-
client-server paradigm. This is different ity engineering field is outside the scope
from client-server, wherein the two-tier of this paper (we refer the reader to
solution clients (i.e., browsers) are thin, Nielsen [1996]), it is possible to identify
and are lightweight applications re- a set of general criteria to use in assess-
sponsible only for rendering the presen- ing Web usability:
tation. Application logic and data reside
on the server side. —Degree of visual quality indicates the
A more advanced configuration, called overall coherence of the presentation
three- or multitier architecture (Figure and navigation metaphors and the in-
3), separates the application logic from dividual quality of the graphic re-
data, introducing an additional distinc- sources.
tion of responsibilities at the back-end —Degree of customization measures the
side. The presence of one or more dis- facility of tailoring the application in-
tinct application tiers enables the im- terface to individual users or user
plementation of advanced architectures groups. At one end of the spectrum,
that integrate the traditional HTTP applications may have a fixed inter-
protocol and client-server application face; at the other end, content, pre-
distribution protocols for better perfor- sentation, and navigation may be in-
mance, scalability, reliability, and secu- dividually personalized.
rity.
An orthogonal architectural issue is —Degree of adaptivity is proportional to
the time of binding between the content the runtime flexibility of the inter-

ACM Computing Surveys, Vol. 31, No. 3, September 1999


Development of Data-Intensive Web Applications • 233

Client Application Server Data Server

Application Logic

Database

Figure 3. Three-tier architecture.

face; at one end, the application may (3) Web-DBPL integrators;


be immutable; at the other, it may
track the user’s activity and change (4) Web form editors, report writers,
accordingly [Fraternali and Paolini and database publishing wizards;
1998]. (5) multiparadigm tools;
—Degree of proactivity indicates the ca- (6) model-driven application genera-
pability of an application to interact tors.
with the user on its own initiative.
Applications can be passive, i.e., pro- The order of presentation of the dif-
vide information only in response to a ferent categories reflects the increasing
user’s requests, or proactive, i.e., able level of support that tools in each cate-
to send information to users upon the gory offer to the structured development
occurrence of relevant events. of Web applications.
Category 1 contains productivity tools
3. TOOLS FOR WEB DEVELOPMENT that evolved directly from the HTML
editor, which do not really support the
In response to the complexity factors of development of large-scale Web-data-
Web application development described base applications, but are nonetheless
above, many software vendors are pro- interesting because they pioneered
viding instruments for supporting the many concepts (like presentation styles
construction of new applications or the and top-down site design) later inte-
migration of existing ones. grated into more complex environments.
Notwithstanding their common goal, The same limitation in the degree of
the available products greatly diverge support to structured development of
in many aspects, which reflects differ- large applications is shared by Category
ent conceptions of the nature of a Web 2, which originates from a different ap-
application and of its development pro- plication domain, offline hypermedia
cess. publishing, but recently added facilities
To help understand the state of the for Web and database integration; the
practice, we have grouped existing tools interest in these tools is motivated by
into six categories, which exhibit homo- their nonconventional (with respect to
geneous features. This grouping is the the standard software engineering prac-
result of a broad review, which has con- tice) approach to application design and
sidered over forty products, listed in specific focus on navigation and presen-
Appendix 1. tation. Category 3 is the first one that
The individual categories are explicitly addresses the integration of
(1) visual editors and site managers; Web and databases to achieve a higher
level of scalability, and includes very
(2) Web-enabled hypermedia authoring powerful, yet basic, products. These
tools; products can be used to implement

ACM Computing Surveys, Vol. 31, No. 3, September 1999


234 • P. Fraternali

applications on top of large databases, Web site and supports functions like
although at the price of a substantial page upload, deletion, and renaming,
programming effort. Category 4 takes and broken link detection and repair.
quite a different, but still database-cen- Among the many products in this cate-
tric, approach to Web development by gory are Adobe SiteMill and PageMill,
addressing the migration of client/ NetObject Inc.’s Fusion, SoftQuad’s
server, form-based applications. These HotMetal, Claris Home Page, Macrome-
tools aim at augmenting the implemen- dia’s Backstage Designer, and Mi-
tor’s productivity in such tasks as form crosoft’s FrontPage.
editing, report writing, and event-based From a lifecycle perspective, these
programming; they also offer a higher products address the implementation
level of support with respect to Cate- and maintenance of Web sites; imple-
gory 3, but still concentrate only on the mentation is supported by content pro-
implementation phase. Category 5 con- duction functions and maintenance by
tains a number of tools whose common site-level management facilities. The
feature is the integration of different most advanced products (e.g., NetOb-
development approaches and technolo- ject’s Fusion and Microsoft FrontPage)
gies, drawn from the previous four tool also offer a rather rudimentary ap-
families. Finally, Category 6 includes proach to design, whereby it is possible
those products (actually two products) to separate the definition of the hierar-
that provide complete coverage of all chical structure of a site from the au-
the development activities, from concep- thoring of content.
tualization to implementation, by lever- Automation concentrates on content
aging state-of-the-art software engi- production by generating code from vi-
neering techniques. sual page designs. Support to code gen-
To complete the overview of Web ap- eration is particularly relevant in those
plication development, in Section 10 we tools (like Macromedia’s DreamWeaver,
include a mention to other classes of SofQuad’s HotMetal Pro 5.0, Allaire’s
products which are not directly con- HomeSite, and many more) that support
cerned with the specific focus of this the latest extensions of HTML, like Cas-
paper on the design and maintenance of cading Style Sheets (CSS) [World Wide
Web sites, but either cover fundamental Web Consortium 1998a] for content-in-
architectural issues like distribution, dependent presentation specification,
reliability, performance, and security, and the Document Object Model (DOM)
or provide specialized facilities to users [World Wide Web Consortium 1998b],
and site administrators, like advanced for the object-oriented representation of
search functions and collaborative work page elements and their manipulation
support. via a scripting language.
Some tools are able to generate part
4. VISUAL EDITORS AND SITE of the navigation logic by automatically
MANAGERS inserting navigation buttons into pages
based on their position in the layout of
This class includes authoring and site the site (Figure 4). Development ab-
management environments originally stractions are basically at the imple-
conceived to alleviate the complexity of mentation level and oriented towards
writing HTML code and of maintaining structure and navigation (pages and
the pages of a Web site in the file sys- links); some tools also provide presenta-
tem. In a typical configuration these tion abstractions in the form of page
products bundle a WYSIWYG editor, templates or “themes,” i.e., groups of
which lets the user design sophisticated graphic resources that can be applied to
HTML pages without programming, multiple pages to obtain visual consis-
and a visual site manager, which dis- tency (Figure 5).
plays in a graphical way the content of a Reuse happens mostly at the imple-

ACM Computing Surveys, Vol. 31, No. 3, September 1999


Development of Data-Intensive Web Applications • 235

Figure 4. Hierarchical site layout in NetObject’s fusion.

mentation level: content objects (e.g., sized applications, where publishing


multimedia, graphics, but also object- large information bases stored in a
based components like JavaBeans and DBMS is not the major issue. The lack
ActiveX controls) can be reused across of a design-level schema of the applica-
applications. tion, independent of content, requires
The architecture originally supported that the application features be defined
by these tools is file-based and two-tier, instance-by-instance, and is a major ob-
and the binding between an application stacle to scale-up and integration of
and its content is static. Recently, the large masses of data. These limitations,
most advanced tools have added func- however, are going to become less criti-
tionalities for the dynamic connection to cal as these products become more inte-
live database data, as discussed in Sec- grated with Web-database tools.
tion 8.
Since development is conducted 5. WEB-ENABLED HYPERMEDIA
mostly by hand, the level of customiza- AUTHORING TOOLS
tion and the resulting visual quality of
the final application is proportional to Web-enabled hypermedia authoring
the effort spent and can be arbitrarily tools share the same focus on authoring
high; coherence of presentation and as visual HTML editors, but have a
navigation metaphors is facilitated by different origin because they were ini-
visual templates and themes, although tially conceived for the development of
in this case customization becomes more offline hypermedia applications, and
expensive. have been extended to support the gen-
The features of these tools are shown eration of applications for the Web in
in Table I: in summary, they are an recent times. The best known represen-
excellent solution for small- to medium- tatives of this class of products are

ACM Computing Surveys, Vol. 31, No. 3, September 1999


236 • P. Fraternali

Figure 5. Graphic styles in NetObject’s fusion.

Table I. Synopsis of Visual Editors and Site Managers


Process: Lifecycle Coverage Design (limited to hierarchical layout definitions)
Implementation
Maintenance
Process: Automation HTML generation from WYSIWYG page editing
Generation of commands for hierarchy navigation
Abstractions Implementation-level: pages, links, presentation styles
Reuse Plug-in components; Reusable presentation styles
Architecture Two-tiers, based on file system
Static binding of content to pages
Usability High graphical control through manual authoring
High coherence through use of presentation styles
Low customization, no adaptivity, no proactivity

Asymetrix’s Toolbook II Assistant/In- —The authoring metaphor used in the


structor, Macromedia’s Director and Au- definition of the application. Exam-
thorware, Formula Graphics’ Multime- ples of such metaphors are: flowchart
dia 97, Aimtech Iconauthor, and Allen (Quest, Authorware, IconAuthor),
Communication Quest. Most of these book (Toolbook), and movie making
products have both Web export facilities (Director).
and database connectivity, but these ex-
tensions are not always compatible, and —The way navigation is defined, which
the developer must often choose be- may require programming in a script-
tween the two possibilities. These prod- ing language, or may be supported by
ucts are characterized by the following visual programming and wizard tools
features: coherent with the product’s authoring

ACM Computing Surveys, Vol. 31, No. 3, September 1999


Development of Data-Intensive Web Applications • 237

Figure 6. The film-making authoring metaphor of Macromedia’s Director.

metaphor (e.g., in Director, objects’ and for all in CDROMS or information


synchronization is defined by editing kiosks. As a consequence, they still have
the score for the cast members of a little provision for a structured develop-
stage; see Figure 6). ment lifecycle, and offer limited support
to application modeling, design, testing,
—The type of database connectivity,
and maintenance.
which may range from support of an
To aid the implementation of large
internal database, of an external da-
applications, some tools separate au-
tabase via gateway software (typically
thoring in-the-large (i.e., the definition
ODBC or JDBC), or of an external
of the overall application structure)
database through DBMS API.
from authoring in-the-small (i.e., the de-
—The type of Web connectivity, which tailed definition of the multimedia con-
may be achieved by means of a tent of individual information nodes)
plug-in application extending a Web [GMP95]. This distinction fosters an el-
browser, or by exporting the hyperme- ementary form of design which helps in
dia application into a network lan- reconfiguring the application structure
guage. Web connectivity may affect and navigation, independent of content.
database connectivity, because in the For example, tools like Quest, Author-
present version of most tools, Web ware, and IconAuthor distinguish be-
export can be done only for applica- tween a “design mode,” where informa-
tions not connected to a database. tion nodes are placed on a flowchart,
and an “edit mode,” where each individ-
—The export language may be HTML,
ual node can be edited. A parallel can be
Java, or a mix of both.
established between authoring in-the-
Basically, hypermedia tools are au- large in hypermedia authoring tools and
thoring assistants; their focus is re- the site layout view offered by some
stricted to the ad hoc implementation of visual HTML editors: in both cases, de-
long-lived applications published once sign is done at the instance level, without

ACM Computing Surveys, Vol. 31, No. 3, September 1999


238 • P. Fraternali

the help of a content-independent appli- graded to external database connectiv-


cation schema, and navigation is (in part) ity and Web export. Most products offer
automatically generated from the ab- database connectivity via external li-
stract structure of the application. braries using ODBC, but lose this fea-
Reuse is pursued both at the design ture after Web export. Moreover, trans-
level by means of reusable substruc- lation from native proprietary format
tures and application-independent lay- into a network language is still rudi-
outs, and at the implementation level mentary, and the most advanced fea-
by leveraging libraries of scripts or mul- tures (like those obtained by exploiting
timedia components. Recent versions of the tool’s scripting language) do not
most tools also offer interoperability carry over to the Web version of an
with third-party components (for exam- application.
ple, inclusion of Java applets and Ac- Conversely, usability is the major
tiveX components). strength of this category of products,
Regarding the development abstrac- which focus on delivering very sophisti-
tions, hypermedia tools have a strong cated user interfaces exhibiting a de-
plus in the built-in facilities for explic- gree of control over graphic accuracy
itly modeling navigation paths orthogo- and multimedia synchronization hardly
nal to application structure; for exam- available through other means. The in-
ple, guided tours can be defined as herent navigational design paradigm,
sequential navigations based on asso- coupled to very effective and well-estab-
ciative properties of objects that may lished aids like guided tours and user-
cut across the hierarchical structure of defined access indexes, which most tools
the application. Other navigational aids offer for free or with little programming
include application-wide search func- effort, contribute to the deployment of
tions, glossaries, and access indexes. applications that are very effective and
Like visual HTML editors, hyperme- much closer to the kind of communica-
dia authoring tools tion found in high quality, hand-devel-
oped Web sites.
—do not provide a schema for distin- Table II summarizes the Web-related
guishing the type of objects constitut- features of hypermedia authoring tools.
ing the application (beside the low-
level distinction between objects of 6. WEB-DBPL INTEGRATORS
different media types). The main de-
velopment abstractions are generic The common denominator of products in
container objects (pages, icons, this category is the dynamic production
stages) whose definition intermixes of Web pages from information stored in
structural, presentation, and behav- a database by integrating databases
ioral aspects (and navigational fea- and Web technology at the language
tures in those tools that do not sup- level.
port the seperate specification of Different network languages (notably
navigation); HTML and Java) are merged with a
database programming language
—offer presentation abstractions in the (DBPL) to obtain an intermediate appli-
form of page styles, i.e., sets of cation programming language capable
graphic resources applied uniformly of making the best of both Web and
to the entire application or to part of database technology. Web-DBPL inte-
it. gration is pursued in three distinct
ways:
The architecture of Hypermedia tools
shows a substantial immaturity, with —HTML extensions add new tags to
respect to competitor solutions; all tools HTML to embed both generalized pro-
were originally conceived for offline, gramming constructs and database-
file-based publication, and later up- specific capabilities. The developer

ACM Computing Surveys, Vol. 31, No. 3, September 1999


Development of Data-Intensive Web Applications • 239

Table II. Synopsis of Web-Enabled Hypermedia Authoring Tools


Process: Lifecycle Coverage Design (support of authoring-in-the-large)
Implementation
Process: Automation HTML/Java generation from WYSIWYG authoring
Synchronization of multimedia objects
Generation of commands for navigation
Abstractions Implementation-level authoring metaphors: pages, stages,
flowcharts
Reuse Script libraries, application skeletons, plug-in components,
reusable presentation styles
Architecture Monolithic
Two-tiers through Web export
Three-tiered through libraries for database connectivity
Static binding of content to pages
Usability High graphical control through manual authoring
High coherence through use of presentation styles
Customization through user-defined access indexes
No adaptivity, no proactivity

writes page templates, which inter- —DBPL extensions take the other way
mix declarative HTML tags and exe- around and add specialized functions
cutable code. Products in this cate- to an existing DBPL or to a general-
gory can be further distinguished purpose programming language with
based on the language paradigm used a database interface, to enable the
to extend HTML (imperative, object- output of HTML code as a result of
based, object-oriented). Page tem- program execution. Developers write
plates must be translated into pure database applications that construct
HTML; this task is normally executed HTML output from data retrieved
at runtime by an interpreter. The per- from the database. This approach re-
formance of the different products quires database programming skills,
vary, based on the process in which but may yield better performance
the interpreter is executed and on the when DBPL programs are executed
way the connection to the database is and optimized directly by the DBMS.
managed. Examples of HTML exten- Examples of DBPL extensions include
sions include Allaire Inc.’s Cold Fu- Oracle’s PL/SQL Web Toolkit, Sy-
sion Web Database Construction Kit; base’s PowerBuilder Web.PB class li-
Microsoft’s Active Server Pages (ASP) brary, and Borland’s Web interface
and Internet Database Connector for the Delphi Client Server Suite.
(IDC); Vignette Corporation’s Sto-
ryServer; HAHT Software’s HahtSite; —Java extensions add database connec-
and Informix AppPages. In general, tivity to Java. The best-known effort
HTML extensions have a broader ob- in this direction is the JDBC open
jective than the mere addition of da- standard, which offers an ODBC-like
tabase connectivity, and include prim- architecture for Java applications
itives for overcoming HTML’s well- that want to interact with a DBMS.
known limitations, like the absence of Unlike HTML extensions, connectivity
control flow instructions, modulariza- is added in the form of a library
tion mechanisms, and stateful inter- masking, under a uniform callable in-
action.3 terface, the details of interacting with
different proprietary DBMSs and
SQL dialects.
3
Stateful interaction is the capability of retaining
the application status between two consecutive Web-DBPL integrators are tools for the
client’s requests; this is not supported by HTPP/ programmer, who may use them to sim-
1.0. plify the task of gluing together Web

ACM Computing Surveys, Vol. 31, No. 3, September 1999


240 • P. Fraternali

pages and database queries by hand, though these types are not elicited
they are different from visual HTML from the structural, navigational, and
editors and hypermedia authoring tools, presentation requirements of the ap-
which offer small-scale application de- plication, but stem from the design of
velopment functions to nonprogram- the underlying database;
mers. Due to their focus on implementa-
tion languages, these products lack —thanks to explicit object typing, the
high-level abstractions for describing uniformity and coherence of the pre-
applications, and thus do not assist the sentation are facilitated, because all
developer in identifying the structure, objects of the same type may be easily
navigation, and presentation of an ap- visualized in the same way. As a
plication, which is directly implemented counterpart, customization at the in-
by manually writing the necessary stance level must be explicitly pro-
HMTL page templates or DBPL pro- grammed by identifying exceptional
grams. cases and treating them in an ad hoc
Reuse may be achieved either through manner.
the native constructs of the program-
Being database-driven, applications
ming language, i.e., packages and mod-
built with Web-DBPL integrators may
ules, or through ad-hoc modularization
leverage the reactive capabilities of the
mechanisms such as inclusion between
underlying DBMS to achieve adaptivity
HTML page templates.
and proactivity, e.g., database triggers.
The target architecture is database-
For example, an Oracle trigger could
centered and three-tiered; the most so-
react to user-generated events and pro-
phisticated products also permit multi-
duce HTML pages adapted to the spe-
ple database tiers and distributed
cific situation.
queries.
In spite of the above positive side-
Not having any specific support for
effects, Web-DBPL integrators cannot
presentation and navigation modeling,
be considered development tools in
these products have no direct impact on
themselves, but are comparable to tra-
the usability and graphical quality of
ditional client/server 4GL because they
the user interface, which must be de-
provide a high-level programming inter-
signed separately.
face masking lower-level architectural
The major difference between Web-
details; as such they are often used to
DBPL integrators and visual HTML ed-
build more sophisticated products, like
itors and hypermedia authoring tools is
the ones reviewed next.
that the former introduce a clear sepa-
Table III summarizes the most impor-
ration between the final application
tant features of Web-DBPL integrators.
pages and the content repository, the
schema of which acts as an implicit
specification of the application struc- 7. WEB FORM EDITORS, REPORT
ture. WRITERS, AND DATABASE
This distinction has several conse- PUBLISHING WIZARDS
quences on the application-development
process: This category collects a large number of
products, all having the common char-
—it permits a more effective manipula- acteristic of leveraging traditional data-
tion of the information base because base design concepts and development
changes to content can be made with- tools, to rapidly deploy both new and
out affecting navigation and presenta- legacy data-intensive applications on
tion; the Web. A first classification can be
obtained by considering the functions
—it exposes the different object types offered by the tools, ordered by complex-
that constitute the application, al- ity and sophistication:

ACM Computing Surveys, Vol. 31, No. 3, September 1999


Development of Data-Intensive Web Applications • 241

Table III. Synopsis of Web-DBPL Integrators


Process: Lifecycle Coverage Structural design (design of underlying database)
Implementation
Content maintenance
Process: Automation Web-database communication
Query shipment and result processing
Page formatting from query results
Abstractions Design-level: database structures (tables, classes)
Implementation-level: pages, interface objects
Reuse Reusable modules: page templates, procedures, classes
Architecture Three/multitier
Dynamic binding of content to pages
Usability No specific support for control of graphical quality
Coherence facilitated by page templates (HTML extensions)
Low customization, adaptivity and proactivity manually
implementable through database triggers

—Database export: support is limited to concentrate, and developers are faced


the publication of basic database ele- by an impressive spectrum of alterna-
ments, i.e., tables and views, and is tives. Among the reviewed products, we
achieved by automatically mapping cite Microsoft’s Visual InterDev, Visual
database content into a network lan- Basic 5, and Access97, Oracle Developer
guage, notably HTML. The export can 2000, Inprise IntraBuilder, Sybase’s
be either static or dynamic, the latter PowerBuilder, Apple’s WebObjects, Net-
case requiring on-the-fly HTML gen- Dynamic’s Visual Studio, Asymetrix Su-
eration, which is normally imple- perCede Database Edition, and Allaire’s
mented by means of a Web-DBPL in- Cold Fusion Application Wizards. The
tegrator. A certain level of most relevant dimensions characteriz-
personalization can be obtained by ing the different products are as follows:
applying sets of preferences to drive
the output of Web pages. A typical —The application delivery format can
example is the export of tables and be pure HTML, a combination of
queries in Microsoft’s Access97. HTML and Java, HTML plus propri-
etary component technology and
—Report writing: more complex read- scripting languages (e.g., client-side
only applications can be obtained by ActiveX objects, VBScript or Java-
defining custom reports, which can be Script tags), or a totally proprietary
exported to the Web either statically format (e.g., ActiveX documents, Sy-
or dynamically. Dynamic publication base’s PowerBuilder PBD files). The
requires a report interpreter working delivery format affects the client’s
side by side with the Web server. Ex- performance and the application’s
amples include Crystal Report Print portability, with minimal overhead
Engine, Oracle’s Reports for the Web, and maximum portability in the pure
and Microsoft’s Access97 report ex- HTML case, and maximum overhead
port facility. and minimal portability when the ap-
—Form-based application development: plication is deployed in a totally pro-
assistance extends to the construction prietary format interpreted by a
of interactive, form-based applica- browser’s plug-in application.
tions for accessing and updating data,
and more generally for implementing —The application development langua-
business functions. ge(s), which may be different from the
delivery language(s), to preserve
Form-based application development existing software investments and
is where the highest number of products programming skills and/or increase

ACM Computing Surveys, Vol. 31, No. 3, September 1999


242 • P. Fraternali

performance and portability. Overall, same functionality, e.g., a database


the spectrum of bindings between de- driver, to be located either in the cli-
velopment and delivery languages is ent or in the application server.
extremely varied, ranging from prod-
ucts offering a single development From a software engineering point of
language and multiple output formats view, products in this class are to Web
(e.g., Oracle’s Developer 2000 maps development what Integrated Develop-
PL/SQL to HTML, Java, and Visual ment Environments (IDEs) and Rapid
Basic) to products translating differ- Application Development tools were to
ent input languages into the same traditional application programming:
output format (e.g., Microsoft’s Visual instruments for boosting individual and
InterDev maps design-time ActiveX team productivity in the implementa-
controls scripted in VBScript or tion phase. The best tools also help pro-
JavaScript into pure HTML). cess management, testing, and mainte-
nance by leveraging standard software
—The implementation paradigm, which engineering techniques like source and
can be 3GL programming, Rapid Ap- version control, configuration manage-
plication Development (RAD), wizard- ment, and visual debugging.
based, or a mix thereof. Almost all With one exception, reviewed later,
tools offer RAD functionalities, letting form-based application generators do
programmers define an application by not provide upper-CASE capabilities:
dragging and dropping components they do not encompass conceptual mod-
onto a form, and by visually customiz- eling, nor support the model-driven de-
ing their properties. Behavior cus- sign and implementation of applica-
tomization, as necessary for the defi- tions. Typically, data structures,
nition of complex forms, can be added business logic, and interfaces are speci-
by writing code in the tool’s develop- fied and designed separately and then
ment language. A few products (e.g., implemented with the tool of choice.
Visual InterDev, IntraBuilder, Net- Component-based reuse is also intrin-
Dynamics, Cold Fusion) also include a sic to most products, which leverage the
simplified development path for non- various object-level interoperability
programmers, based on “wizards” en- standards emerging on the Web. Com-
abling the automatic generation of ponents can be either client-side, in
code from sets of preferences selected which case they encapsulate typical in-
through a visual interface (Figure 7). terface controls (e.g., menus, edit fields,
Wizards are applied to obtain both grids, etc.) or server-side, in which case
components and complete applica- they typically wrap database access and
tions; in the latter case they deliver data formatting primitives.
“canned” database applications, in The development abstractions are in-
which the data structure and the in- terface-oriented, and drawn from the
terface logic are predefined (e.g., mas- traditional client/server, database-cen-
ter-detail data entry and visualiza- tric world: query and data entry forms,
tion, drill-down reports, and so on). input/output controls, record lists, and
reports. The structure of the application
—The execution architecture: the way is dictated by the forms that compose it,
in which an application can be parti- and is generally isomorphic to (a subset
tioned among the different tiers of the of) the database schema, especially
Web architecture is even more varied when forms are automatically derived
than the choice of development and from database tables and views through
delivery languages, because object database wizards. More complex patterns
distribution (as supported by lan- can be obtained by exploiting canonical
guages like Java and architectures structures like table lookups and master-
like Corba and DCOM) permits the details, or by hand-programming non-

ACM Computing Surveys, Vol. 31, No. 3, September 1999


Development of Data-Intensive Web Applications • 243

Figure 7. Datarange wizard in Microsoft’s Visual Interdev.

standard combinations of objects. The application servers, which we review in


navigation semantics is deeply embedded Section 10.
within the application, and hyperlinks Unlike Web-DBPL integrators, which
are emulated by means of form-to-form are neutral products that can be used to
connections. In some cases, navigation is shape any kind of application, form-
automatically inferred by the tool from based generators and database publish-
database structure, as in automatically ing wizards deliver complete software
generated master-details and drill-down solutions, including user interface logic.
applications, where database foreign key Thus their underlying interaction model
constraints are translated into HTML hy- influences the user perception of appli-
perlinks. Presentation is addressed as an cation quality. The evaluation must con-
independent issue only in those products sider the application context in which a
that provide a notion of “presentation tool is used, and consequently the kind
style” (e.g., models in Access97, themes in of users addressed. In an intrabusiness,
InterDev, master pages in IntraBuilder) or business-to-business contexts, these
which can be uniformly applied to all products are essentially vehicles for
application pages to obtain a consistent Web-enabling traditional client-server
look. applications. In this setting, interface
On the architectural side, all products quality is proportional to the similarity
target multitier architectures; the most between the look and feel of original
recent generation (e.g., NetDynamics client-server applications and their Web
Visual Studio) is tightly integrated with counterparts, because the peculiarities
specialized middleware products, called of Web interactions (free browsing,

ACM Computing Surveys, Vol. 31, No. 3, September 1999


244 • P. Fraternali

Table IV. Synopsis of Web Form Editors, Report Writers, and Database Publishing Wizards
Process: Lifecycle Coverage Implementation
Testing
Maintenance
Process: Automation Source code generation from RAD and wizard tools
Abstractions Implementation-level: forms, reports, controls
Reuse Plug-in components: client-side and server-side
Architecture Multitier, integration with application servers
Dynamic binding of content to pages
Usability Canned interfaces based on query/result display loop
Low customization, no adaptivity, no proactivity

associative links, multimediality and combines sophisticated visual editing


user-level customization) are less im- and assets management with database
portant than adherence to interface wizards comparable to those of special-
standards well-established among us- ized Web-database connectivity prod-
ers. Conversely, if these products are ucts; Lotus Domino and Domino De-
targeted to user-oriented applications signer, which offer an integrated
for the Internet, they must be compared environment for Web-enabling Notes
to Web and hypermedia authoring tools, client-server applications and for devel-
in which case their form-to-form naviga- oping Web sites that take advantage of
tion pattern and the limited graphic Domino Server capabilities; and NetOb-
control imposed by wizards are a source ject’s Fusion (version 3.0), which fea-
of rigidity. tures the Fusion2Fusion extension for
Table IV overviews the main features connecting NetObject’s visual page edi-
of Web form editors, report writers, and tor and Allaire’s HTML-SQL integrator.
database publishing wizards. Multiparadigm tools do not introduce
novel approaches into Web develop-
8. MULTIPARADIGM TOOLS ment, but combine already established
features to broaden their spectrum with
The ongoing trend in the evolution of respect to single-paradigm products.
Web development tools is an increasing Thus they offer advantages (summa-
convergence between visual editing and rized in Table V) that are the sum of the
site management products, Web-HTML strengths of their components (imple-
integrators, and client-server products mentation productivity, top-down de-
(reviewed in Sections 4, 6, and 7, re- sign, three-tier architecture, high
spectively). graphic control), but do not overcome
Multiparadigm tools integrate solu- the major limitations of the products
tions from the aforementioned catego- reviewed so far, i.e., lack of a high-level,
ries into a unified development frame- content-independent representation of
work. The most typical configuration is the site in terms of structure, naviga-
one in which visual HTML editing and tion, and presentation.
site administration are extended with
external components, which provide da-
tabase connectivity, or with enhanced 9. MODEL-DRIVEN WEB GENERATORS
HTML generation capabilities able to
produce scripts for pulling content from Model-driven Web generators are at the
databases, or with full-fledged database top of the proposed categories, because
publication wizards. they provide the highest level of auto-
Examples of such convergent tools are mation and lifecycle coverage, by apply-
FrontPage98, which includes database ing conceptual modeling and code gen-
objects for connecting to external data eration techniques to the development
sources; Elemental’s Drumbeat, which of Web applications.

ACM Computing Surveys, Vol. 31, No. 3, September 1999


Development of Data-Intensive Web Applications • 245

Table V. Synopsis of Multiparadigm Tools


Process: Lifecycle Coverage Design (limited to hierarchical layout definitions)
Implementation and maintenance
Process: Automation HTML generation from WYSIWYG page editing
Generation of commands for hierarchy navigation
Web-database communication
Source code generation from RAD and wizard tools
Abstractions Implementation-level: pages, links, presentation styles,
interface objects, tables, queries
Reuse Plug-in components, reusable presentation styles
Architecture Three and multitier
Static and dynamic binding of content to pages
Usability High graphical control through manual authoring
Coherence through use of templates and presentation styles
Low customization, adaptivity and proactivity manually
implementable through database triggers

This category comprises a few com- Although document-oriented, the Hy-


mercial tools, which exhibit different perware server relies on database tech-
conceptual models and code generation nology and on a multitier architecture
techniques. We review Hyperwave to store metadata and manage links
Server 4.0, and Oracle’s Web Develop- spanning multiple servers.
ment Suite. A more database-centric approach is
Hyperwave [Hyperwave Information taken by the Oracle Web Development
Management 1998] is an advanced doc- Suite, which comprises Designer 2000
ument management environment which [Gwyer 1996; Barnes and Gwyer 1996],
permits remote users to browse, anno- a CASE tool for generating Web applica-
tate, and maintain documents distrib- tions from augmented entity-relation-
uted over the Web. Hyperwave has a ship diagrams.
very basic, yet powerful, high-level Designer 2000 is an environment for
model of a Web application, which is business process and application model-
thought of as a set of document collec- ing, integrated with software generators
tions organized hierarchically. Collec- originally designed to target traditional
tions may contain subcollections and client-server environments, namely Or-
documents, and have different behav- acle Developer 2000 [Hoven 1997], and
iors based upon their type. Documents Visual Basic. The Web generator en-
in a collection can be linked and anno- ables previous applications developed
tated with a number of metadata. Links with Designer 2000 and deployed on
are managed by the Hyperwave server, LANs to be ported to the Web, as well as
so that any hypertextual structure can the delivery of novel applications di-
be superimposed over a set of otherwise rectly on the Internet or on intranets.
independent documents. The Web generator takes its inputs
From the description of collections, from the Designer 2000 design reposi-
links, and metadata, Hyperwave gener- tory and delivers PL/SQL code that runs
ates a Web interface that enables both within the Oracle Web Server to pro-
user-oriented and administrative func- duce the desired HTML pages of the
tions like collection and link browsing, application. More specifically, three in-
searching and notification, remote docu- puts drive the generation process:
ment management, fine-grain version
and access control, collaborative work, —A Web-enhanced database design: da-
and personal annotations. The gener- tabase design diagrams specify the
ated interface has a default presenta- structure of the database in terms of
tion, which can be personalized using a tables, views, foreign key relation-
proprietary template language. ships, and integrity constraints.

ACM Computing Surveys, Vol. 31, No. 3, September 1999


246 • P. Fraternali

Figure 8. Module definition in Oracle Designer 2000.

These constitute the schema of the reached by a given module and intro-
future Web application. A few visual duce fictitious modules acting as hier-
features can be specified in the sche- archical indexes over other modules.
ma: for example, column definitions
can be supplemented with caption —User preferences are parameters that
text and display format (e.g., a pop-up can be set to govern the presentation
list). Moreover, some integrity con- of the generated application; they can
straints (e.g., valid ranges) can be at- be defined either globally, at the mod-
tached to columns and tables, and the ule, or at the component level. Exam-
Web generator can be instructed to ples of preferences are colors, headers
produce code for checking them on the and footers, background images, and
server via PL/SQL or on the client via help text.
JavaScript.
From these inputs, the WEB genera-
—The definition of applications and tor produces fixed-format Web pages;
modules: modules correspond to basic one set of related pages is generated for
application units; each module con- each module, and links between differ-
sists of a sequence of tables, linked by ent modules are turned into hyperlinks
foreign key relationships (Figure 8). between the HTML startup pages of
The order of tables in a module deter- modules.
mines the sequence of HTML pages Model-driven generators apply the
that will be produced for that module. fundamental principles of software en-
Navigation is established by drawing gineering to Web development; apart
links between modules: the designer from all other product categories, applica-
may define which modules can be tions are first modeled at the conceptual

ACM Computing Surveys, Vol. 31, No. 3, September 1999


Development of Data-Intensive Web Applications • 247

Table VI. Synopsis of Model-Driven Generators (Oracle Designer 2000 and Hyperwave)
Designer 2000 Hyperwave
Process: Lifecycle Coverage Conceptualization (E/R) Conceptualization (collection
and link definition)
Design (relational model)
Implementation Implementation
Reverse engineering
Process: Automation Relational schema generation Relational metaschema
from ER generation
Generation of HTML from Navigation generation
design models and
presentation preferences
Presentation generation
Abstractions Conceptual-level: entity, Conceptual-level: collections,
relationships, attributes views, abstract links,
documents, virtual collections
Design-level: modules, tables,
columns, constraints
Implementation-level: pages, Implementation-level: pages,
links HTML links
Reuse Module reuse; Preferences Multiple views over the same
reuse document base
Architecture Multitier, dynamic binding Multitier, dynamic binding
Usability Low graphical control of Low graphical control of
generated pages generated pages
High coherence through use of High coherence through use of
presentation preferences presentation preferences
Low customization, no Programmable customization,
adaptivity, no proactivity no adaptivity, proactivity
through notification

level and then implemented through tempt to twist a database conceptual


code generation. This approach and its model and apply it to a Web application is
benefits are comparable to the ones de- responsible for some limitations in the
livered by CASE tools for object-ori- usability of the resulting applications,
ented application development, and where the absence of proper modeling
range from reduced development effort, abstractions for navigation and presenta-
reverse engineering, and multilevel re- tion limits the exploitation of the commu-
use. nication capabilities of the Web.
However, Hyperwave and Designer The limitations of commercial Web gen-
2000 diverge in the underlying concep- erators are addressed by a few research
tual model, and both exhibit limits in prototypes, namely Araneus [Atzeni et al.
the description of Web applications. 1997]; Autoweb [Fraternali and Paolini
Hyperwave adopts a simplified hyper- 1998]; Strudel [Fernandez et al. 1998];
media model, which is well suited to WebArchitect [Takahashi and Liang
represent navigation, but lacks a proper 1997]; W3I3 [Ceri et al. 1998]; HSDL
structural model; as a consequence, the [Kesseler 1995]; RMC [Diaz et al. 1995];
information base is reduced to a set of and OOHDM [Schwabe and Rossi 1995],
flat documents annotated with meta- which are discussed in Section 12.
data.
Conversely, Designer 2000 draws the 10. MIDDLEWARE, SEARCH ENGINES,
development abstractions from the da- AND GROUPWARE
tabase world, and adapts such concepts
as entities and relationships to Web Besides support for conceptualization,
modeling by adding to them some navi- design, and implementation, Web devel-
gation and presentation flavor. This at- opment requires tackling other issues

ACM Computing Surveys, Vol. 31, No. 3, September 1999


248 • P. Fraternali

which, although outside the focus of this However, in the tool market, several
paper, are critical for the delivery of vendors are also addressing multitiered
effective applications in performance, architectures by offering specific prod-
availability, scalability, security, infor- ucts, called application servers, which
mation retrieval, and support for collab- are middleware facilities either inte-
orative administration and usage. grated into HTTP servers, or working
These needs are served by ad hoc side by side to them. Examples of appli-
tools or by specialized functions inte- cation servers are NetDynamics, Lotus
grated into Web design products. In the Domino Server, Oracle 8i Java Server,
sequel, we briefly review the most im- Sybase’s Jaguar CTS, and Inprise’s
portant features of three categories of VisiBroker for Java.
products: application servers, search en- Application servers do not directly im-
gines, and groupware and collaborative pact the client-side design process, but
design tools. offer several extensions to the standard
functions of HTTP engines, which can
10.1 Middleware be used to support server-side develop-
ment:
Industrial strength data-intensive ap-
plications require not only proper de- —Efficient execution of server-side pro-
sign tools but also a solid architecture, grams that implement the business
good performance, availability, scalabil- logic of the Web application. Products
ity, and security. These goals have differ in the development languages
prompted the extension of the original supported, which commonly include
two-tier HTPP architecture to more so- C11, Java, and scripting languages
phisticated configurations, encompass- like Perl, Visual Basic, and JavaS-
ing three, and even multiple, tiers. The cript. Efficiency is improved by re-
key to multitiered applications is the placing the Common Gateway Inter-
capability to separate data, interfaces, face (CGI) between the Web server
and application logic, and to distribute and the application programs by
each aspect to distinct network nodes. means of optimized protocols and ar-
Such distribution leverages Internet-en- chitectures like FastCGI (http://www.
abled application protocols (like Corba fastcgi.com) and Java Servlets [Chang
Internet InterOrb Protocol (Corba IIOP 1998].
[Object Management Group 1996]) and —High-performance client-server com-
Microsoft’s Distributed Common Object munication. Such capability may be
Model, DCOM [Microsoft Corp. 1996]) based on a comprehensive architec-
and the native remote procedure call ture for application distribution, on
capabilities of network languages (nota- programming language features, or
bly, Java’s Remote Method Invocation, on proprietary remote procedure calls.
RMI [Sun Microsystems 1995]). Rather than using HTTP, enabled cli-
The in-depth presentation of the al- ents may bypass the Web server and
ternative architectural and technologi- directly connect to the application
cal options for multitiered applications server using either open protocols like
is outside the scope of this paper, and is Corba/IIOP and Java RMI, or propri-
thoroughly addresses by many authors etary protocols, like Microsoft’s
(see, for example, the special issue of DCOM, Domino’s Notes Remote Pro-
IEEE Internet Computing on Internet cedure Calls (NRPC), and Sybase’s
Architectures [Benda 1998] for a recent Jaguar CTS remote procedure calls.
review of the state of the art, and Byte’s
special report on networked components —Optimized and extensible connection
[Montgomery et al. 1997] for a compari- to multiple external data sources.
son of Corba and Microsoft architec- This function includes pooling connec-
tures). tions to a database across multiple

ACM Computing Surveys, Vol. 31, No. 3, September 1999


Development of Data-Intensive Web Applications • 249

clients, caching result sets, and possi- 10.2 Search Engines


bly extending the application server
The proper design of structure and nav-
with plug-in gateways to heteroge-
igation normally results in Web sites
neous data sources like Enterprise
with a self-evident organization, conse-
Resource Planning (ERP) and legacy
quently reducing the need for full-text
systems (examples of built-in gateway
searches over the information base
components and programmable tool-
[Halasz 1988]. However, Web applica-
kits are NetDynamics 4.0 Platform
tions offered to the general public must
Adapter Components (PACs) and
also consider the needs of casual read-
Domino Enterprise Connection Ser-
ers and readers with highly specific in-
vices (DECS)).
terests, for which a content search is
the most effective interaction paradigm.
—Flexible and dynamic load-balancing Designing the search functions for a
of client requests by means of auto- data-intensive Web site is an orthogonal
matic replication of server functions. issue with respect to the design of struc-
High-volume incoming traffic may be ture, navigation, and presentation, and
dynamically routed to multiple in- is supported either by ad hoc functions
stances of server-side functions, im- integrated into Web development tools,
plemented either as separate threads or by specialized products called search
of the application server or as exter- engines.
nal processes, possibly residing on re- Examples of Web development tools
mote hosts. Dynamic redirection also that bundle integrated search functions
enables transparent failure-handling: are Hyperwave (which also comes with
a user’s request for an unavailable a separate commercial search engine),
service can be routed to a replica of and Lotus Domino Designer. Among the
the same function, either dynamically numerous stand-alone search engines,
spawned or statically instantiated at we mention Verity Search97, Harvest,
system configuration time. OpenText’s LiveLink Search and Spi-
der, Altavista Search, QuarterDeck’s
—Implementation of a secure infra- WebCompass, and Excite for Web Serv-
structure for both data and messages. ers.
Security may be granted by a variety Search engines basically consist of
of means: user logging and authenti- two main components: a user interface
cation over both HTPP and non-HTTP and query processor, whereby users can
connections (e.g., by supporting the pose queries and obtain a ranked list of
X.509 open standard certificate for- pages whose content satisfies the query;
mat, or authentication via third-party and an indexing component (also called
directories), message and content en- spider or crawler) which creates and
cryption (e.g., by supporting the IETF maintains indexes over the data
Secure MIME standard and RSA/RC2 sources.
cryptography), and password quality The available commercial products
testing. differ in a variety of dimensions: the
kind of queries they support (keyword-
—Transactionality, i.e., the capability of based, Boolean, natural language,
performing atomic and recoverable fuzzy); the customizability of the dis-
transactions over a single or multiple play of results; the flexibility of the in-
tiers. This feature, traditionally of- dex creation and maintenance process
fered by distributed database servers (e.g., the possibility of scheduling the
and TP monitors, requires the appli- updates of indexes differently for differ-
cation server to implement write- ent data sources or to analyze different
ahead logging and two-phase commit file formats); and the adherence to the
protocols. so-called robot-exclusion standard, by

ACM Computing Surveys, Vol. 31, No. 3, September 1999


250 • P. Fraternali

which webmasters can deny access to the perspectives of Web development


crawlers at their sites. discussed in Section 2. To complete this
For a broad review of commercial picture, developers must also consider
search engines and a comparison of middleware products, which address the
their features, the reader may refer to enhancement of performance and secu-
Lange [1997]. rity and offer a platform for implement-
ing advanced business logic, search en-
10.3 Groupware gines, and groupware tools, which add
Collaboration requirements affect Web specialized functions orthogonal to the
development in several ways, going design process.
from the concurrent construction of a The state of the practice summarized
Web site by geographically distributed in Table VII can be better understood if
development teams, to the provision of compared with the current situations of
limited content editing and interaction mature software technologies, like ob-
functions directly to end-users, to real- ject-oriented systems and databases
time interaction integrated into a Web (see Figure 9).
site. In these contexts, development tools
In the commercial market several cover the entire spectrum of the applica-
tools offer groupware capabilities, in- tion lifecycle, and approach develop-
cluding ment from the right angle: they exploit
—concurrent access control via content well-established abstractions suited to
locking and checkin/checkout proce- the specific context (as the conceptual
dures; and logical models for database design
and the object-oriented notation for OO
—distributed file systems for concur- systems) and follow well-proven devel-
rent content upload; opment guidelines, like those described
—offline collaboration tools like calen- in Ceri et al. [1993] for database design,
dars, schedules, notification lists, and and in Rumbaugh et al. [1991] for ob-
discussion groups; ject-oriented design. Pictorially, mature
tools and approaches are represented as
—real-time collaboration facilities like “light cones” that enlighten the various
virtual rooms, white boards, chats, phases of the development cycle without
and video conferencing. crossing the borders of their target ap-
—full-fledged workflow support, includ- plication field.
ing offline and online collaboration The situation of Web development is
facilities and workflow modeling and different and typical of a not yet mature
implementation. technology (it could be easily compared
to the OO tool market in the eighties):
Examples of design tools supporting
most products limit their focus to imple-
collaborative development are Hyper-
mentation, with some provision for de-
wave, TeamSite, and Lotus Domino De-
signer. Products for the definition of sign (as represented by the shorter
virtual workteams are reviewed in “light cone” in Figure 9); a few tools are
Wong [1998], and a comprehensive sur- trying to cover the lifecycle in a broader
vey of Web-enabled workflow systems is way, but do so by approaching develop-
contained in Miller et al. [1997]. ment from an unnatural angle, typically
using models, abstractions, and pro-
11. EVALUATION cesses drawn from other contexts. The
“slanted” approach of these tools and
Table VII summarizes the features of approaches are represented by the light
the categories of Web development tools cone covering all phases of development,
described in Sections 4 to 9, in light of

ACM Computing Surveys, Vol. 31, No. 3, September 1999


Development of Data-Intensive Web Applications • 251

Table VII. Synopsis of the Different Categories of Web Development Tools


Multi-
Visual Hypermedia Web-DBPL Model-driven
Form Editors paradigm
Editors Tools Integrators Generators
Tools
Lifecycle Implement., Implement., Implement. Implement., Implement., Conceptual.
coverage hierarchical design maintenance hierarchical design,
site design, (authoring (debugging) site design, implement.,
link in-the- link maintenance,
maintenance large) maintenance, reverse
debugging eng.
Automation Generation Generation Database Generation Generation Generation
of HTML of HTML/ connection, of HTML/ of HTML, of design
Java query Java database schemas,
shipment, connection navigation
result commands,
formatting interfaces
Abstractions Page, link, Authoring Table, page Form, Page, link, Entity,
presentation metaphors elements report, presentation relationship,
style client-side style, form, module,
and server- table table,
side control column,
collection,
link
Reuse Components, Libraries, Page Client-side Components, Modules,
presentation skeletons, templates, and server- presentation preferences,
styles components, DBPL side styles, collections,
styles units components templates links
Default 2-tiers, 2-tiers, 3-tiers, 3-tiers, 3-tiers, 3-tiers,
architecture static static dynamic dynamic dynamic dynamic
Support to Good Very good Interface Canned Good Predefined
usability graphic graphic, neutral, interfaces graphic interfaces,
control and navigation, proactivity control and low graphic
coherence synchroniza- through coherence control
(manual) tion control triggers (manual
(manual) and with
templates)

but with an inclination due to its origin solutions for overcoming some of the
from the database area.4 limitations currently experienced by
state-of-the-practice commercial tools:
12. RESEARCH PERSPECTIVES Araneus [Atzeni et al. 1997; Atzeni et
al. 1998 ; Atzeni et al. 1998]; Autoweb
Web application development has re- [Fraternali and Paolini 1998]; Strudel
cently gained much attention not only [Fernandez et al. 1998]; Web Architect
in the commercial field but also in the [Takahashi and Liang 1997]; and W3I3
research community, where several [Ceri et al. 1998].
projects address the extension of the The common denominator in such ef-
capabilities of site design tools in vari- forts is the goal of supporting the activ-
ous directions, and propose innovative ities of data-intensive Web design from
design processes and methodologies.
conceptualization to maintenance by
In this Section we briefly review a
properly distinguishing between the dif-
number of projects that have proposed
ferent dimensions of Web design, orga-
nizing the development activities into a
4
A similar phenomenon took place in the early structured process, and providing tools
days of object-orientation, when many proposals
were put forth to adapt structured analysis/struc-
for partially automating repetitive de-
tured design concepts to object-oriented imple- velopment tasks.
mentation. However, besides such commonalities,

ACM Computing Surveys, Vol. 31, No. 3, September 1999


252 • P. Fraternali

Figure 9. A pictorial view of the state-of-the-practice of Web development tools.

each project has its own special focus, effectively deploy large Web sites, inte-
and addresses only some of the issues grate structured and semistructured
left open among the currently available data, reorganize legacy Web sites, and
commercial tools. Web-enable existing database applica-
In Table VIII we summarize the fea- tions.
tures of the various projects using the On the modeling side, Araneus
same categories as commercial tools stresses the distinction among data
(see Table VII), and in Table IX we structure, navigation, and presentation.
underline the special focus and strong In structure modeling, a further distinc-
points of each project. tion is made between database and hy-
For completeness, we conclude with pertext structure: the former is speci-
background research on Web develop- fied using the entity-relationship model,
ment, which has taken advantage of the latter using a notation that inte-
contributions from several fields, in grates structure and navigation specifi-
which hypermedia and databases are cation called the Navigation Conceptual
prominent. Model (NCM).
Conceptual modeling is followed by
13. RESEARCH PROJECTS IN DATA-
logical design, using the relational
INTENSIVE WEB DEVELOPMENT
model for the structural part, and the
Araneus Data Model (ADM) for naviga-
13.1 Araneus
tion and page composition. ADM offers
Araneus5 [Atzeni et al. 1997 ; Atzeni et the notion of page scheme, a language-
al. 1998 ; Atzeni et al. 1998] is a project independent page description notation
at Univ. di Roma Tre, which focuses on based on such elements as attributes,
the definition and prototype implemen- lists, link anchors, and forms. The use
tation of an environment for managing of ADM introduces page composition as
unstructured and structured Web con- an independent modeling task: the spec-
tent in an integrated way (called a Web ification of data and page structure is
Base Management System, WBMS). orthogonal, and therefore different page
The WBMS should allow designers to schemes can be built for the same data.
Presentation is specified orthogonally
5
The project Web site is http://www.dia.uniroma3.it/ to data definition and page composition,
Araneus. using an HTML template approach.

ACM Computing Surveys, Vol. 31, No. 3, September 1999


Development of Data-Intensive Web Applications • 253

Table VIII. Synopsis of Reviewed Research Projects in Data-Intensive Web Development


Web
Araneus Autoweb Strudel W3I3
Architect
Lifecycle Coverage
Conceptualization Y Y N Y Y
Logical design Y Y Y N Y
Prototyping N Y N N Y
Implementation Y Y Y Y Y
Maintenance Y Y Y Y Y
Restructuring Y N Y N N
Rev. engineering Y Y Y N Y
Process Automation
Generation of supporting database N Y N N Y
Generation of mapping to legacy Y N N N Y
databases
Generation of navigation structures Y Y N Y Y
Generation of HTML pages from Y N Y N N
templates
Generation of HTML pages from N Y N N Y
abstract specs
Modelling Abstractions
Structure model Y Y Y Y Y
Derivation model N N Y N Y
Navigation model Y Y N Y Y
Page composition model Y N N N Y
Presentation model Y Y Y N Y
Reuse & Components
Plug-in components N N N N N
Reusable presentation styles N Y N N Y
Application skeletons N Y N N Y
Default Architecture
Two tiers static N N Y Y N
Three tiers static Y Y N N Y
Three tiers dynamic Y Y N N Y
Automatic caching N Y N N Y
Support to Usability
Navigation uniformity N Y N Y Y
Presentation uniformity Y Y Y N Y
Usability guidelines N Y N N Y

The development process follows two content stored in a database, in a way


tracks: database and hypertext. Data- similar to commercial template-based
base design and implementation are HTML-SQL integrators.
conducted in the usual way using the Araneus includes several tools to sup-
entity-relationship model and mapping port automation of the aforementioned
it into relational structures. After that, design tasks. A specific point in the
the entity-relationship schema is trans- Araneus project is the integration into
formed into a NCM schema; this shift the WBMS of languages and tools for
requires several design activities. The querying and restructuring HTML data,
next step, hypertext logical design, so that the designer can deploy a new
maps the NCM schema into several site, Web-enable a database application,
page schemes written in ADM. Finally, and “reverse-engineer” a legacy HTML
implementation requires writing page site, all within one system.
schemes as templates in the Penelope From an architectural viewpoint, Ara-
language [Atzeni et al. 1997], which neus offers both static and dynamic
specifies how physical pages are con- page generation.
structed from logical page schemes and The system does not currently support

ACM Computing Surveys, Vol. 31, No. 3, September 1999


254 • P. Fraternali

Table IX. Advanced Features of Reviewed Projects in Data-Intensive Web Development


Araneus Querying and restructuring of HTML-based sites
Full design methodology
Orthogonal structure, navigation, composition and presentation modeling
Tool support
Autoweb Full design methodology
Orthogonal structure, navigation, and presentation modeling
Relational representation of both data and metadata
Full CASE support
Tool-supported usability guidelines
Strudel Querying and restructuring of semistructured data
Declarative site definition
WebArchitect Full design methodology
Scenario-based modeling
Role-based specification of content
Tool support
W3I3 Full design methodology
Orthogonal structure, derivation, navigation, composition and presentation
modeling
User modeling and profiling
Adaptive behavior through Web business rules

user profiling and personalization. Fi- —A set of design-time and runtime


nally, no support is offered for event- CASE tools that completely automate
based reactive processing, except for re- the design, implementation, and
computation of materialized pages maintenance of a Web application.
following database and schema updates.
The Autoweb conceptual model, called
13.2 Autoweb HDM-lite, includes primitives for the
independent specification of structure,
Autoweb6Fraternali and Paolini [1998] navigation, and presentation. Apart
is a project developed at Politecnico di from other projects, presentation is
Milano with the goal of applying a mod- specified at an abstract level totally in-
el-driven development process to the dependent of the implementation lan-
construction and maintenance of data- guage, and is automatically mapped to
intensive Web sites. HTML (a protoype implementation of
Autoweb consists of three ingredients: the mapping to Java has also been de-
—A Web modeling notation called veloped). This makes presentation
HDM-lite, which evolved from previ- styles reusable across applications, as
ous hypermedia and database concep- well as across different object types
tual models, specifically tailored to within the same site.
the Web. HDM-lite presently supports neither
the orthogonal composition of the page,
—Two transformation techniques that whose content is inferred from the
address the mapping of conceptual structure schema, nor a language for
schemas into relational database data derivation. An original feature of
structures and the production of ap- Autoweb is the storage into a relational
plication pages (in HTML and Java) DBMS not only of application data, but
from data and metadata stored in the also of metadata about navigation and
database. presentation schemas, which greatly en-
hances the possibility of quickly adapt-
ing the output pages to the user’s needs,
6
The project Web site is http://www.ing.unico.it/ even at runtime.
autoweb. The main focus of Autoweb is the

ACM Computing Surveys, Vol. 31, No. 3, September 1999


Development of Data-Intensive Web Applications • 255

automation of the development process. perimenting with novel ways of develop-


An Autoweb application is constructed ing Web sites based upon declarative
starting from an HDM-lite schema, with specification of the site’s structure and
a tool called Visual HDM Diagram Edi- content.
tor; presentation specification is as- Strudel’s core idea is to describe both
sisted by the Visual Style Sheet Editor the schema and content of a site by
tool, which permits the designer to de- means of a set of queries over a data
fine presentation styles applicable to model for semistructured information.
conceptual objects in a WYSIWYG man- Content is represented using the Uni-
ner. The conceptual model is automati- form Graph Model, a graph-based data
cally translated into the schema of a model capable of describing objects with
relational database for storing applica- partial or missing schema. As a starting
tion data, and into a metaschema data- point of the construction of a site, exter-
base containing a relational representa- nal data sources, e.g., HTML files or
tion of the site’s structure, navigation, relational databases, are translated by
and presentation. The site is populated means of wrappers into the Strudel in-
by either using an automatically con- ternal format. In this way it is possible
structed data entry application, pro- to either restructure an existing HTML
duced by the Autoweb Data Entry Gen- site or Web-enable a legacy data reposi-
erator, or by manually defining a tory.
mapping between the automatically Then design of a Web site requires
generated relational schema and the writing one or more queries over the
schema of the pre-existing database. As internal representation of data, using
a last step, application pages are dy- the Strudel query language (StruQL).
namically constructed from database Such queries permit the designer to se-
content and metadata by the Autoweb lect the data to be included in the site,
Page Generator in such a way that all along with links and collection of objects
the prescriptions of the conceptual for navigation. In this way Strudel sep-
model are enforced. arates description of content from defi-
During the development process, re- nition of the structure and the naviga-
use happens at two levels: partially in- tion of the site. Presentation is added as
stantiated application skeletons and ab- a separate dimension by means of
stract presentation specifications. HTML templates; these mix HTML pre-
Autoweb has a three-tier architecture, sentation tags and special-purpose tags,
featuring both static and dynamic page which are bound at HTML generation
generation. Dynamic generation is opti- time to objects resulting from site defi-
mized by a flexible caching system that nition queries. The templates determine
caches and refreshes pages of selected rendering of the site definition queries
types based on user’s requests. in HTML.
A unique feature of Autoweb is the Specification of navigation is inter-
provision for interface design guidelines twined with structure and presentation
within the design tools: uniformity of because navigable links and index col-
navigation and presentation is enforced lections are specified together with the
by the design and page generation tools queries that define the site, and also
at the level of both individual object because the structure of HTML pages
types and of the entire application. and their links depend on templates
that describe the presentation.
13.3 Strudel Presently, Strudel has a two-tier
Strudel7 is a project of AT&T Labs [Fer- static architecture, in which queries are
nandez et al. 1998], which aims at ex- evaluated and transformed into HTML
pages in advance. However, it could be
7
The project Web site is http://www.research.att. possible to evalute queries and render
com/sw/tools/strudel. their results dynamically.

ACM Computing Surveys, Vol. 31, No. 3, September 1999


256 • P. Fraternali

The declarative definition of structure 13.5 W3I3


and content by means of queries opens
W3I3 (WWW Intelligent Information In-
the way to personalization: different
frastructure)8 Ceri et al. [1998] is a
sites or different versions of the same
project of the W3I3 Consortium, a part-
site can be built on top of the same nership of four European industries and
content simply by changing the StruQL one academic institution, funded by the
site definition queries. European Community. W3I3’s goal is to
advance Web modeling and develop-
ment tools for data-intensive Web appli-
13.4 Web Architect cations, with a special focus on user
WebArchitect [Takahashi and Liang profiling, personalization, and reactive
1997] is a project aimed at developing behavior.
methods and tools for the construction W3I3 modeling points out the five
perspectives of structure, derivation,
of Web-based information systems
navigation, page composition, and pre-
(WBIS). The authors propose a struc-
sentation, and includes models and lan-
tured design process that goes through
guages for specifying a site under these
analysis, design, construction, and perspectives (see http://webml.org).
maintenance of a Web site. The development process stresses the
Analysis includes both static and dy- automatic generation of application
namic modeling. The former is con- pages from the conceptual model stored
ducted with the entity relationship in a relational database, and content
model, the latter requires the identifica- stored in external structured or semi-
tion of scenarios in the tradition of ob- structured data repositories.
ject-oriented modeling [Jacobson 1994]. The architecture is multitier: applica-
During ER modeling, entities are classi- tion content can be distributed across
fied according to the different roles they different data repositories integrated
play in the definition of the site (agent, into a global view of the site obtained by
product, or event). Design is conducted mapping the conceptual schema into a
in parallel with scenario analysis and relational representation.
aims at pinning down the structure and A special feature of W3I3 is the inte-
navigation schema of the Web site. De- gration of user modeling and business
sign results are represented using a rules: users are explicitly modeled
variant of the Relation Management through demographic and psycographic
Data Model by Isakowitz Diaz et al. variables, and business rules are used
[1995], which incorporates the roles of to map users or user groups to personal
the entities forming the Web site.WBIS views of the site computed dynamically.
implementation and maintenance are Presently, W3I3 is in the implementa-
supported by WebArchitect and Pilot- tion phase; a prototype version of both
Boat. The former tool supports defini- the design tools and the runtime envi-
tion of the structure and navigation of ronment supporting site personalization
the site, as well as maintenance of and the Web business rules has been
metadata on the site’s resources; the constructed.
latter is a client application permitting
the user to browse an application based 14. BACKGROUND RESEARCH
on metalinks, implementing the naviga- Web design tools and approaches owe
tion semantics specified in WebArchi- much to the debate on hypermedia mod-
tect. Metalinks are navigable connec- eling and design, semistructured data
tions stored outside the application modeling, and hypermedia development
objects, which are managed by extended
HTTP engines supporting the special-
purpose methods LINK and UNLINK. 8
The project Web site is http://www.txt.iy/w3i3.

ACM Computing Surveys, Vol. 31, No. 3, September 1999


Development of Data-Intensive Web Applications • 257

tools proposed prior to the advent of the synchronization features [Hardman et


Web. In the following sections, we re- al. 1994]; and formal semantics of navi-
view some of the most important contri- gation and a structured design process
butions. [Isakowitz et al. 1995]. Among these
evolutions, HDM [Garzotto et al. 1993]
14.1 Modeling Notation and RMM [Isakowitz et al. 1995] have
been particularly influential in the de-
Historically, most of the modeling nota- sign of hypermedia applications.
tion adopted by current Web develop- HDM and its variants [Schwabe et al.
ment methodologies stems from the evo- 1992; Garzotto et al. 1993; Garzotto et
lution and hybridization of previous al. 1991; Garzotto et al. 1993] shifted
conceptual models for database and hy- the focus from hypertext data models as
permedia design. a means to capture the structuring
The common ancestors of many subse- primitives of hypertext systems, to hy-
quent proposals are the entity relation- pertext models as a means for capturing
ship model [Chen 1976], in the database the semantics of a hypermedia applica-
field, and the Dexter model [Halasz and tion domain. HDM integrates features
Schwarz 1994] in the hypermedia area. of the entity relationship model and the
The Dexter model originates from Dexter model, to obtain a notation for
the effort to provide a uniform terminol- expressing the main abstractions of a
ogy for representing the different hyper- hypermedia application, their internal
text structuring primitives offered by structure and navigation, and applica-
hypertext construction systems; the tion-wide navigation requirements. Web
core of the model is the ordered repre- structure is expressed by means of enti-
sentation of a hypertextual application ties, substructured into a tree of compo-
at three levels: storage, within-compo- nents. Navigation can be internal to
nent, and runtime levels. The storage entities (along part-of links), cross-en-
level describes the network of nodes and tity (along generalized links), or non-
links of the hypertext, without details contextual (using access indexes, called
on the inner structure and node con- collections [Garzotto et al. 1994]).
tent, which is the focus of the within- RMM (Relationship Management
component layer. The runtime level Methodology) [Isakowitz et al. 1995]
deals with the dynamics and presenta- evolves HDM by embedding its hyper-
tion of the hypertext. media design concepts into a structured
The modeling concepts available at methodology, splitting the development
the storage level are very basic: compo- process into seven distinct steps and
nents describe pieces of information giving guidelines for the tasks. RMM’s
that constitute the hypertext, and can data model (called RMDM) structures
be either atomic or composite. Links are domain entities into slices, and orga-
a special kind of component used to nizes navigation within and across enti-
represent navigable paths. Although not ties using associative relationships and
conceived for hypertext design, the Dex- structural links.
ter model advocates many concepts, Most of the recent proposals for Web
such as the distinctions among the modeling are built on top of the entity
structure, navigation, and presentation relationship model and hypermedia de-
of a hypertext, whose influence has sign models (notably HDM and RMM),
been long-lasting. adapted to the specificity of the Web
Several subsequent contributions context: Araneus and WebArchitect
arose from criticism of the Dexter draw from RMM and the entity-rela-
model, and added more complex forms tionship model, Autoweb and W3I3 have
of hypertext organization and more proposed a Web-specific evolution of
powerful navigation primitives [Gar- concepts first proposed by HDM.
zotto et al. 1993]; time and multimedia Finally, another source of inspiration

ACM Computing Surveys, Vol. 31, No. 3, September 1999


258 • P. Fraternali

to Web modeling comes from research sign, the two tasks most particular to
on the representation and querying of hypermedia design.
semistructured data, i.e., data with par- OOHDM [Schwabe and Rossi 1995]
tial or missing schema. The proposed takes inspiration from object-oriented
data models, thoroughly reviewed in modeling and simplifies the RMM life-
Florescu et al. [1998], express Web con- cycle to only four steps: domain analy-
tent by means of relations, labeled sis, navigation design, abstract interface
graphs, hypertrees, and logic. Araneus design, and implementation. In domain
and Strudel are examples of Web con- design, classical object-oriented tech-
tent management systems based on niques are used, instead of the entity
semistructured data models and query relationship model. Navigation design
languages. adds specific classes (e.g., node, link,
index) to represent different forms of
navigation. The same is done for pre-
14.2 Processes sentation, which is described by means
of classes (e.g., button, text field) added
Web development processes evolved in during interface design. Implementa-
parallel with Web design notation, and tion then fleshes out the classes identi-
have the same hybrid origin from the fied during design with code in the im-
information system and hypermedia plementation language of choice.
fields. In the Web context, most methodolog-
In hypermedia, the evolution from the ical proposals concentrate on visual de-
creative definition of content to the con- sign and usability criteria [Sano 1996],
tent-independent organization of the much as the hypermedia field authoring
structure of a hypermedia application is guidelines were the first concern of de-
attributed to the work on HDM [Gar- velopment. The requirement of applica-
zotto et al. 1993], which stresses the tion scale-up drives the most recent con-
difference between authoring in the tributions, like Araneus, Autoweb, Web
large, i.e., designing general structure Architect, and W3I3, which organize the
and navigation, and authoring in the development process into activities
small, i.e., deciding the layout and syn- drawn both from the above mentioned
chronization aspects of specific compo- hypermedia methodologies and from
nent types. traditional object-oriented and database
HDM, however, did not prescribe a design methods.
formal development lifecycle, which was
first advocated by RMM [Isakowitz et 14.3 Other Design Tools
al. 1995], where the following seven ac-
tivities, i.e., entity relationship design, Besides the projects described in Sec-
slice design, navigation design, conver- tion 13, other research efforts have con-
sion protocol design, interface design, tributed to the development of proto-
behavior design, and implementation types of hypermedia and Web design
and testing are proposed. The first three tools.
activities provide a conceptualization of RMC [Diaz et al. 1995] gives CASE
the hypermedia application domain in support to the design and implementa-
terms of entities, substructured into tion phases of the RMM methodology. It
slices, and navigable relationships. Con- consists of a diagram editor, which as-
version protocol design is a technical sists the input of RMDM schemas, and
activity that defines the transforma- a code generator, which outputs HTML
tions to be used for mapping the concep- pages from data stored in an internal
tual schema into implementation struc- repository. Pages are produced offline in
tures. In addition to defining the a precompiled fashion. RMC is not
development lifecycle, RMM also gives based on a database architecture, and
guidelines for slice and navigation de- thus does not provide facilities for scal-

ACM Computing Surveys, Vol. 31, No. 3, September 1999


Development of Data-Intensive Web Applications • 259

Table X. A Match Between Categories of Web Development Tools and Types of Applications
Web- Multi- Model-
Visual Hypermedia Form
DBPL paradigm driven
editors tools editors
integrators tools generators
Small-scale business to X X X
customer
Business to business X X X X
Large-scale business to X X
customer

ing-up and updating the information 1) seem to be the appropriate solu-


base. tion, because they ensure the high
HSDL [Kesseler 1995] has an archi- level of visual accuracy and customi-
tecture similar to RMC, but starts from zation necessary for application tar-
a HDM-like design model, augmented to geted to the general public, coupled
support a fine-grain personalization of with productivity tools, substantially
navigation and presentation semantics. reducing the development effort. This
HSDL objects are annotated by means role could be undermined in the near
of programs in a scripting language, future by hypermedia authoring tools
called expanders, which drive the pro- (Category 2), which share the same
duction of HTML pages. Expanders can focus on presentation quality and are
be attached both to schema elements even more effective in the design of
and to instances, to provide uniformity navigational and multimedia inter-
and exceptional handling at the same faces. The current limit to the appli-
time. Expander programming, although cability of both these classes of solu-
powerful, is a low-level task that resem- tions is the size and volatility of the
bles the programming of page templates information base; if this has to be
in Web-DBPL integrators. The differ- kept in a database, then presently
ence is that HSDL, like RMC, does not these tools do not provide the ade-
rely on database technology to store the quate means to integrate databases
application content, but has an internal and the Web for design, implementa-
repository. tion, and maintenance. In this case,
multiparadigm tools (Category 5) may
15. CONCLUSIONS be a better choice.
Although the present situation in the
—Intrabusiness, or business-to-business
market of Web development tools is
applications: this category comprises
characterized by a substantial overlap
all legacy information systems and
between the different classes of prod-
EDI applications, and is characterized
ucts (despite some difference in the
by a different kind of user, already
level of maturity), an attempt can be
trained to the transactional and form-
made to identify a plausible choice,
based interaction paradigm. In the
based on the application requirements.
present situation, Web form editors
Table X summarizes the adequacy of
and database publishing wizard (Cat-
each product category to a specific kind
egory 4) and model-driven generators
of application:
(Category 6) offer a powerful opportu-
—Small-scale business-to-user applica- nity for migrating existing applica-
tions: this category includes such ap- tions to Intranets. This technical ad-
plications as companies’ points of vantage largely balances the limited
presence, training and education, in- exploitation of the communication ca-
focenters, etc. Last-generation visual pabilities of the Web. However, novel
editors and site managers (Category intra- and interbusiness applications

ACM Computing Surveys, Vol. 31, No. 3, September 1999


260 • P. Fraternali

are emerging (for example, hypermedia APPENDIX


for technical documentation and com-
puter-based training), which demand
the integration of large masses of data, LIST OF URLS OF REVIEWED PRODUCTS
hypertextual multimedia interfaces, (ALPHABETIC ORDER)
and deployment on the Web. The grad-
1. Access97, Microsoft, http://www.
ual introduction of these applications microsoft.com/access/
may promote the evolution of the inter- 2. Altavista Search, Digital, http://www.
action paradigm for conventional infor- altavista.software.digital.com/search/in-
mation systems as well. dex.htm
—Large-scale business-to-user applica- 3. ASP, Microsoft, http://www.microsoft.
tions: this is the most challenging com/iis/LearnAboutIIS/ActiveServer/de-
fault.asp
area, comprising such applications as
4. Authorware, Macromedia, http://www.
electronic commerce, virtual libraries, macromedia.com/software/authorware
and all sorts of Internet services. 5. Backstage Designer, Macromedia,
Presently, it seems that no specific http://www.macromedia.com/software/
product or class of products is fully backstage
addressing the analysis, design, im- 6. Cold Fusion, Allaire Inc., http://www.
plementation, and evolution of these allaire.com/products/ColdFusion/31
kinds of applications, which require 7. Crystal Report Print Engine, Seagate,
the same communication paradigm http://www.crystalinc.com/crystalreports
and interface quality as small-scale 8. Delphi Client/Server Suite, Inprise,
user-oriented applications, and the http://www.inprise.com/delphi
same performance and scalability as 9. Data Director 1.0, Informix, http://www.
client-server database applications. informix.com/products/tools/datadir
10. Designer 2000, Oracle, http://www.
In this scenario, neutral implementa-
oracle.com/products/tools/des2k/collateral/
tion-oriented products like Web- wwwgen.pdf
DBPL integrators (Category 3) and 11. Developer 2000, Oracle, http://www.
flexible, multiparadigm tools (Catego- oracle.com/products/tools/dev2k/index.html
ry 5) seem the most adequate choice, 12. Director, Macromedia, http://www.
although development and mainte- macromedia.com/director
nance with these tools still require a 13. Domino Designer R5, Lotus, http://
substantial coding effort. We are con- www.lotus.com/home.nsf/tabs/r5preview4
vinced that the best of these tools can 14. Drumbeat 2.0, Elemental Software,
be obtained by using them in conjunc- http://www.drumbeat.com
tion with a model-driven development 15. Excite for Web Servers, Excite, http://
approach, based on design notations www.excite.com/navigate/home.html
and processes like the ones described 16. Formula Graphics97, Formula Graph-
in the previous section; after the sup- ics, http://www.formulagraphics.com
17. FrontPage98, Microsoft, http://www.
porting database has been designed,
microsoft.com/frontpage
visual page designers and Web-DBPL 18. Fusion, NetObjects Inc., http://www.
integrators can be used to generate netobjects.com/html/nof.html
the application’s physical pages. 19. HahtSite, HAHT Software, http://www.
As several research projects demon- haht.com
20. Harvest, Harvest, http://harvest.
strate, large-scale Web applications
transarc.com
have more dimensions than the mere 21. Home Page, Claris, http://www.
structure of the underlying database, claris.com/products/claris/clarispage/clar-
prompting a refocusing of the existing ispage.html
conceptual models and software devel- 22. HotMetal Pro, SoftQuad, http://www.
opment processes to achieve the level of softquad.com/products/hotmetal
maturity of a consolidated software 23. Iconauthor, Aimtech, http://www.
field. aimtech.com/iconauthor

ACM Computing Surveys, Vol. 31, No. 3, September 1999


Development of Data-Intensive Web Applications • 261

24. IDC, Microsoft, http://www.microsoft. REFERENCES


com/msoffice/developer/access/articles/itk/
Idcfaq.htm ATZENI, P., MECCA, G., AND MERIALDO,
P. 1998. Design and maintenance of data
25. IntraBuilder, Borland, http://www. intensive Web sites. In Proceedings of the
borland.com/intrabuilder Sixth International Conference on Extending
26. Jaguar, Sybase, http://www.sybase. Database Technology (Valencia, Spain, Mar.),
com/products/jaguar H. -J. Schek, F. Saltor, I. Ramos, and G.
27. LiveLink Search and Spider, Open- Alonso, Eds. 436 – 450.
Text, http://www.opentext.com/livelink MECCA, G., ATZENI, P., MASCI, A., SINDONI, G., AND
28. NetDynamics 4.0, NetDynamics, www. MERIALDO, P. 1998. The Araneus Web-
based management system. SIGMOD Rec.
netdynamics.com/product/overview/nd400
27, 2, 544 –546.
overview.html ATZENI, P., MECCA, G., AND MERIALDO,
29. Oracle 8i, Oracle, http://www.oracle. P. 1997. To weave the Web. In Proceed-
com/products/oracle8i ings of the 23rd International Conference on
30. Perspecta, Perspecta, http://www.per- Very Large Databases (VLDB ’97, Athens,
specta.com Greece, Aug.), M. Jarke, M. J. Carey, K. R.
31. Page Mill/Site Mill, Adobe, http://www. Dittrich, F. H. Lochovsky, P. Loucopoulos,
adobe.com and M. A. Jeusfeld, Eds. VLDB Endow-
ment, Berkeley, CA, 206 –215.
32. PL/SQL Web Development Toolkit, BACHIOCHI, D., BERSTENE, M., CHOUINARD, E., CON-
Oracle, http://www.oracle.com LAN, N., DANCHAK, M., FUREY, T., NELIGON, C.,
33. PowerBuilder, Sybase, http://www.sy- AND WAY, D. 1997. Usability studies and
base.com/products/powerbuilder designing navigational aids for the World
34. Quest, Allen Communication, http:// Wide Web. Comput. Netw. ISDN Syst. 29,
www.allencomm.com/p&s/software/quest 8-13, 1489 –1496.
35. StoryServer, Vignette, http://www.vi- BARNES, H. AND GWYER, M. 1996. Designer/2000
Web enabling your applications, Oracle white
gnette.com/PressKit/ProductOverview.pdf
paper. Tech. Rep.. Oracle Corp., Redwood
36. SuperCede, Asymetrix, http://www.su- City, CA.
percede.com/products/supercede/dbdetails. BATINI, C., CERI, S., AND NAVATHE, S.
html B. 1992. Conceptual Database Design: An
37. Teamsite, Interwoven, http://www.in- Entity-Relationship Approach. Benjamin/
terwoven.com Cummings series in computer science. Ben-
38. Toolbook II Instr., Asymetrix, http:// jamin-Cummings Publ. Co., Inc., Redwood
www.asymetrix.com/products/toolbook2/ City, CA.
BENDA, M., Ed. 1998. Internet Architec-
instructor ture. IEEE Internet Comput. 2.
39. Toolbook Assistant, Asymetrix, http:// BIGGERSTAFF, T. J. AND PERLIS, A. J., Eds.
www.asymetrix.com/products/toolbook2/ 1989. Software Reusability: Vol. 1, Concepts
assistant and Models. ACM Press, New York, NY.
40. Verity Search 97, Verity, http://www. CERI, S., FRATERNALI, P., PARABOSCHI, S., AND
verity.com POZZI, G. 1998. Consolidated specification
41. VisiBroker for Java, Inprise, http:// of WWW intelligent information infrastruc-
ture (W3I3). Tech. Rep. Dip. di Elettronica
www.inprise.com/visibroker
e Informazione, Politecnico di Milano, Milan,
42. Visual Basic 5.0, Microsoft, http://www. Italy.
microsoft.com/vbasic CHANG, P. I. 1998. Inside the Java Web server:
43. Visual InterDev, Microsoft, http://www. An overview of Java Web server 1.0, Java
microsoft.com/vinterdev servlets, and the JavaServer architec-
44. Visual JS, Netscape, http://developer. ture. http://java.sun.com/features/1997/aug/
netscape.com/library/documentation/visu- jws1.html.
aljs/vjs.html CHEN, P. P. 1976. The entity-relationship mod-
el: Toward a unified view of data. ACM
45. WebCompass, Quarterdeck, http:// Trans. Database Syst. 1, 1, 9 –36.
arachnid.qdeck.com/qdeck/products/wc20 DIAZ, A., ISAKOWITZ, T., MAIORANA, V., AND GIL-
46. Web Data Blade, Illustra/Informix, ABERT, G. 1995. RMC: A tool to design
http://www.informix.com WWW applications. In Proceedings of the
47. WebObjects, Apple, http://software. Fourth International Conference on World
apple.com/webobjects Wide Web (Boston, MA), 11–14.
FERNÁNDEZ, M., FLORESCU, D., KANG, J., LEVY, A.,
AND SUCIU, D. 1998. Catching the boat with

ACM Computing Surveys, Vol. 31, No. 3, September 1999


262 • P. Fraternali

Strudel: Experiences with a Web-site manage- Web Pages. John Wiley and Sons, Inc., New
ment system. SIGMOD Rec. 27, 2, 414 – 425. York, NY.
FLORESCU, D., LEVY, A., AND MENDELZON, HOVEN, I. V. 1997. Deploying Developer/2000
A. 1998. Database techniques for the applications on the Web, Oracle white paper.
World-Wide Web: A survey. SIGMOD Rec. Oracle Corp., Redwood City, CA.
27, 3, 59 –74. HYPERWAVE INFORMATION MANAGEMENT,
FRATERNALI, P. AND PAOLINI, P. 1998. A concep- 1998. Hyperwave User’s Guide, Version
tual model and a tool environment for devel- 4.0. Hyperwave Information Management.
oping more scalable and dynamic Web appli- ISAKOWITZ, T., STOHR, E. A., AND BALASUBRAMA-
cations. In Proceedings of the Sixth NIAN, P. 1995. RMM: a methodology for
International Conference on Extending Data- structured hypermedia design. Commun.
base Technology (Valencia, Spain, Mar.), ACM 38, 8 (Aug. 1995), 34 – 44.
H.-J. Schek, F. Saltor, I. Ramos, and G. JACOB, R. J. K. 1983. Using formal specifications
Alonso, Eds. 421– 435. in the design of a human-computer interface.
GARG, P. K. 1988. Abstraction mechanisms in Commun. ACM 26, 4 (Apr. 1983), 259 –
hypertext. Commun. ACM 31, 7 (July 1988), 264. http://www.eecs.tufts.edu/˜jacob/papers/
862– 870. cacm.txt; http://www.eecs.tufts.edu/˜jacob/papers/
GARZOTTO, F., MAINETTI, L., AND PAOLINI, cacm.ps.
P. 1995. Hypermedia design, analysis, and JACOBSON, I. 1992. Object-Oriented Software
evaluation issues. Commun. ACM 38, 8 Engineering. ACM Press, New York, NY.
(Aug. 1995), 74 – 86. KESSELER, M. 1995. A schema-based approach
GARZOTTO, F., MAINETTI, L., AND PAOLINI, to HTML authoring. In Proceedings of the
P. 1994. Adding multimedia collections to Fourth International Conference on The World
the Dexter model. In Proceedings of the 1994 Wide Web (Boston, MA),
ACM Conference on Hypermedia Technology LANGE, A. 1997. Sorting through search engines.
(ECHT’94, Edinburgh, Scotland, Sept. 18 –23), Web Tech. M. 2, 6 (June). http://www.web-
I. Ritchie and N. Guimarães, Eds. ACM review.com/97/06/13/webtech/index.html.
Press, New York, NY, 70 – 80. MADSEN, K. H. AND AIKEN, P. H. 1993.
Experiences using cooperative interactive sto-
GARZOTTO, F., PAOLINI, P., AND SCHWABE,
ryboard prototyping. Commun. ACM 36, 6
D. 1993. HDM—a model-based approach to
(June 1993), 57– 64.
hypertext application design. ACM Trans.
MICROSOFT CORPORATION 1996. The distributed
Inf. Syst. 11, 1 (Jan. 1993), 1–26.
common object model. Microsoft Corp., Red-
GARZOTTO, F. AND MAINETTI, L. 1993. HDM2:
mond, WA. http:/msdn.microsoft.com/work-
Extending the E-R approach to hypermedia
shop/components/contents.htm.
application design. In Proceedings of the
MILLER, J., SHETH, A., KOCHUT, K., AND
12th International Conference on Entity Rela- PALANISWAMI, D. 1997. The future of web-
tionship Approach (ER’93, Dallas, TX), R. El- based workflows. In Proceedings of the Inter-
masri, V. Kouramajian, and B. Thalheim, national Workshop on Research Directions in
Eds. 178 –189. Process Technology (Nancy, France).
GARZOTTO, F., PAOLINI, P., AND SCHWABE, MONTGOMERY, J. 1997. Distributing compo-
D. 1991. HDM—a model for the design of nents. BYTE 22, 4, 93–98.
hypertext applications. In Proceedings of the MYERS, B. A. 1995. User interface software
3rd Annual ACM Conference on Hypertext tools. ACM Trans. Comput. Hum. Interact.
(San Antonio, TX, Dec. 15–18), J. J. Leggett, 2, 1 (Mar. 1995), 64 –103.
Ed. ACM Press, New York, NY, 313–328. MYERS, B., HOLLAN, J., CRUZ, I., BRYSON, S., BUL-
GWYER, M. 1996. Oracle Designer/2000 Web- TERMAN, D., CATARCI, T., CITRIN, W., GLINERT,
Server generator (vers. 1.3.2). Oracle Corp., E., GRUDIN, J., AND IOANNIDIS, Y. 1996.
Redwood City, CA. Strategic directions in human-computer inter-
HALASZ, F. AND SCHWARTZ, M. 1994. The Dexter action. ACM Comput. Surv. 28, 4, 794 – 809.
hypertext reference model. Commun. ACM NANARD, J. AND NANARD, M. 1995. Hypertext
37, 2 (Feb. 1994), 30 –39. design environments and the hypertext de-
HALASZ, F. G. 1988. Reflections on NoteCards: sign process. Commun. ACM 38, 8 (Aug.
Seven issues for the next generation of hyper- 1995), 49 –56.
media systems. Commun. ACM 31, 7 (July NIELSEN, J. 1990. Hypertext and Hypermedia.
1988), 836 – 852. Academic Press Prof., Inc., San Diego, CA.
HARDMAN, L., BULTERMAN, D. C. A., AND VAN ROS- NIELSEN, J. 1996. Computer Science and Engi-
SUM, G. 1994. The Amsterdam hypermedia neering Handbook. CRC Press, Inc., Boca
model: Adding time and context to the Dexter Raton, FL.
model. Commun. ACM 37, 2 (Feb. 1994), 50 – OBJECT MANAGEMENT GROUP 1998. The common
62. object request broker: Architecture and specifica-
HORTON, W., TAYLOR, L., IGNACIO, A., AND HOFT, N. tion. Ver. 2.0. Tech. Rep. Object Management
L. 1996. The Web Page Design Cookbook: Group, Framingham, MA. http://www.omg.org/
All the Ingredients You Need to Create 5-Star corba/corbiiop.htm.

ACM Computing Surveys, Vol. 31, No. 3, September 1999


Development of Data-Intensive Web Applications • 263

RUMBAUGH, J., BLAHA, M., PREMERLANI, W., EDDY, TAKAHASHI, K. AND LIANG, E. 1997. Analysis
F., LORENSEN, B., AND LORENSON, W. 1991. and design of Web-based informations sys-
Object Oriented Modeling and Design. Pren- tems. In Proceedings of the Sixth Interna-
tice-Hall, Englewood Cliffs, NJ. tional Conference on the World Wide Web
SANO, D. 1996. Designing Large-Scale Web (Santa Clara CA, Apr.),
Sites: A Visual Design Methodology. John WONG, W. 1998. Team-building on the fly.
Wiley and Sons, Inc., New York, NY. BYTE 23, 2 (Feb.). http://www.byte.com/art/
SCHWABE, D. AND ROSSI, G. 1995. The object- 9802/sec10/art1.htm.
oriented hypermedia design model. Com- WORLD WIDE WEB CONSORTIUM, 1998. Cascading
mun. ACM 38, 8 (Aug. 1995), 45– 46. style sheets: Level 2 specification. Tech.
SCHWABE, D., CALOINI, A., GARZOTTO, F., AND PA- Rep. World Wide Web Consortium. http://
OLINI, P. 1992. Hypertext development us- w3c.org/TR/REC-CSS2
ing a model-based approach. Softw. Pract. WORLD WIDE WEB CONSORTIUM, 1998. The docu-
Exper. 22, 11 (Nov. 1992), 937–962. ment object model (DOM): Level 1 specification.
STOTTS, P. D. AND FURUTA, R. 1989. Petri-net- Tech. Rep. World Wide Web Consortium.
based hypertext: Document structure with http://www.w3.org/TR/REC-DOM-Level-1/.
browsing semantics. ACM Trans. Inf. Syst. ZHENG, Y. AND PONG, M.-C. 1992. Using state-
7, 1 (Jan. 1989), 3–29. charts to model hypertext. In Proceedings of
SUN MICROSYSTEMS, 1995. Remote method in- the ACM Conference on Hypertext (ECHT ’92,
vocation specification. Tech. Rep. Sun Mi- Milan, Italy, Nov. 30 –Dec. 4), D. Lucarella, J.
crosystems, Inc., Mountain View, CA. http:// Nanard, M. Nanard, and P. Paolini, Eds.
java.sun.com/products/jdk/rmi/index.html. ACM Press, New York, NY, 242–250.

Received: March 1998; revised: August 1998; accepted: December 1998

ACM Computing Surveys, Vol. 31, No. 3, September 1999

You might also like