To ols and Approaches for Developing Data-Intensive

Web Applications: a Survey

Piero Fraternali

Dipartimento di Elettronica e Informazione, Politecnico di Milano

Piazza Leonardo da Vinci 32, I-20133 Milano, Italy

[email protected]

The exp onential growth and the capillar di usion of the Web are nurturing a novel generation

of applications, characterised by a direct business-to-customers relationship. The development

of such applications is a hybrid b etween traditional IS development and Hyp ermedia authoring

and challenges the existing to ols and approaches for pro duction. This pap er investigates

the current situation of Web development to ols, b oth in the commercial and research eld, by

identifying and characterising di erent categories of solutions, evaluating their adequacy to the

requirements of development, enlightening op en problems, and exp osing p ossible

future trends.

Categories and Sub ject Descriptors: H.5.4 [Information Interfaces and presentation]: Hy-

p ertext/Hyp ermedia; D.2.2 [Software Engineering]: Design To ols and techniques

General Terms: Application, Development

Additional Key Words and Phrases: WWW, HTML, Intranet

1. INTRODUCTION

Applications for the Internet in such domains as Electronic Commerce, Digital

Libraries, and Distance Learning are characterized by an unprecedented mix of fea-

tures that makes them radically di erent from previous applications of Information

Technology [Myers et al. 1996]:

|Universal access by individuals with limited or no skills in the use of computer

applications intro duces the need of new man-machine interfaces capable of cap-

turing customer's attention and of facilitating access to information.

|Global availability of heterogeneous information sources requires the integrated

management of structured and unstructured content, p ossibly stored in di erent

systems databases, le systems, multimedia storage devices and distributed

over multiple sites.

Permission to make digital or hard copies of part or all of this work for p ersonal or classro om use is

granted without fee provided that copies are not made or distributed for pro t or direct commercial

advantage and that copies show this notice on the rst page or initial screen of a display along

with the full citation. Copyrights for comp onents of this work owned by others than ACM must

b e honored. Abstracting with credit is p ermitted. To copy otherwise, to republish, to p ost on

servers, to redistribute to lists, or to use any comp onent of this work in other works, requires prior

sp eci c p ermission and/or a fee. Permissions may b e requested from Publications Dept, ACM

Inc., 1515 Broadway, New York, NY 10036 USA, fax +1 212 869-0481, or [email protected].

2 

In the recentyears the has b een elected as the ideal platform for

developing Internet applications, thanks to its p owerful communication paradigm

based on multimediality and browsing, and to its op en architectural standards

which facilitate the integration of di erenttyp es of content and systems.

Mo dern Web applications are conveniently describ ed as a hybrid b etween a Hy-

p ermedia [Nielsen 1995] and an Information System. Like in Hyp ermedia, i.e.,

those applications commonly found in CD ROMS, kiosks, information p oints, and

so on, information is accessed in an exploratory way rather than through \canned"

interfaces, and the way in which it is navigated and presented is of prominent

imp ortance. Like in Information Systems, the size and volatility of data and the

distribution of applications requires consolidated architectural solutions based on

such technologies as database management systems and client-server computing.

Due to this hybrid nature, the developmentofaWeb application is confronted

to a numb er of applicative requirements, like:

|the need of handling b oth structured data e.g., database records and non-

structured data e.g., multimedia items;

|the supp ort of exploratory access through navigational interfaces;

|a high level of graphical quality;

|the customization and p ossibly dynamic adaptation of content structure, navi-

gation primitives, and presentation styles;

|the supp ort of proactive b ehavior, e.g., for recommendation and ltering.

These requirements add up, and typically comp ete, with the technical and man-

agerial issues of every software- and data-intensive application, which obviously

remain valid also for large Web applications:

|security, scalability, and availability;

|interop erability with legacy systems and data;

|ease of evolution and maintainability.

As it happ ened in the past with other emerging technologies, like databases and

ob ject oriented programming languages, metho dologies and software to ols may

greatly help mastering the complexity of innovative applications, by fostering a

correct understanding and use of a new development paradigm, providing pro duc-

tivity advantages, and thus reducing the risk inherent in application development

and migration.

The goal of this survey is to put forward the software engineering, architectural,

and applicative issues of Web development Section 2, classify and compare current

development to ols in light of such asp ects Section 4 to 10, formulate evaluations

and p ersp ectives by examinining the relationship b etween state-of-the-practice so-

lutions and relevant research areas section 11, 12, 13 and 14, and summarize

current choices for the develop er based on the characteristics of the application

section 15.

2. PERSPECTIVES OF WEB DEVELOPMENT

The development of a Web application is a multi-faceted activity, involving not

only technical questions, but also organizational, managerial, and even so cial and artistic issues.

 3

Prototyping & Verification

Requirement Conceptualization Maintenance Analysis & Evolution

Design: structure Implementation navigation

presentation

Fig. 1. The Lifecycle of a Web Application

2.1 Pro cess

Although there is still no consensus on a general mo del of the lifecycle ofaWeb

1

application , a scheme of the typical activities involved in the construction of a

Web application can b e obtained byinterp olating the lifecycle mo dels of traditional

Information Systems and the prop osals for structured Hyp ermedia design [Garzotto

et al. 1995; Isakowitz et al. 1995; J.Nanard and M.Nanard 1995; Schwab e and Rossi

1995]. Figure 1 illustrates the lifecycle mo del used as a reference in this pap er.

|Requirements Analysis: the mission of the application is established, by iden-

tifying the prosp ective users and de ning the nature of the information base.

In addition to the customary requirement collection and feasibility assessment

tasks, Web applications designed for universal access require sp ecial care in the

identi cation of human-computer interaction requirements, in order to establish

the interaction mo de most suitable for each exp ected category of users and for

eachtyp e of output device that the users are exp ected to use to connect to the

application from hand-held p ersonal communicators to high de nition screens.

|Conceptualization: the application is represented through a set of abstract mo d-

els which convey the main comp onents of the envisioned solution. In the Web

, conceptualization has a di erent avor with resp ect to the same activ-

ity in Information System design, b ecause the fo cus is on capturing ob jects and

relationships as they will app ear to users, rather than as they will b e represented

within the software system. Although the notations may b e the same e.g., the

Entity Relationship Mo del [Chen 1976], usually the schemas resulting from the

2

conceptualization of a Web application and a database application di er.

|Prototyping and Validation: simpli ed versions of the applications are deployed

to the users for early feedback. The imp ortance of prototyping is particularly

1

Among the current prop osals there are: [Takahashi and Liang 1997; Atzeni et al. 1998; Fraternali

and Paolini 1998]

2

A macroscopic di erence is in the interpretation of relationships, which in database mo deling

represent semantic asso ciations to b e p ersistently recorded, whereas in Web mo deling generally

imply also a navigation p ossibility.

4 

emphasized in the Web context, as it is in Hyp ermedia, b ecause the intrinsic

complexity of the interfaces requires a timely evaluation of the joint e ectiveness

of structure, navigation and presentation [Nielsen 1996; Bachio chi et al. 1997].

Typically, a prototyp e is built prior to design and on a simpli ed architecture,

e.g., as a set of manually implemented pages containing samples of the application

content, whichemulate the desired app earance and b ehavior.

|Design: conceptual schemas are transformed into a lower-level representation,

closer to the needs of implementation, but still indep endent of the actual content

of the information base. Typically, the structural view of the application is

mapp ed to the schema of a storage rep ository, the navigational view into a set

of access primitives over the content rep ository, and the presentational view into

a set of content-indep endent visual sp eci cations styles. The latter activity,

called visual design, is of prominent imp ortance in Web application development

and is emerging as an autonomous discipline [Sano 1996; Horton et al. 1996].

|Implementation: the rep ository is lled out with new content prepared by domain

exp erts and/or with existing data stored in legacy systems; the actual interfaces,

pages in the Web terminology, are constructed, byemb edding rep ository content

and navigational commands into the appropriate presentation style. The map-

ping of design to implementation requires the choice of the network language in

which the application is delivered e.g., HTML, Java, ActiveX or a mix thereof ,

and the decision of the time of \binding" b etween content and application pages,

which can b e oine or online.

|Evolution and Maintenance: after delivery,changes in the requirements or bug

xes may require the revision of structure, navigation, presentation, or content.

Changes are applied as high as p ossible in the developmentchain and propagated

down to implementation.

The describ ed pro cess mo del caters for a variety of actual pro cesses, whose ap-

plicability dep ends on the sp eci c development context, including the available

to ol supp ort, nancial and time constraints, application complexity and change

frequency. Generally sp eaking, with applications of limited size and fairly stable

requirements, requirement analysis is directly followed by implementation, p ossibly

after a number of iterations through prototyping. Conceptualization and design

assume more relevance as the complexity and volatility of the application increase.

2.2 Mo dels, Languages, and Notations

AWeb application is characterized by three ma jor design dimensions:

|Structure: describ es the organization of the information managed by the appli-

cation, in terms of the pieces of content that constitute its information base and

of their semantic relationships.

|Navigation: concerns the facilities for accessing information and for moving across

the application content.

|Presentation: a ects the way in which application content and navigation com-

mands are presented to the user.

To supp ort the representation of application features during the development

lifecycle, notations with di erent levels of formality and abstraction can b e used.

 5

At the conceptual level, applications are describ ed by means of high level prim-

itives which sp ecify the structural, navigational and presentational views in a way

that abstracts from any architectural issue.

Structural mo delling primitives describ e the typ es of ob jects that constitute the

information base and their semantic relationships, without committment to any

sp eci c mechanism for storing, retrieving and maintaining the actual instances of

such ob ject typ es. Examples of notations that can b e used to express structural fea-

tures include the b est-known conceptual data mo dels, like the Entity-Relationship

mo del [Chen 1976] and various Ob ject Mo dels [Rumbaugh et al. 1991].

Navigation mo delling primitives express the access paths to ob jects of the in-

formation base and the available inter- and intra-ob ject navigation facilities, again

without committing to any sp eci c technique for implementing access and naviga-

tion. The vast range of notations and techniques prop osed for the more general

problem of human-computer interaction sp eci cation can b e employed for naviga-

tion mo delling: data mo dels extended with built-in navigation semantics [Garzotto

et al. 1993; Isakowitz et al. 1995; Fraternali and Paolini 1998] or explicitly annotated

with b ehavioral sp eci cations [Kesseler 1995; Schwab e and Rossi 1995], rst-order

logic [Garg 1988], Petri nets [Stotts and Furuta 1989], nite state machines [Zheng

and Pong 1992], and formal grammars [Jacob 1982] are among the viable options.

Presentation mo delling aims at representing the visual elements of the applica-

tion interfaces in a way that abstracts from the particular language and device

used in the delivery. Many di erent techniques can be used, with a varying de-

gree of formality and rigour, ranging from simple storyb oard sp eci cation [Madsen

and Aiken 1993] to the use of software to ols [Myers 1995] and formal metho ds.

The indep endent sp eci cation of presentation, separate from structure and navi-

gation, is particularly relevant in the Web context, b ecause the nal rendering of

the interface dep ends on the browser and display device and thus there may b e the

necessity of mapping the same abstract presentation scheme to di erent designs

and implementations.

At the design level, structured or semi-structured data mo dels are used to rep-

resent the features of an application in a way amenable to manipulation, query,

and veri cation. Typically, design representations are maintained as relational or

ob ject-oriented schemas, to exploit the capabilities of database management sys-

tems, or as semi-structured ob jects, to cop e with information having partial or

missing schemas [Florescu et al. 1998].

At the lowest degree of abstraction, applications are represented by means of

implementation-level languages, notably network languages directly interpretable

by the user's browsers. At this stage, content, navigation and presentation are

directly emb edded in the physical marked-up texts or programs that make up the

application.

2.3 Reuse

As in any other software pro cess, reuse is an imp ortant asp ect, related to the

facility of building a novel application from existing artifacts [Biggersta and Perlis

1989]. Reuse may happ en at all levels of the development pro cess: conceptual

schemas, design schemas, content and physical application pages can be reused across applications.

6 

Client Server

Application Logic

Database

Fig. 2. Two tiers architecture Client Application Server Data Server

Application Logic

Database

Fig. 3. Three tiers architecture

The most common form of reuse on the Web, as in Hyp ermedia, is content reuse,

p ossibly facilitated by the presence of a structured rep ository, which enables the

construction of di erent applications on top of the same information base. Reuse

also o ccurs at the implementation level, where comp onent-based libraries of self-

contained elements e.g., JavaBeans or ActiveX comp onents can b e plugged into

application pages to provide prede ned functionalities e.g., an electronic payment

facility. Generation-based reuse fo cuses instead on reusing transformation tech-

niques from design frameworks or partially instantiated implementations to full

implementations e.g., by generating application pages from page skeletons and

database content.

2.4 Architecture

Architecture is the sub ject of design and implementation and re ects the spatial

arrangement of application data and the spatio-temp oral distribution of computa-

tion.

The minimal spatial con guration of a Web application is the so-called two-

tier architecture, shown in gure 2, which closely resembles the traditional client-

server paradigm. Di erently from client-server, in the two-tiers solution clients

i.e., browsers are thin, i.e., they are lightweight applications resp onsible only of

rendering the presentation. Application logic and data reside on the server side.

A more advanced con guration, called three- or multi-tier architecture  gure 3,

separates the application logic from data, intro ducing an additional distinction of

resp onsibilities at the back-end side. The presence of one or more distinct appli-

cation tiers enables the implementation of advanced architectures whichintegrate

the traditional HTTP proto col and client-server application distribution proto cols,

for b etter p erformance, scalability, reliability and security.

 7

An orthogonal architectural issue concerns the time of binding b etween the con-

tent of the information base and the application pages delivered to the client, which

can b e static when pages are computed at application de nition time and are im-

mutable during application usage; or dynamic, when pages are created just-in-time

from fresh content. Dynamicity has further nuances: it mayinvolve only content

navigation and presentation are static, or scale to presentation and navigation.

2.5 Usability

From the customer's p ersp ective, usability is the most imp ortant qualityofaWeb

application. Although a thorough discussion of the emerging Web usability en-

gineering eld is outside the scop e of this pap er we refer the reader to [Nielsen

1996], it is p ossible to identify a set of general criteria to use in the assessmentof

Web usability:

|Degree of visual quality: indicates the overall coherence of the presentation and

navigation metaphors and the individual quality of the graphic resources.

|Degree of customization: measures the facility of tailoring the application inter-

face to individual users or user groups. At one end of the sp ectrum, applications

may have a xed interface; at the other extreme, content, presentation, and

navigation may b e individually p ersonalized.

|Degree of adaptivity: is prop ortional to the run-time exibility of the interface;

at one end, the application may be immutable; at the other, it may track the

user's activity and change accordingly [Fraternali and Paolini 1998].

|Degree of proactivity: indicates the capability of an application to interact with

the user on its own initiative. Applications can b e passive, i.e., provide informa-

tion only in resp onse to user's requests, or proactive, i.e., able to push information

to users up on the o ccurrence of relevantevents.

3. TOOLS FOR WEB DEVELOPMENT

In resp onse to the ab ove describ ed complexity factors of Web application devel-

opment, many software vendors are providing instruments for supp orting the con-

struction of new applications, or the migration of existing ones.

Notwithstanding their common goal, the available pro ducts greatly diverge in

many asp ects, which re ects di erent conceptions of the nature of a Web application

and of its development pro cess.

To help understanding the state of the practice, wehave group ed existing to ols

into six categories, which exibit homogeneous features. This grouping is the result

of a broad review, which has considered over fourty pro ducts, listed in App endix 15.

The individuated categories are:

1 Visual editors and site managers;

2 Web-enabled Hyp ermedia authoring to ols;

3 Web-DBPL integrators;

4 Web form editors, rep ort writers and database publishing wizards;

5 Multi-paradigm to ols

6 Mo del-driven application generators.

8 

The order of presentation of the di erent categories re ects the increasing level

of supp ort that to ols in each category o er to the structured developmentofWeb

applications.

Category 1 contains pro ductivity to ols that are a direct evolution of HTML ed-

itors, which do not really supp ort the development of large scale Web-database

applications but are nonetheless interesting b ecause they pioneered many concepts

like presentation styles and top-down site design later integrated into more com-

plex environments. The same limitation in the degree of supp ort to structured

development of large applications is shared by Category 2, which originates from a

di erent application domain, o -line Hyp ermedia publishing, but recently added fa-

cilities for Web and database integration; the interest in these to ols is motivated by

their non-conventional with resp ect to the standard software engineering practice

approach to application design and sp eci c fo cus on navigation and presentation.

Category 3 is the rst one that explicitly addresses the integration of Web and

databases to achievea higher level of scalability, and includes very p owerful, yet

basic, pro ducts; these pro ducts can be used to implement applications on top of

large databases, although to the price of a substantial programming e ort. Category

4 takes quite a di erent, but still database-centric, approachtoWeb development,

by addressing the migration of client/server, form-based applications; these to ols

aim at augmenting the implementor's pro ductivity in such tasks as form editing,

rep ort writing, and event-based programming; they o er a higher level of supp ort

with resp ect to category 3, but still concentrate only on the implementation phase.

Category 5 contains a numb er of to ols whose common feature is the integration of

di erent development approaches and technologies, drawn from the previous four

to ol families. Finally, category 6 includes those pro ducts actually two pro ducts

that provide a complete coverage of all the development activities, from concep-

tualization to implementation, by leveraging state-of-the-art software engineering

techniques.

To complete the overview of Web application development, in Section 10 we in-

clude a mention to other classes of pro ducts which are not directly concerned with

the sp eci c fo cus of this pap er on the design and maintenance of Web sites, but

either cover fundamental architectural issues like distribution, reliability, p erfor-

mance, and security, or provide sp ecialized facilities to users and site administra-

tors, like advanced search functions and collab orativework supp ort.

4. VISUAL EDITORS AND SITE MANAGERS

This class includes authoring and site management environments originally con-

ceived to alleviate the complexity of writing HTML co de and of maintaining the

pages of a Web site in the le system. In a typical con guration these pro ducts

bundle a WYSIWYG editor, which lets the user design sophisticated HTML pages

without programming, and a visual site manager, which displays in a graphical

way the content of a Web site and supp orts functions like page upload, deletion,

and renaming, and broken link detection and repair. Among the many pro ducts

in this category there are Adob e SiteMill and PageMill, NetOb ject Inc.'s Fusion,

SoftQuad's HotMetal, Home Page, Macromedia's Backstage Designer, and

Microsoft's FrontPage.

From a lifecycle p ersp ective, these pro ducts address the implementation and

 9

maintenance of Web sites; implementation is supp orted by content pro duction func-

tionalities and maintenance by site-level management facilities. The most advanced

pro ducts e.g., NetOb ject's Fusion and Microsoft FrontPage also o er a rather

rudimental approach to design, whereby it is p ossible to separate the de nition of

the hierarchical structure of a site from the authoring of content.

Automation concentrates on content pro duction, by generating co de from visual

page designs. Supp ort to co de generation is particularly relevant in those to ols

like Macromedia's DreamWeaver, SofQuad's HotMetal Pro 5.0, Allaire's Home-

Site, and many more that supp ort the latest extensions of HTML, like Cascading

Style Sheets CSS [World Wide Web Consortium 1998a] for content-indep endent

presentation sp eci cation, and the Do cument Ob ject Mo del DOM [World Wide

Web Consortium 1998b], for the ob ject-oriented representation of page elements

and their manipulation via a scripting language.

Some to ols are also able to generate part of the navigation logic, by automatically

inserting navigation buttons into pages based on their p osition in the tree-likelayout

of the site  gure 4. Development abstractions are basically implementation-level

and oriented towards structure and navigation pages and links; some to ols also

provide presentation abstractions, in the form of page templates or "themes", i.e.,

groups of graphic resources that can b e applied to multiple pages to obtain visual

consistency  gure 5.

Reuse mostly happ ens at the implementation level: content ob jects e.g., mul-

timedia, graphics, but also ob ject-based comp onents, likeJavaBeans and ActiveX

controls can b e reused across applications.

The architecture originally supp orted by these to ols is le-based and two tier,

and the binding between an application and its content is static. Recently, the

most advanced to ols have added functionalities for the dynamic connection to live

database data, as we discuss in Section 8.

Since development is mostly conducted by hand, the level of customization and

the resulting visual quality of the nal application is prop ortional to the e ort sp ent

and can be arbitrarily high; coherence of presentation and navigation metaphors

is facilitated by visual templates and themes, although in this case customization

b ecomes more exp ensive.

The features of these to ols are shown in Table 6: in summary, they are an

excellent solution for small- to medium-sized applications, where publishing large

information bases stored in a DBMS is not the ma jor issue. The lack of a design-

level schema of the application indep endentofcontent imp oses that the application

features be de ned instance-by-instance and is a ma jor obstacle to scale-up and

integration of large masses of data. These limitations, however, are going to b ecome

less sensible as these pro ducts b ecome more integrated with Web-database to ols.

5. WEB-ENABLED HYPERMEDIA AUTHORING TOOLS

Web-enabled Hyp ermedia authoring to ols share the same fo cus on authoring as

visual HTML editors but have a di erent origin, b ecause they were initially con-

ceived for the development of o -line Hyp ermedia applications, and have b een ex-

tended to supp ort the generation of applications for the Web in recent times. The

b est known representatives of this class of pro ducts are: Asymetrix's Toolbook II

Assistant/Instructor, Macromedia's Director and Authorware, Formula Graphics'

10 

Fig. 4. Hierarchical Site Layout in NetOb ject's Fusion

Fig. 5. Graphic Styles in NetOb ject's Fusion

 11

Pro cess: Lifecycle Design limited to hierarchical layout de nitions

Coverage Implementation

Maintenance

Pro cess: HTML generation from WYSIWYG page editing

Automation Generation of commands for hierarchynavigation

Abstractions Implementation-level: pages, links, presentation styles

Reuse Plug-in comp onents; Reusable presentation styles

Architecture Two-tiers, based on le 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

Fig. 6. Synopsis of Visual Editors and Site Managers

Multimedia 97, Aimtech Iconauthor, and Allen Communication Quest. Most of

these pro duct have b oth Web exp ort facilities and database connectivity, but these

extensions are not always compatible, and often the develop er must cho ose b etween

the two p ossibilities. These pro ducts are characterized by the following features:

|The authoring metaphor used in the de nition of the application. Examples of

such metaphors are: owchart Quest, Authorware, IconAuthor, book To ol-

b o ok, movie making Director.

|The way navigation is de ned, which may require programming in a scripting

language or may b e supp orted by visual programming and wizard to ols coherent

with the pro duct's authoring metaphor e.g., in Director ob jects' synchronization

is de ned by editing the score for the cast memb ers of a stage, see gure 7.

|The typ e of database connectivity, which may range from supp ort of an inter-

nal database, of an external database via gateway software typically ODBC or

JDBC, of an external database through DBMS API.

|The typ e of Web connectivity, which may be achieved by means of a plug-in

application extending a or by exp orting the Hyp ermedia application

into a network language. Web connectivity may a ect database connectivity,

b ecause in the present version of most to ols Web exp ort can be done only for

applications not connected to a database.

|The exp ort language, whichmay b e HTML, Java, or a mix of b oth.

Hyp ermedia to ols basically are authoring assistants and their fo cus is restricted

to the ad ho c implementation of long-lived applications to b e published once and

for all in CDROMS or information kiosks. As a consequence, they still have lit-

tle provision for a structured development lifecycle and o er limited supp ort to

application mo delling, design, testing and maintenance.

To aid the implementation of large applications, some to ols separate authoring

in-the-large i.e., the de nition of the overall application structure from authoring

in-the-small i.e., the detailed de nition of the multimedia content of individual

information no des [GMP95]. This distinction fosters an elementary form of design

which helps recon guring the application structure and navigation indep endently

12 

Fig. 7. The Film-Making Authoring Metaphor of Macromedia's Director

of content. For example, to ols like Quest, Authorware, and IconAuthor distinguish

between a \design mo de", where information no des are placed on a owchart, and

an \edit mo de", where each individual no de can be edited. A parallel can be

established b etween authoring in-the-large in Hyp ermedia authoring to ols and the

site layout view o ered by some visual HTML editors: in b oth cases, design is done

at the instance level, without the help of a content-indep endent application schema,

and navigation is in part automatically generated from the abstract structure of

the application.

Reuse is pursued b oth at the design level, by means of reusable substructures and

application indep endent layouts, and at the implementation level, by leveraging

libraries of scripts or multimedia comp onents. The recent versions of most to ols

also o er interop erability with third-party comp onents for example inclusion of

Java applets and ActiveX comp onents.

Regarding the development abstractions, Hyp ermedia to ols have a strong plus in

the built-in facilities for explicitly mo delling navigation paths orthogonal to appli-

cation structure; for example, guided tours can b e de ned as sequential navigations

based on asso ciative prop erties of ob jects that may cut across the hierarchical struc-

ture of the application. Other navigational aids include application-wide search

functions, glossaries, and access indexes.

Like visual HTML editors, Hyp ermedia authoring to ols:

|Do not provide a schema for distinguishing the typ e of ob jects constituting the

application b eside the low-level distinction between ob jects of di erent media

 13

Pro cess: Lifecycle Design supp ort of authoring-in-the-large

Coverage Implementation

Pro cess: HTML/Java generation from WYSIWYG authoring

Automation Synchronization of multimedia ob jects

Generation of commands for navigation

Abstractions Implementation-level authoring metaphors: pages,

stages, owcharts

Reuse Script libraries, application skeletons, plug-in comp o-

nents, reusable presentation styles

Architecture Monolithic

Two-tiers through Web exp ort

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-de ned access indexes

No adaptivity, no proactivity

Fig. 8. Synopsis of Web-enabled Hyp ermedia Authoring To ols

typ es. The main development abstractions are generic container ob jects pages,

icons, stages, whose de nition intermixes structural, presentation, and b ehav-

ioral asp ects and in to ols not supp orting the separate sp eci cation of navigation,

also navigational features.

|O er presentation abstractions in the form of page styles, i.e., sets of graphic

resources applied uniformly to the entire application or to part of it.

Architecture is where Hyp ermedia to ols show a substantial immaturity with re-

sp ect to comp etitor solutions; all to ols were originally conceived for oine, le-

based publication, and later upgraded to external database connectivity and Web

exp ort. Most pro ducts o er database connectivity via external libraries using

ODBC, but lose this feature after Web exp ort. Moreover, translation from na-

tive proprietary format into a network language is still rudimental, and the most

advanced features like those obtained by exploiting the to ol's scripting language

do not carry over to the Web version of an application.

Conversely, usability is the ma jor strength of this category of pro ducts, which

fo cus on delivering very sophisticated user interfaces exhibiting a degree of control

over graphic accuracy and multimedia synchronization hardly available with other

means. The inherentnavigational design paradigm, coupled to very e ective and

well established aids like guided tours, and user-de ned access indexes, which most

to ols o er for free or with little programming e ort, contribute to the deploymentof

applications which are very e ective and much closer to the kind of communication

found in high quality, hand-develop ed Web sites.

Table 8 summarizes the Web-related features of Hyp ermedia authoring to ols.

14 

6. WEB-DBPL INTEGRATORS

The common denominator of the pro ducts in this category is to pro duce Web pages

dynamically from information stored in a database, byintegrating databases and

Web technology at the language level.

Di erent network languages notably, HTML and Java are merged with a data-

base programming language DBPL, to obtain an intermediate application pro-

gramming language capable of making the b est of b oth the Web and database

technology. Web-DBPL integration is pursued in three distinct ways:

|HTML extensions add new tags to HTML to emb ed b oth generalized program-

ming constructs and database-sp eci c capabilities. The develop er writes page

templates, which intermix declarative HTML tags and executable co de. Pro d-

ucts in this category can b e further distinguished based on the language paradigm

used to extend HTML imp erative, ob ject-based, ob ject-oriented. Page tem-

plates must be translated into pure HTML and this task is normally executed

at run-time by an interpreter. The p erformance of the di erent pro ducts vary

based on the pro cess in which the interpreter is executed and on the way the

connection to the database is managed. Examples of HTML extensions include:

the Cold Fusion Web Database Construction Kit by Allaire Inc., Microsoft's Ac-

tive Server Pages ASP and Internet Database Connector IDC, StoryServer

by Vignette Corp oration, HAHT Software's HahtSite, and Informix AppPages.

In general, HTML extensions have a broader ob jective than the mere addition

of database connectivity, and include primitives for overcoming well-known lim-

itations of HTML, like the absence of control ow instructions, mo dularization

3

mechanisms, and stateful interaction .

|DBPL extensions take the other way round and add sp ecialized functions to an

existing DBPL, or to a general purp ose programming language with a database

interface, to enable the output of HTML co de as a result of program execu-

tion. Develop ers write database applications which construct HTML output

from data retrieved from the database. This approach requires database pro-

gramming skills, but may yield b etter p erformance, when DBPL programs are

executed and optimized directly by the DBMS. Examples of DBPL extensions

include: Oracle's PL/SQL Web To olkit, Sybase's PowerBuilder Web.PB class

library, and Borland's Web interface for the Delphi Client Server Suite.

|Java extensions add database connectivitytoJava. The b est known e ort in this

direction is the JDBC op en standard, which o ers an ODBC-like architecture for

Java applications that wanttointeract with a DBMS. Di erently from HTML

extensions, connectivity is added in the form of a library masking under a uniform

callable interface the details of interacting with di erent proprietary DBMSs and

SQL dialects.

Di erently from visual HTML editors and Hyp ermedia authoring to ols, which

o er small-scale application development functions to the non-programmers, Web-

DBPL integrators are to ols for the programmer, who may use them to simplify

3

Stateful interaction is the capability of retaining the application status b etween two consecutive

client's requests, which is not supp orted by HTPP/1.0

 15

the task of gluing together Web pages and database queries by hand. Due to their

fo cus on implementation languages, these pro ducts lack high level abstractions for

describing applications and thus do not assist the develop er in identifying the struc-

ture, navigation, and presentation of an application, which is directly implemented

by manually writing the necessary HMTL page templates or DBPL programs.

Reuse maybeachieved either through the native constructs of the programming

language, for example packages and mo dules, or through ad-ho c mo dularization

mechanisms, for example inclusion b etween HTML page templates.

The target architecture is database-centered and three-tiered; the most sophisti-

cated pro ducts also p ermit multiple database tiers and distributed queries.

Not having any sp eci c supp ort for presentation and navigation mo deling, these

pro ducts have no direct impact on the usability and graphical quality of the user

interface, whichmust b e designed separately.

The ma jor di erence b etween Web-DBPL integrators and visual HTML editors

and Hyp ermedia authoring to ols is that the former intro duce a clear separation

between the nal application pages and the content rep ository, the schema of which

acts as an implicit sp eci cation of the application structure.

This distinction has several consequences on the application development pro cess:

|it p ermits a more e ective manipulation of the information base, b ecause changes

to content can b e p erformed without a ecting navigation and presentation;

|it exp oses the di erent ob ject typ es that constitute the application, although

these typ es are not elicited from the structural, navigational and presentation

requirements of the application, but stem from the design of the underlying

database;

|thanks to the explicit ob ject typing, the uniformity and coherence of the presen-

tation are facilitated, b ecause all ob jects of the same typ e may b e easily visualised

in the same way. As a counterpart, customization at the instance level must b e

explicitly programmed, by identifying exceptional cases and treating them in ad

ho c ways.

Being database driven, applications built with Web-DBPL integrators may lever-

age the reactive capabilities of the underlying DBMS to achieve adaptivity and

proactivity, e.g., database triggers. For example, an Oracle trigger could react to

user-generated events and pro duce HTML pages adapted to the sp eci c situation.

In spite of the ab ove mentioned p ositive side-e ects, Web-DBPL integrators can-

not be considered development to ols in themselves, but are comparable to tradi-

tional client/server 4GL, b ecause they provide a high level programming interface

masking lower-level architectural details; as such, they are often used to build more

sophisticated pro ducts, like the ones reviewed next.

Table 9 summarizes the most imp ortant features of Web-DBPL integrators.

7. WEB FORM EDITORS, REPORT WRITERS, AND DATABASE PUBLISHING

WIZARDS

This category collects a large numb er of pro ducts, all having the common charac-

teristic of leveraging traditional database design concepts and development to ols

to rapidly deploy b oth new and legacy data-intensive applications on the Web. A

16 

Pro cess: Lifecycle Structural design design of underlying database

Coverage Implementation

Content maintenance

Pro cess: Web-database communication

Automation Query shipment and result pro cessing

Page formatting from query results

Abstractions Design-level: database structures tables, classes

Implementation-level: pages, interface ob jects

Reuse Reusable mo dules: page templates, pro cedures, classes

Architecture Three/multi-tier

Dynamic binding of content to pages

Usability No sp eci c supp ort for control of graphical quality

Coherence facilitated by page templates HTML exten-

sions

Low customization, adaptivity and proactivity manually

implementable through database triggers

Fig. 9. Synopsis of Web-DBPL Integrators

rst classi cation can b e obtained by considering the functions o ered by the to ols,

ordered by complexity and sophistication:

|database exp ort: supp ort is limited to the publication of basic database elements,

like tables and views, and is achieved by automatically mapping database content

into a network language, notably HTML. The exp ort can b e either static or dy-

namic, the latter case requiring on-the- y HTML generation, which is normally

implemented by means of a Web-DBPL integrator. A certain level of p ersonaliza-

tion can b e obtained, by applying sets of preferences to drive the output of Web

pages. Atypical example is the exp ortation of tables and queries in Microsoft's

Access97.

|Rep ort writing: more complex read-only applications can b e obtained by de ning

custom rep orts, which can b e exp orted to the Web either statically or dynam-

ically. Dynamic publication requires a rep ort interpreter working side by side

with the Web server. Examples include: Crystal Rep ort Print Engine, Oracle's

Rep orts for the Web, Microsoft's Access97 rep ort exp ort facility.

|Form-based application development: assistance extends to the construction of

interactive, form-based applications for accessing and up dating data, and more

generally for implementing business functions.

Form-based application development is where the highest number of pro ducts

concentrate, and develop ers are faced by an impressive sp ectrum of alternatives.

Among the reviewed pro ducts, we cite: Microsoft's Visual InterDev, Visual Basic 5,

and Access97, Oracle Develop er 2000, Inprise IntraBuilder, Sybase's PowerBuilder,

Apple's WebOb jects, NetDynamics Visual Studio, Asymetrix Sup erCede Database

Edition, and Allaire's Cold Fusion Application Wizards. The most relevant dimen-

sions characterizing the di erent pro ducts are:

|the application delivery format, i.e., the format in which the application is re-

ceived by the browser, which can b e pure HTML, a combination of HTML and

 17

Java, HTML plus proprietary comp onent technology and scripting languages

e.g., client-side ActiveX ob jects, VBScript or JavaScript tags, or a totally pro-

prietary format e.g., ActiveX do cuments, Sybase's PowerBuilder PBD les.

The delivery format a ects the client's p erformance and the application's p orta-

bility, with minimal overhead and maximum p ortability in the pure HTML case,

and maximum overhead and minimal p ortability when the application is deployed

in a totally proprietary format interpreted by a browser's plug-in application.

|The application development languages, whichmay b e di erent from the deliv-

ery languages to preserve existing software investments and programming skills

and/or increase p erformance and p ortability. Overall, the sp ectrum of bindings

between development and delivery languages is extremely varied, ranging from

pro ducts o ering a single development language and multiple output formats

e.g., Oracle's Develop er 2000 maps PL/SQL to HTML, Java, and Visual Basic,

to pro ducts translating di erent input languages into the same output format

e.g., Microsoft's Visual InterDev maps design-time ActiveX controls scripted in

VBScript or JavaScript into pure HTML.

|The implementation paradigm, which can b e 3GL programming, Rapid Applica-

tion Development RAD, wizard-based, or a mix thereof. Almost all to ols o er

RAD functionalities letting programmers de ne an application by dragging and

dropping comp onents onto a form and by visually customizing their prop erties.

Behavior customization, as necessary for the de nition of complex forms, can

be added by writing co de in the to ol's development language. A few pro ducts

e.g, Visual InterDev, IntraBuilder, NetDynamics, Cold Fusion also include a

simpli ed development path for non-programmers, based on "wizards" enabling

the automatic generation of co de from sets of preferences selected through a vi-

sual interface  gure 10. Wizards are applied to obtain b oth comp onents and

complete applications; in the latter case they deliver "canned" database appli-

cations, in which the data structure and the interface logic are prede ned e.g.,

master-details data entry and visualization, drill-down rep orts, and so on.

|The execution architecture: the way in which an application can b e partitioned

among the di erent tiers of the Web architecture is even more varied than the

choice of development and delivery languages, b ecause ob ject distribution as

supp orted by languages likeJava and architectures like Corba and DCOM p er-

mits the same functionality, e.g., a database driver, to b e lo cated either in the

client or in the application server.

From a software engineering p oint of view, pro ducts in this class are to Web devel-

opment what Integrated DevelopmentEnvironments IDEs and Rapid Application

Development to ols were to traditional application programming: instruments for

b o osting individuals' and teams' pro ductivity in the implementation phase. The

b est to ols also help pro cess management, testing, and maintenance by leveraging

standard software engineering techniques like source and version control, con gu-

ration management, and visual debugging.

With one exception reviewed later, form-based application generators do not

provide upp er-CASE capabilities: they do not encompass conceptual mo deling nor

supp ort the mo del-driven design and implementation of applications. Typically,

data structures, business logic, and interfaces are sp eci ed and designed separately

18 

Fig. 10. Datarange Wizard in Microsoft's Visual Interdev

and then implemented with the to ol of choice.

Comp onent-based reuse is also intrinsic to most pro ducts, which leverage the

various ob ject-level interop erability standards emerging on the Web. Comp onents

can b e either client-side, in which case they encapsulate typical interface controls

e.g., menus, edit elds, grids, and so on, or server-side, in which case they typically

wrap database access and data formatting primitives.

The development abstractions are interface-oriented and drawn from the tra-

ditional client/server, database-centric world: query and data entry forms, in-

put/output controls, record lists, and rep orts. The structure of the application

is dictated by the forms that comp ose it and is generally isomorphic to a sub-

set of  the database schema, esp ecially when forms are automatically derived from

database tables and views through database wizards. More complex patterns can b e

obtained by exploiting canonical structures like table lo okups and master-details,

or by hand-programming non-standard combinations of ob jects. The navigation

semantics is deeply emb edded within the application and hyp erlinks are emulated

by means of form-to-form connections. In some cases, navigation is automatically

inferred by the to ol from database structure, like for example in automatically

generated master-details and drill-down applications, where database foreign key

constraints are translated into HTML hyp erlinks. Presentation is addressed as an

indep endent issue only in those pro ducts that provide a notion of "presentation

style" e.g., mo dels in Access97, themes in InterDev, master pages in IntraBuilder

 19

Pro cess: Lifecycle Implementation

Coverage Testing

Maintenance

Pro cess: Source co de generation from RAD and wizard to ols

Automation

Abstractions Implementation-level: forms, rep orts, controls

Reuse Plug-in comp onents: client-side and server-side

Architecture Multi-tier, integration with application servers

Dynamic binding of content to pages

Usability Canned interfaces based on query/result display lo op

Low customization, no adaptivity, no proactivity

Fig. 11. Synopsis of Web Form Editors, Rep ort Writers, and Database Publishing Wizards

which can b e uniformly applied to all application pages to obtain a consistent lo ok.

On the architectural side, all pro ducts target multi-tier architectures, and the

most recent generation e.g., NetDynamics Visual Studio is tightly integrated with

sp ecialized middleware pro ducts, called application servers, which we review in

section 10.1.

Di erently from Web-DBPL integrators, which are neutral pro ducts that can b e

used to shap e any kind of application, form-based generators and database pub-

lishing wizards deliver complete software solutions inclusive of logic,

and thus their underlying interaction mo del in uences the user p erception of the

application quality. The evalution must consider the application context in which

a to ol is used and consequently the kind of users addressed. In an intra-business

or business-to-business context, these pro ducts are essentially vehicles for Web-

enabling traditional client-server applications. In this setting, interface qualityis

prop ortional to the similarity between the lo ok and feel of original client-server

applications and their Web counterparts, b ecause the p eculiarities of Web interac-

tion free browsing, asso ciative links, multimediality, user-level customization are

less imp ortant than adherence to interface standards well-established among users.

Conversely, if these pro ducts are targeted to user-oriented applications for the In-

ternet, they must b e compared to Web and Hyp ermedia authoring to ols, in which

case their form-to-form navigation pattern and the limited graphic control imp osed

by wizards are a source of rigidity.

Table 11 overviews the main features of Web form editors, rep ort writers and

database publishing wizards.

8. MULTI-PARADIGM TOOLS

The ongoing trend of evolution of Web development to ols sees an increasing con-

vergence b etween visual editing and site management pro ducts, Web-HTML inte-

grators, and client-server pro ducts reviewed in Section 4, 6 and 7, resp ectively.

Multi-paradigm to ols integrate solutions from the ab ovementioned categories into

a uni ed development framework. The most typical con guration is the one in

which visual HTML editing and site administration are extended with external

comp onents which provide database connectivity, or with enhanced HTML genera-

20 

Pro cess: Lifecycle Design limited to hierarchical layout de nitions

Coverage Implementation and maintenance

Pro cess: HTML generation from WYSIWYG page editing

Automation Generation of commands for hierarchy navigation

Web-database communication

Source co de generation from RAD and wizard to ols

Abstractions Implementation-level: pages, links, presentation styles,

interface ob jects, tables, queries

Reuse Plug-in comp onents, reusable presentation styles

Architecture Three and multi-tier

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

Fig. 12. Synopsis of Multi-Paradigm To ols

tion capabilities able to pro duce scripts for pulling content from databases, or with

full- edged database publication wizards.

Example of such convergent to ols are FrontPage98, which includes database ob-

jects for connecting to external data sources, Elemental's Drumb eat, which com-

bines sophisticated visual editing and assets management with database wizards

comparable to those of sp ecialized Web-database connectivity pro ducts, Lotus

Domino and Domino Designer, which o er an integrated environment for Web-

enabling Notes client-server applications and developing Web sites that take ad-

vantage of the Domino Server capabilities, and NetOb ject's Fusion version 3.0,

which features the Fusion2Fusion extension for connecting NetOb ject's visual page

editor and Allaire's HTML-SQL integrator.

Multi-paradigm to ols do not intro duce novel approaches into Web development,

but combine already established features to broaden their sp ectrum of applicability

with resp ect to single-paradigm pro ducts. Therefore, they o er advantages sum-

marized in Table 12 that are the sum of the strengths of their comp onents im-

plementation pro ductivity, top-down design, three-tier architecture, high graphic

control, but do not overcome the ma jor limitation of the pro ducts reviewed so far,

i.e., the lack of a high level, content-indep endent representation of the site in terms

structure, navigation and presentation.

9. MODEL-DRIVEN WEB GENERATORS

Mo del-driven Web generators are at the top of the prop osed categories, b ecause

they provide the highest level of automation and lifecycle coverage, by applying

conceptual mo deling and co de generation techniques to the development of Web

applications.

This category comprises a few commercial to ols, which exhibit di erent concep-

tual mo dels and co de generation techniques. We review Hyp erwave Server 4.0, and

Oracle's Web Development Suite.

 21

Hyp erwave [Hyp erwave Information Management 1998] is an advanced do cu-

ment managementenvironment which p ermits remote users to browse, annotate,

and maintain do cuments distributed over the Web. Hyp erwave has a very basic, yet

powerful, high level mo del of a Web application, which is considered as a set of doc-

ument col lections organized hierarchically. Collections may contain sub-collections

and do cuments, and have di erent b ehavior based on their typ e. Do cuments in

a collection can b e linked and annotated with a numb er of meta-data. Links are

managed by the Hyp erwave server, so that anyhyp ertextual structure can b e su-

p erimp osed over a set of otherwise indep endent do cuments.

From the description of collections, links and meta-data, Hyp erwave generates

aWeb interface that enables b oth user-oriented and administrative functions like

collection and link browsing, searching and noti cation, remote do cument man-

agement, ne-grain version and access control, collab orative work, and p ersonal

annotations. The generated interface has a default presentation, which can be

p ersonalized using a proprietary template language.

Although do cument-oriented, the Hyp erware server relies on database technology

and on a multi-tier architecture to store meta-data and manage links spanning

multiple servers.

A more database-centric approach is taken by the Oracle Web Development Suite,

which comprises Designer 2000 [Gwyer 1996; Barnes and Gwyer 1996], a CASE to ol

for generating Web applications from augmented Entity-Relationship diagrams.

Designer 2000 is an environment for business pro cess and application mo deling,

integrated with software generators originally designed to target traditional client-

server environments, namely Oracle Develop er 2000 [Hoven 1997] and Visual Basic.

The Web Generator enables previous applications develop ed with Designer 2000

and deployed on LANs to b e p orted to the Web, as well as the delivery of novel

applications directly on the Internet or on intranets. The Web Generator takes its

inputs from the Designer 2000 design rep ository and delivers PL/SQL co de that

runs within the Oracle Web Server to pro duce the desired HTML pages of the

application. More sp eci cally, three inputs drive the generation pro cess:

|A Web-enhanced database design: database design diagrams sp ecify the struc-

ture of the database in terms of tables, views, foreign key relationships, and

integrity constraints. These constitute the schema of the future Web application.

A few visual features can b e sp eci ed in the schema: for example, column de ni-

tions can b e supplemented with caption text and display format e.g., a p op-up

list. Moreover, some integrity constraints e.g., valid ranges can b e attached to

columns and tables, and the Web Generator can b e instructed to pro duce co de

for checking them on the server via PL/SQL or on the client via JavaScript.

|The de nition of applications and mo dules: mo dules corresp ond to basic appli-

cation units; each mo dule consists of a sequence of tables, linked by foreign key

relationships  gure 13. The order of tables in a mo dule determines the sequence

of HTML pages that will b e pro duced for that mo dule. Navigation is established

by drawing links b etween mo dules: the designer may de ne which mo dules can b e

reached by a given mo dule and intro duce ctitious mo dules acting as hierarchical

indexes over other mo dules.

|The user preferences: user preferences are parameters that can b e set to govern

22 

Fig. 13. Mo dule De nition in Oracle Designer 2000

the presentation of the generated application; they can b e de ned either globally,

at the mo dule, or at the comp onent level. Example of preferences are colors,

headers and fo oters, background images, and help text.

From these inputs, the WEB Generator pro duces xed-format Web pages; one set

of related pages is generated for each mo dule and links b etween di erent mo dules

are turned into hyp erlinks b etween the HTML startup pages of mo dules.

Mo del-driven generators apply to Web development the fundamental principles

of software engineering; di erently from all other pro duct categories, application

are rst mo delled at the conceptual level and then implemented through co de gen-

eration. This approach and its b ene ts are comparable to the ones delivered by

CASE to ols for ob ject-oriented application development, and range from reduced

development e ort, reverse engineering, and multi-level reuse.

However, Hyp erwave and Designer 2000 diverge in the underlying conceptual

mo del, and b oth exhibit limits in the description of Web applications.

Hyp erwave adopts a simpli ed hyp ermedia mo del, whichiswell suited to repre-

sentnavigation, but lacks a prop er structural mo del; as a consequence, the infor-

mation base is reduced to a set of at do cuments annotated with meta-data.

Conversely, Designer 2000 draws the development abstractions from the database

world and adapts such concepts as entities and relationships to Web mo deling, by

adding to them some navigation and presentation avor. This attempt to twist a

database conceptual mo del and apply it to Web application is resp onsible of some

limitations in the usability of the resulting applications, where the absence of prop er

mo deling abstractions for navigation and presentation limits the exploitation of the

 23

Designer 2000 Hyp erwave

Pro cess: Conceptualization E/R Conceptualization

Lifecycle Design Relational Mo del collection and link de nition

Coverage Implementation Implementation

Reverse Engineering

Pro cess: Relational Relational metaschema gener-

Automation schema generation from ER ation

Generation of HTML from de- Navigation generation

sign mo dels and presentation Presentation generation

preferences

Abstractions Conceptual-level: entity, relation- Conceptual-level: collections,

ships, attributes views, abstract links, do c-

Design-level: mo d- uments, virtual collections

ules, tables, columns, constraints Implementation-level: pages,

Implementation-level: pages, HTML links

links

Reuse Mo dule reuse; Preferences reuse Multiple views over the same

do cument base

Architecture Multi-tier, dynamic binding Multi-tier, dynamic binding

Usability Low graph- Low graphical control of gen-

ical control of generated pages erated pages

High coherence through High coherence through use

use of presentation preferences of presentation preferences

Low customization, no adaptivity, Programmable customization,

no proactivity no adaptivity, proactivity

through noti cation

Fig. 14. Synopsis of Mo del-Driven Generators Oracle Designer 2000 and Hyp erwave

communication capabilities of the Web.

The limitations of commercial Web generators are addressed by a few research

prototyp es, namely Araneus [Atzeni et al. 1997], Autoweb [Fraternali and Paolini

1998], Strudel [Fernandez et al. 1998], WebArchitect [Takahashi and Liang 1997],

W3I3 [Ceri et al. 1998], HSDL [Kesseler 1995], RMC [Diaz et al. 1995], and OOHDM

[Schwab e and Rossi 1995], which are discussed in Section 12.

10. MIDDLEWARE, SEARCH ENGINES, AND GROUPWARE

Beside supp ort to conceptualization, design, and implementation, Web develop-

ment requires tackling other issues which, although outside the fo cus of the pap er,

are critical for the delivery of e ective applications: p erformance, availability, scal-

ability, security, information retrieval, and supp ort to collab orative administration

and usage.

These needs are served by ad ho c to ols or by sp ecialized functions integrated into

Web design pro ducts. In the sequel we brie y review the most imp ortant features

of three categories of pro ducts: application servers, search engines, and groupware

and collab orative design to ols.

24 

10.1 Middleware

Industrial-strenght data-intensive applications require not only prop er design to ols

but also a solid architecture, go o d p erformance, availability, scalability, and secu-

rity. These goals have prompted for the extension of the original two-tier HTPP

architecture to more sophisticated con gurations, encompassing three, and even

multiple, tiers. The key to multi-tiered applications is the capability of separating

data, interfaces, and application logic, and of distributing each asp ect to distinct

network no des. Such distibution leverages Internet-enabled application proto cols

like Corba Internet InterOrb Proto col{Corba I IOP[Ob ject Management Group

1996]{and Microsoft's Distributed Common Ob ject Mo del{DCOM [Microsoft Cor-

p oration 1996] and the native remote pro cedure call capabilities of network lan-

guages notably,Java's Remote Metho d Invo cation{RMI [Sun Microsystems 1995]

The in-depth presentation of the alternative architectural and technological op-

tions for multi-tiered applications is outside the scop e of this pap er and is thor-

oughly addresses by many authors see, for example, the sp ecial issue of IEEE

Internet Computing on Internet Architectures [Benda 1998] for a recent review of

the state of the art, and Byte's sp ecial rep ort on networked comp onents [Mont-

gomery et al. 1997] for a comparison of the Corba's and Microsoft's architectures.

However, also in the to ol market several vendors are addressing multi-tiered

architectures, by o ering sp eci c pro ducts, called application servers, which are

middleware facilities either integrated into HTTP servers, or working side by side

to them. Example of application servers are NetDynamics, Lotus Domino Server,

Oracle 8i Java Server, Sybase's Jaguar CTS and Inprise's VisiBroker for Java.

Application servers do not directly impact the client-side design pro cess, but o er

several extensions to the standard functions of HTTP engines which can b e used

to supp ort server-side development:

|Ecient execution of server-side programs that implement the business logic of

the Web application. Pro ducts di er in the development languages supp orted,

which commonly include C++, Java and scripting languages like Perl, Visual

Basic and JavaScript. Eciency is improved by replacing the Common Gateway

Interface CGI b etween the Web server and the application programs by means

of optimized proto cols and architectures, likeFastCGI http://www.fastcgi.com

and Java Servlets [Chang 1998].

|High p erformance client-server communication. Such capability may be based

on a comprehensive architecture for application distribution, on programming

language features, or on proprietary remote pro cedure calls. Rather than us-

ing HTTP, enabled clients maybypass the Web server and directly connect to

the application server using either op en proto cols, like Corba/I IOP and Java

RMI, or proprietary proto cols, like Microsoft's DCOM, Domino's Notes Remote

Pro cedure Calls NRPC, and Sybase's Jaguar CTS remote pro cedure calls.

|Optimized and extensible connection to multiple external data sources. This

functionality includes the p o oling of connections to a database across multiple

clients, the caching of result sets, and the p ossibility to extend the application

server with plug-in gateways to heterogeneous data sources likeEnterprise Re-

source Planning ERP and legacy systems examples of built-in gateway comp o-

nents and programmable to olkits are NetDynamics 4.0 Platform Adapter Com-

 25

p onents PACs and Domino Enterprise Connection Services DECS.

|Flexible and dynamic load balancing of client requests by means of automatic

replication of server functions. High-volume incoming trac may be dynami-

cally routed to multiple instances of server-side functions, implemented either

as separate threads of the application server, or as external pro cesses, p ossibly

residing on remote hosts. Dynamic redirection also enables transparent failure

handling: user's request for an unavailable service can be routed to a replica

of the same function, either dynamically spawned or statically instantiated at

system con guration time.

|Implementation of a secure infrastructure for b oth data and messages. Security

may b e granted bya variety of means: user logging and authentication over b oth

HTPP and non-HTTP connections  e.g., by supp orting the X.509 op en standard

certi cate format, or authentication via third party directories, message and

content encryption e.g., by supp orting the IETF Secure MIME standard and

RSA/RC2 cryptography, and password quality testing.

|Transactionality, i.e., the capability of p erforming atomic and recoverable trans-

actions over a single or multiple tiers. This feature, traditionally o ered by

distributed database servers and TP monitors, requires the application server to

implement write ahead logging and two-phase commit proto cols.

10.2 Search

The prop er design of structure and navigation normally results in Web sites with

a self-evident organization and consequently reduces the need of full-text searches

over the information base [Halasz 1988]. However, Web applications o ered to the

general public must also consider the needs of casual readers and of readers with

highly sp eci c interests, for which content search is the most e ectiveinteraction

paradigm.

Designing the search functions for a data-intensive Web site is an orthogonal

issue with resp ect to the design of structure, navigation and presentation, and is

supp orted either by ad ho c functions integrated into Web development to ols, or by

sp ecialized pro ducts, called search engines.

Examples of Web development to ols bundling integrated search functions are Hy-

p erwave which comes also with a separate commercial search engine and Lotus

Domino Designer. Among the numerous standalone search engines, we mention Ver-

ity Search97, Harvest, Op enText's LiveLink Search and Spider, Altavista Search,

QuarterDeck's WebCompass, and Excite for Web Servers.

Search engines basically consist of two main comp onents: a user interface and

query pro cessor, whereby users can p ose queries and obtain a ranked list of pages

whose content satis es the query; and an indexing comp onent also called spider

or crawler which creates and maintains indexes over the data sources.

The available commercial pro ducts di er on a variety of dimensions: the kind of

queries they supp ort keyword-based, b o olean, natural language, fuzzy; the cus-

tomizability of the display of results; the exibility of the index creation and main-

tenance pro cess e.g., the p ossibilitytoschedule the up dates of indexes di erently

for di erent data sources or to analyze di erent le formats; and the adherence

to the so called robot-exclusion standard,by whichwebmasters can deny access to

26 

crawlers at their sites.

For a broad review of commercial search engines and a comparison of their fea-

tures the reader may refer to [Lange 1997].

10.3 Groupware

Collab oration requirements a ect Web developmentisseveral ways, going from the

concurrent construction of a Web site by geographically distributed development

teams, to the provision of limited content editing and interaction functions directly

to end-users, to real-time interaction integrated intoaWeb site.

In the commercial market several to ols o er groupware capabilities, including

|concurrent access control via contentlocking and checkin/checkout pro cedures;

|distributed le systems for concurrent content upload;

|oine collab oration to ols like calendars, schedules, noti cation lists, and discus-

sion groups;

|real-time collab oration facilities, like virtual ro oms, white b oards, chats, and

video conference.

|full- edged work ow supp ort, including oine and online collab oration facilities

and work ow mo deling and implementation.

Example of design to ols supp orting collab orative development are Hyp erwave,

TeamSite, and Lotus Domino Designer. Pro ducts for the de nition of virtual work-

teams are reviewed in [Wong 1998], and a comprehensive survey of Web-enabled

work ow systems is contained in [Miller et al. 1997].

11. EVALUATION

Table 15 summarizes the features of the categories of Web development to ols de-

scrib ed in Sections 4 to 9, in the light of the p ersp ectives of Web development

discussed in Section 2. To complete this picture, develop ers mult also consider

middleware pro ducts, which address the enhancement of p erformance and security

and o er a platform for implementing advanced business logic, and search engines

and groupware to ols, which add sp ecialized functions orthogonal to the design pro-

cess.

The state of the practice summarized in Table 15 can be b etter understo o d if

compared with the current situations of mature software technologies, like ob ject-

oriented systems and databases see gure 16.

In these contexts, development to ols cover the entire sp ectrum of the application

lifecycle and approach development from the right angle: they exploit well estab-

lished abstractions suited to the sp eci c context, like the conceptual and logical

mo dels for database design, and the ob ject oriented notations for OO systems, and

followwell-proven development guidelines, like those describ ed in [Ceri et al. 1993]

for database design and in [Rumbaugh et al. 1991] for ob ject oriented design. Picto-

rially, mature to ols and approaches are represented as \light cones" that enlighten

the various phases of the development cycle, without crossing the b orders of their

target application eld.

The situation of Web development is di erent and typical of a not yet mature

technology it could be easily compared to the OO to ol market in the eighties:

 27

Visual Hyp er- Web- Form Multi- Mo del-

Editors media DBPL Editors paradigm driven

To ols Integrators To ols Generators

Life- Implement., Implement., Implement. Implement., Implement., Conceptual.

hierarchical design mainte- hierarchical design, cycle

Authoring implement., site nance site design, coverage

maintenance, in-the- link main- design, link debugging

reverse eng. large tenance, maintenance

debugging

Auto- Generation Generation Database Generation Generation Generation

mation of HTML of connection of HTML, of design of

HTML/Java query ship- HTML/Java database schemas,

ment, connection navigation

result commands,

formatting interfaces

Abstrac- Page, link, Authoring Table, page Form, Page, link, Entity,

tions presenta- metaphors elements rep ort, presenta- relationship,

tion style client-side tion style, mo dule, ta-

and server- form, table ble,

column, side control

collection,

link

Reuse Comp onents, Libraries, Page tem- Client-side Comp onents, Mo dules,

presenta- skele- plates, and server- presenta- prefer-

DBPL ences, col- tion styles tons, com- side tion styles,

units lections, p onents, templates comp onents

styles links

Default 2-tiers, 2-tiers, 3-tiers, 3-tiers, 3-tiers, 3-tiers,

Archi- static static dynamic dynamic dynamic dynamic

tecture

Supp ort Good Very good Interface Canned Good Prede ned

interfaces, to interfaces graphic graphic, neutral, graphic

low graphic usability control and naviga- proactiv- control and

control coherence tion, syn- coherence ity through

manual manual chroniza- triggers

and with tion control

templates manual

Fig. 15. Synopsis of the Di erent Categories of Web DevelopmentTo ols

28 

O O database web

Analysis Model-driven generators

Visual HTML Editors Hypermedia tools HTML- DBPL Design Integrators Form Editors Multi-paradigm tools

Implementation

Fig. 16. A Pictorial View of the State-of-the-Practice of Web DevelopmentTo ols

most pro ducts limit their fo cus to implementation, with some provision for design

as represented by the shorter \light cone" in gure 16; a few to ols are trying to

cover the lifecycle in a broader way, but do so by approaching development from

an innatural angle, typically using mo dels, abstractions, and pro cesses drawn from

other contexts. The \slanted" approach of these to ols and approaches is represented

by the light cone covering all the phases of development, but having an inclination

4

due to its origin from the database area.

12. RESEARCH PERSPECTIVES

Web application development has recently gained much attention not only in the

commercial eld but also in the research community, where several pro jects are

addressing the extension of the capabilities of site design to ols in various directions

and prop osing innovative design pro cesses and metho dologies.

In this Section we brie y review a numb er of pro jects whichhave prop osed so-

lutions for overcomening some of the limitations currently exp erienced by state-

of-the-practice commercial to ols: Araneus [Atzeni et al. 1997; Atzeni et al. 1998;

Atzeni et al. 1998], Autoweb [Fraternali and Paolini 1998], Strudel [Fernandez et al.

1998], Web Architect [Takahashi and Liang 1997], and W3I3 [Ceri et al. 1998].

The common denominator of such e orts is the goal of supp orting the activities

of data-intensiveWeb design from conceptualization to maintenance, by prop erly

distinguishing b etween the di erent dimensions of Web design, organizing the de-

velopment activities into a structured pro cess, and providing to ols for partially

automating rep etitive development tasks.

However, b eside such commonalities, each pro ject has its sp ecial fo cus and b est

addresses only some of the issues left op en in the currently available commercial

to ols.

4

A similar phenomenon to ok place in the early days of ob ject-orientation, when many prop osals

were put forth to adapt Structured Analysis / Structured Design concepts to ob ject oriented

implementation.

 29

Araneus Autoweb Strudel Web 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

Pro cess Automation

Generation of supp orting N Y N N Y

database

Generation of mapping to Y N N N Y

legacy databases

Generation of navigation Y Y N Y Y

structures

Generation of HTML pages Y N Y N N

from templates

Generation of HTML pages N Y N N Y

from abstract sp ecs

Mo delling Abstractions

Structure mo del Y Y Y Y Y

Derivation mo del N N Y N Y

Navigation mo del Y Y N Y Y

Page comp osition mo del Y N N N Y

Presentation mo del Y Y Y N Y

Reuse & Comp onents

Plug-in comp onents 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

Supp ort to Usability

Navigation uniformity N Y N Y Y

Presentation uniformity Y Y Y N Y

Usability guidelines N Y N N Y

Fig. 17. Synopsis of the Reviewed Research Pro jects in Data IntensiveWeb Development

In Table 17 we summarize the features of the various pro jects using the same

categories as for commencial to ols see Table 15, and in Table 18 we underline the

sp ecial fo cus and strong p oints of each pro ject.

For completeness, we conclude the overview of research e orts with a presenta-

tion of the background researchonWeb development, which has taken advantage

of contributions from several elds, among which hyp ermedia and databases are

prominent.

30 

Araneus Querying and restructuring of HTML-based sites

Full design metho dology

Orthogonal structure, navigation, comp osition and presentation

mo deling

To ol supp ort

Autoweb Full design metho dology

Orthogonal structure, navigation, and presentation mo deling

Relational representation of b oth data and meta-data

Full CASE supp ort

To ol-supp orted usability guidelines

Strudel Querying and restructuring of semistructured data

Declarative site de nition

WebArchitect Full design metho dology

Scenario-based mo deling

Role-based sp eci cation of content

To ol supp ort

W3I3 Full design metho dology

Orthogonal structure, derivation, navigation, comp osition and

presentation mo deling

User mo deling and pro ling

Adaptive b ehavior through Web business rules

Fig. 18. Advanced Features of the Reviewed Pro jects in Data IntensiveWeb Development

13. RESEARCH PROJECTS IN DATA INTENSIVE WEB DEVELOPMENT

13.1 Araneus

5

Araneus [Atzeni et al. 1997; Atzeni et al. 1998; Atzeni et al. 1998] is a pro ject of

Universit a di Roma Tre which fo cuses on the de nition and prototyp e implemen-

tation of an environment for managing unstructured and structured Web content

in an integrated way, called Web Base Management System WBMS. The WBMS

should allow designers to e ectively deploy large Web sites, integrate structured

and semi-structured data, reorganize legacy Web sites, and Web-enable existing

database applications.

On the mo deling side, Araneus stresses the distinction b etween data structure,

navigation, and presentation. In structure mo deling a further distinction is made

between database and hyp ertext structure: the former is sp eci ed using the Entity-

Relationship mo del, the latter using a notation that integrates structure and navi-

gation sp eci cation, called Navigation Conceptual Mo del NCM.

Conceptual mo delling is followed by logical design, using the relational mo del

for the structural part, and the Araneus Data Mo del ADM for navigation and

page comp osition. ADM o ers the notion of page scheme, a language-indep endent

page description notation based on such elements as attributes, lists, link anchors,

and forms. The use of ADM intro duces page composition as an indep endentmod-

eling task: the sp eci cation of data and page structure is orthogonal and therefore

di erent page schemes can b e built for the same data.

Presentation is sp eci ed orthogonally to data de nition and page comp osition,

5

The pro ject Web site is http://p oincare.inf.uniroma3.it:8080/Araneus/araneus.

 31

using an HTML template approach.

The development pro cess follows two tracks: database and hyp ertext. Database

design and implementation are conducted in the usual way using the Entity-Rela-

tionship Mo del and mapping it into relational structures. After that, the Entity-

Relationship schema is transformed into a NCM schema; this shift requires several

design activities. The next step, hyp ertext logical design, maps the NCM schema

into several page-schemes written in ADM. Finally, implementation requires writing

page-schemes as templates in the Penelop e language [Atzeni et al. 1997], which

sp eci es howphysical pages are constructed from logical page schemes and content

stored in a database, in a way similar to commercial template-based HTML-SQL

integrators.

Araneus includes several to ols to supp ort the automation of the ab ovementioned

design tasks. A sp eci c p oint to the Araneus pro ject is the integration into the

WBMS of languages and to ols for querying and restructuring HTML data, so that

the designer can deploy a new site, Web-enable a database application, and \reverse-

engineer" a legacy HTML site, all within one system.

Form the architecture viewp oint, Araneus o ers b oth static and dynamic page

generation.

Currently, the system do es not supp ort user pro ling and p ersonalization. Fi-

nally, no supp ort is o ered for event-based reactive pro cessing, except for the re-

computation of materialized pages following database and schema up dates.

13.2 Autoweb

6

Autoweb [Fraternali and Paolini 1998] is a pro ject develop ed at Politecnico di

Milano with the goal of applying a mo del-driven development pro cess to the con-

struction and maintenance of data intensiveWeb sites.

Autoweb consists of three ingredients:

|A Web mo deling notation called HDM-lite, which is an evolution of previous

hyp ermedia and database conceptual mo dels, sp eci cally tailored to the Web.

|Two transformation techniques, which address the mapping of conceptual schemas

into relational database structures, and the pro duction of application pages in

HTML and Java from data and metadata stored in the database.

|A set of design-time and run-time CASE to ols that completely automate the

design, implementation, and maintenance of a Web application.

The Autoweb conceptual mo del, called HDM-lite, includes primitives for the

indep endent sp eci cation of structure, navigation and presentation. Di erently

from other pro jects, presentation is sp eci ed at an abstract level totally indep endent

of the implementation language, and automatically mapp ed to HTML a protoyp e

implementation of the mapping to Java has also b een develop ed. This makes

presentation styles reusable across applications, as well as across di erent ob ject

typ es within the same site.

HDM-lite presently neither supp orts the orthogonal comp osition of the page,

whose content is inferred from the structure schema, nor a language for data deriva-

tion. An original feature of Autoweb is the storage into a relational DBMS not only

6

The pro ject Web site is http://www.ing.unico.it/autoweb

32 

of application data, but also of metadata ab out the navigation and presentation

schemas, which greatly enhances the p ossibility of quickly adapting the output

pages to the user's needs, even at run-time.

The main fo cus of Autoweb is the automation of the development pro cess. An

Autoweb application is constructed starting from an HDM-lite schema, with a to ol

called Visual HDM Diagram Editor; presentation sp eci cation is assisted by the Vi-

sual Style Sheet Editor to ol, which p ermits the designer to de ne presentation styles

applicable to conceptual ob jects in a WYSIWYG manner. The conceptual mo del

is automatically translated into the schema of a relational database for storing

application data, and into a metaschema database containing a relational represen-

tation of the site's structure, navigation and presentation. The site is p opulated

either by using an automatically constructed data entry application, pro duced by

the Autoweb Data Entry Generator, or by manually de ning a mapping b etween

the automatically generated relational schema and the schema of the pre-existing

database. As the last step, application pages are dynamically constructed from

database content and metadata by the Autoweb Page Generator, in such a way

that all the prescriptions of the conceptual mo del are enforced.

During such development pro cess, reuse happ ens at two levels: partially instan-

tiated application skeletons and abstract presentation sp eci cations.

Autoweb has a three-tiers architecture, featuring b oth static and dynamic page

generation. Dynamic generation is optimized by a exible caching systems, that

caches and refreshes pages of selected typ es based on user's requests.

A unique feature of Autoweb is the provision for interface design guidelines within

the design to ols: uniformityofnavigation and presentation is enforced by the design

and page generation to ols, at the level of b oth individual ob ject typ es and of the

entire application.

13.3 Strudel

7

Strudel is a pro ject of AT&T Labs [Fernandez et al. 1998], which aims at exp eri-

menting a novel way of developing Web sites based on the declarative sp eci cation

of the site's structure and content.

The core idea of Strudel is that of describing b oth the schema and the contentofa

site by means of a set of queries over a data mo del for semi-structured information.

Content is represented using the Uniform Graph Model, a graph-based data mo del

capable of describing ob jects with partial or missing schema. As a starting p oint

of the construction of a site, external data sources, e.g., HTML les or relational

databases, are translated by means of wrapp ers into the Strudel internal format. In

this way, it is p ossible either to restructure an existing HTML site or Web-enable

a legacy data rep ository.

Then, the design of a Web site requires writing one or more queries over the

internal representation of data, using the Strudel query language StruQL. Such

queries p ermit the designer to select the data to b e included in the site, and the

links and collections of ob jects to b e provided for navigation. In this way, Studel

separates the description of content from the de nition of the stucture and naviga-

tion of the site. Presentation is added as a separate dimension by means of HTML

7

The pro ject Web site is http://www.research.att.com/sw/to ols/strudel

 33

templates; these mix HTML presentation tags and sp ecial-purp ose tags, which are

b ound at HTML generation time to the ob jects resulting from the site de nition

queries. The templates determine the rendering of the site de nition queries in

HTML.

The sp eci cation of navigation is somewhat intertwined to structure and presen-

tation, b ecause navigable links and index collections are sp eci ed together with the

queries that de ne the site, and b ecause the structure of HTML pages and their

links dep end on the templates that describ e the presentation.

Presently, Strudel has a two-tiers static architecture, in which queries are evalu-

ated and transformed into HTML pages in advance. However, it could b e p ossible

to evalute queries and render their result dynamically.

The declarative de nition of structure and content by means of queries op ens

the way to p ersonalisation: di erent sites or di erentversions of the same site can

b e built on top of the same content simply bychanging the StruQL site de nition

queries.

13.4 Web Architect

WebArchitect [Takahashi and Liang 1997] is a pro ject aimed at developing metho ds

and to ols for the contruction of Web-Based Information Systems WBIS. The

authors prop ose a structured design pro cess that go es through the analysis, design,

construction and maintenance of a Web site.

Analysis includes b oth static and dynamic mo deling; the former is conducted with

the Entity Relationship Mo del, the latter requires the identi cation of scenarios, in

the tradition of ob ject-oriented mo delling [Jacobson 1994]. During ER mo deling,

entities are classi ed according to the di erent role they play in the de nition of the

site agent, pro duct, or event. Design is conducted in parallel to scenario analysis

and aims at pinning down the structure and navigation schema of the Web site.

Design results are represented using a variantof the Relation Management Data

Mo del by Isakowitz [Diaz et al. 1995], which incorp orates the roles of the entities

forming the Web site.

WBIS implementation and maintenance are supp orted byWebArchitect and Pi-

lotBoat. The former to ol supp orts the de nition of the structure and navigation

of the site, as well as the maintenance of metadata ab out the site's resources; the

latter is a client application p ermitting the user to browse an application based

on meta-links implementing the navigation semantics sp eci ed in WebArchitect.

Meta-links are navigable connections stored outside the application ob jects, which

are managed by extended HTTP engines supp orting the sp ecial-purp ose metho ds

LINK and UNLINK.

13.5 W3I3

8

W3I3 WWW Intelligent Information Infrastructure [Ceri et al. 1998] is a pro ject

of the W3I3 Consortium, a partnership of four Europ ean industries and one Aca-

demic institution, funded by the Europ ean Community. The goal of W3I3 is to

advance Web mo deling and development to ols for data intensiveWeb applications,

with a sp ecial fo cus on user pro ling, p ersonalization, and reactive b ehavior.

8

The pro ject Web site is http://w3i3.p olimi.it

34 

W3I3 mo deling distinguishes the ve p ersp ectives of structure, derivation, navi-

gation, page comp osition, and presentation, and includes mo dels and languages for

sp ecifying a site under these p ersp ectives.

The development pro cess stresses the automatic generation of application pages

from the conceptual mo del stored in a relational database, and content stored in

external structured or semi-structured data rep ositories.

The architecture is multi-tier: application content can b e distributed across dif-

ferent data rep ositories which are integrated into a global view of the site obtained

by mapping the conceptual schema into a relational representation.

A sp ecial feature of W3I3 is the integration of user mo deling and business rules:

users are explicitly mo deled through demographic and psycographic variables and

business rules are used to map users or user groups to p ersonal views of the site

computed dynamically.

Presently, W3I3 is in the implementation phase; a prototyp e version of b oth the

design to ols and the runtime environment supp orting site p ersonalization and Web

business rule has b een constructed using the Autoweb core technology.

14. BACKGROUND RESEARCH

Web design to ols and approaches owemuch to the debate on hyp ermedia mo delling

and design, semistructured data mo delling, and hyp ermedia development to ols pro-

p osed even prior to the advent of the Web. In the following Sections, we review

some of the most imp ortant contributions.

14.1 Mo deling Notations

Hystorically, most of the mo deling notations adopted by currentWeb development

metho dologies stem from the evolution and hybridation of previous conceptual mo d-

els for database and Hyp ermedia design.

The common ancestors of many subsequent prop osals are the Entity Relationship

Mo del [Chen 1976], in the database eld, and the Dexter Mo del [F.G.Halasz and

M.Schwarz 1994], in the Hyp ermedia area.

The Dexter Mo del originates from the e ort of providing a uniform termi-

nology for representing the di erent hyp ertext structuring primitives o ered by

hyp ertext construction systems; the core of the mo del is the ordered representation

of a hyp ertextual application at three levels: the storage, within-component, and

runtime level. The storage level describ es the network of no des and links of the

hyp ertext, without details on the inner structure and content of no des, whichisthe

fo cus of the within-comp onent layer. The runtime level deals with the dynamics

and presentation of the hyp ertext.

The mo deling concepts available at the storage level are very basic: components

describ e the pieces of information that constitute the hyp ertext, and can b e either

atomic or comp osite, and links are a sp ecial kind of comp onent, used to represent

navigable paths. Although not conceived for hyp ertext design, the Dexter Mo del

advo cated many concepts, like the distinction between the structure, navigation,

and presentation of a hyp ertext, whose in uence has b een long-lasting.

Several subsequent contributions started from a criticism of the Dexter Mo del,

and added more complex forms of hyp ertext organization and more p owerful naviga-

tion primitives [Garzotto et al. 1993], time and multimedia synchronization features

 35

[Hardman et al. 1994], formal semantics of navigation, and a structured design pro-

cess [Isakowitz et al. 1995]. Among these evolutions, HDM [Garzotto et al. 1993]

and RMM [Isakowitz et al. 1995] have b een particularly in uential on the design of

Hyp ermedia applications.

HDM and its variants [Schwab e et al. 1992; Garzotto et al. 1993; F.Garzotto

et al. 1991; F.Garzotto et al. 1993] shifted the fo cus from hyp ertext data mo dels

as a means to capture the structuring primitives of hyp ertext systems, to hyp er-

text mo dels as a means for capturing the semantics of a Hyp ermedia application

domain. HDM integrates features of the Entity Relationship Mo del and of the

Dexter Mo del, to obtain a notation for expressing the main abstractions of a Hy-

p ermedia application, their internal structure and navigation, and application-wide

navigation requirements. Web structure is expressed by means of entities, sub-

structured into a tree of comp onents. Navigation can b e internal to entities along

part-of links, cross-entity along generalized links, or non-contextual using access

indexes, called collections [Garzotto et al. 1994].

RMM Relationship Management Metho dology [Isakowitz et al. 1995] evolves

HDM byemb edding its Hyp ermedia design concepts into a structured metho dology,

splitting the development pro cess into seven distinct steps and giving guidelines for

the involved tasks. RMM's data mo del called RMDM structures domain entities

into slices, and organizes navigation within and across entities using asso ciative

relationships and structural links.

Most of the recent prop osals for Web mo deling are built on top of the Entity

Relationship Mo del and of Hyp ermedia design mo dels notably HDM and RMM,

adapted to the sp eci city of the Web context: Araneus and WebArchitect draw

from RMM and the Entity-Relationship mo del, Autoweb and W3I3 have prop osed

aWeb-sp eci c evolution of concepts rst prop osed by HDM.

Finally, another source of inspiration to Web mo deling comes from the research

on the representation and querying of semi-structured data, i.e., data with partial

or missing schema. The prop osed data mo dels, thoroughly reviewed in [Florescu

et al. 1998], express Web contentby means of relations, lab eled graphs, hyp ertrees

and logic. Araneus and Strudel are examples of Web content management systems

based on semi-structured data mo dels and query languages.

14.2 Pro cesses

Web development pro cesses haveevolved in parallel to Web design notations and

have the same hybrid origin from the Information System and Hyp ermedia elds.

In Hyp ermedia, the evolution from the creative de nition of content to the

content-indep endent organization of the structure of a Hyp ermedia application is

attributed to the work on HDM [F.Garzotto et al. 1993], which stresses the di er-

ence b etween authoring in the large, i.e., designing general structure and navigation,

and authoring in the small, i.e., deciding the layout and synchronization asp ects of

sp eci c comp onenttyp es.

HDM, however, did not prescrib e a formal development lifecycle, whichwas rst

advo cated by RMM [Isakowitz et al. 1995], where the seven activities of Entity

Relationship design, slice design, navigation design, conversion protocol design, in-

terface design, behavior design, and implementation and testing are prop osed as

a standard pro cess. The rst three activities provide a conceptualization of the

36 

Hyp ermedia application domain in terms of entities, substructured into slices, and

navigable relationships. Conversion proto col design is a technical activity which

de nes the transformations to b e used for mapping the conceptual schema into im-

plementation structures. In addition to de ning the development lifecycle, RMM

also gives guidelines for slice and navigation design, the two tasks most particular

to Hyp ermedia design.

OOHDM [Schwab e and Rossi 1995] takes inspiration from ob ject-oriented mo d-

eling and simpli es the RMM lifecycle to only four steps: domain analysis, nav-

igation design, abstract interface design, and implementation. In domain design,

classical ob ject-oriented techniques are used, instead of the Entity Relationship

Mo del. Navigation design adds sp eci c classes e.g., no de, link, index to represent

di erent forms of navigation. The same is done for presentation, which is describ ed

by means of classes e.g., button, text eld added during interface design. Im-

plementation then eshes out the classes identi ed during design with co de in the

implementation language of choice.

In the Web context, most metho dological prop osals concentrate on visual design

and usability criteria [Sano 1996], much as in the Hyp ermedia eld authoring guide-

lines were the rst concern of development. The requirement of application scale-up

drives the most recent contributions, like Araneus, Autoweb, Web Architect, and

W3I3, which organize the development pro cess into activities drawn b oth from the

ab ove mentioned Hyp ermedia metho dologies and from traditional ob ject-oriented

and database design metho ds.

14.3 Other Design To ols

Beside the pro jects describ ed in Section 13, other research e orts have conducted

to the development of prototypeofhyp ermedia and Web design to ols.

RMC [Diaz et al. 1995] gives CASE supp ort to the design and implementation

phases of the RMM metho dology. It consists of a diagram editor, which assists the

input of RMDM schemas, and of a co de generator, which outputs HTML pages

from data stored in an internal rep ository. Pages are pro duced oine in a pre-

compiled fashion. RMC is not based on a database architecture and thus do es not

provide facilities for scaling-up and up dating the information base.

HSDL [Kesseler 1995] has an architecture similar to RMC, but starts from a

HDM-like design mo del, augmented to supp ort a ne-grain p ersonalization of nav-

igation and presentation semantics. HSDL ob jects are annotated by means of

programs in a scripting language, called expanders, which drive the pro duction of

HTML pages. Expanders can be attached b oth to schema elements and to in-

stances, to provide uniformity and exception handling at the same time. Expander

programming, although p owerful, is a low-level task which resembles the program-

ming of page templates in Web-DBPL integrators. The di erence is that HSDL,

like RMC, do es not rely on database technology to store the application content,

but has an internal rep ository.

15. CONCLUSIONS

Although the present situation of the market of Web development to ols is charac-

terized by a substantial overlap b etween the di erent classes of pro ducts despite

some di erence in the level of maturity, an attempt can be done to identify a

 37

Visual Hyp ermedia Web- Form Multi- Mo del-

editors to ols DBPL editors paradigm driven

generators integrators to ols

Small X X X

Scale Business

to Customer

Business to X X X X

Business

Large X X

Scale Business

to Customer

Fig. 19. A Match Between Categories of Web DevelopmentTo ols and Typ es of Applications

plausible choice based on the application requirements. Figure 19 summarizes the

adequacy of each pro duct category to a sp eci c kind of application:

|Small scale business-to-user applications: this category includes such applica-

tions as companies' p oints of presence, training and education, info centers, and

so on. Last-generation visual editors and site managers category 1 seem the

appropriate solution, b ecause they ensure the high level of visual accuracy and

customization necessary for application targeted to the general public, coupled to

pro ductivity to ols substantially reducing the development e ort. This role could

b e undermined in the near future by Hyp ermedia authoring to ols category 2,

which share the same fo cus on presentation quality and are even more e ective

in the design of navigational and multimedia interfaces. The current limit to the

applicability of b oth these classes of solutions is the size and volatility of the in-

formation base; if this has to b e kept in a database, then presently these to ols do

not provide the adequate means to integrate databases and the Web for design,

implementation and maintenance. In this case, multi-paradigm to ols category

5 may b e a b etter choice.

|Intra-business or business-to-business applications: this category comprises all

legacy information systems and EDI applications and is characterized by a di er-

ent kind of users, already trained to the transactional and form-based interaction

paradigm. In the present situation, Web form editors and database publishing

wizard category 4 and mo del-driven generators category 6 o er a powerful

opp ortunity for migrating existing applications to Intranets, and this technical

advantage largely balances the limited exploitation of the communication capa-

bilities of the Web. However, novel intra- and inter-business applications are

emerging for example, Hyp ermedia for technical do cumentation and computer

based training which demand the integration of large masses of data, hyp ertex-

tual multimedia interfaces, and deployment on the Web. The gradual intro duc-

tion of these applications may promote the evolution of the interaction paradigm

for conventional information systems as well.

|Large scale business-to-user applications: this is the most challenging area, com-

prising such applications as electronic commerce, virtual libraries, and all sorts

of Internet services. Presently, it seems that no sp eci c pro duct or class of pro d-

ucts is fully addressing the analysis, design, implementation and evolution of this

38 

kind of applications, which require the same communication paradigm and inter-

face quality as small scale user-oriented applications and the same p erformance

and scalability as client-server database applications. In this scenario, neutral,

implementation-oriented pro ducts likeWeb-DBPL integrators category 3 and

exible, multi-paradigm to ols category 5 seem the most adequate choice, al-

though development and maintenance with these to ols still require a substantial

co ding e ort. We are convinced that the b est of these to ols can be obtained

by using them in conjunction with a mo del-driven development approach, based

on design notations and pro cesses like the ones describ ed in the previous Sec-

tion; after the supp orting database has b een designed, visual page designers and

Web-DBPL integrators can b e used to generate the application's physical pages.

As several research pro jects are demonstrating, large scale Web applications have

more dimensions than the mere structure of the underlying database, which prompt

for a refo cusing of the existing conceptual mo dels and software development pro-

cesses, to achieve the level of maturity of a consolidated software eld.

REFERENCES

Atzeni, P., Mecca, G., and Merialdo, P. Aug. 26-29, 1997. To Weave the Web. In

M. Jarke, M. J. Carey, K. R. Dittrich, F. H. Lochovsky, P. Loucopoulos, and

M. A. Jeusfeld Eds., Proc. 23rd ConferenceonVery Large Databases Athens, Greece,

Aug. 26-29, 1997, pp. 206{215.

Atzeni, P., Mecca, G., and Merialdo, P. March, 1998. Design and Maintenance of Data

Intensive Web Sites. In H.-J. Schek, F. Saltor, I. Ramos, and G. Alonso Eds., Proc.

Int. Conf. on Extending Database Technology, EDBT98 Valencia, Spain, March, 1998,

pp. 436{450.

Atzeni, P., Mecca, G., Merialdo, P., Masci, A., and Sindoni, G. June, 1998. The

Araneus Web-Base Management System. In L. M. Haas and A. Tiwary Eds., Proc. Int.

Conf. Sigmod'98, Exhibits Program Seattle, June, 1998, pp. 544{546.

Bachiochi, D., Berstene, M., Chouinard, E., Conlan, N., Danchak, M., Furey, T.,

Neligon, C., and Way, D. 1997. Usability Studies and Designing Navigational Aids

for the World Wide Web. In Proc. Sixth Int. WWW Conf. Santa Clara, California, 1997.

Barnes, H. and Gwyer, M. 1996. Designer/2000 Web enabling your applications, Oracle

white pap er. Technical rep ort March., Oracle Corp oration.

Benda, M. Ed. 1998. Internet Architecture,Volume 2 of IEEE Internet Computing 1998.

Biggerstaff, T. and Perlis, A. J. 1989. Softwareresusability: Models and Approaches.

ACM Press.

Ceri, S., Batini, C., and Navathe, S. 1993. Conceptual Database Design. Benjamin Cum-

mings, Menlo Park CA.

Ceri, S., Fraternali, P., Paraboschi, S., and Pozzi, G. 1998. Consolidated Sp eci cation

of WWW Intelligent Information Infrastructure W3I3. Technical rep ort, Politecnico di

Milano Dipartimento di Elettronica e Informazione.

Chang, P. I. 1998. Inside the Java Web Server: An Overview of Java Web Server

1.0, Java Servlets, and the JavaServer Architecture. Technical rep ort, JavaSoft.

http://java.sun.com/features/1997/aug/jws1.html.

Chen, P. P. 1976. The entity-relationship mo del: toward a uni ed view of data. ACM

TODS 1, 1, 9{36.

Diaz, A., Isakowitz, T., Maiorana, V., and Gilabert, G. 1995. RMC: A to ol to design

WWW applications. In Proc. Fourth Int. WWW Conf. Boston, Mass., 1995, pp. 11{14.

Fernandez, M. F., Florescu, D., Levy, A. Y., and Suciu, D. June, 1998. Catching the

b oat with strudel: Exp eriences with a web-site management system. In L. M. Haas and

A. Tiwary Eds., Proc. Int. Conf. Sigmod'98 Seattle, June, 1998, pp. 414{425.

 39

F.Garzotto, Paolini, P., and Schwabe, D. 1991. HDM, a Mo del for the Design of Hy-

p ertext Applications. In Proc. ACM Hypertext Conf. HT'91 San Antonio, Texas, 1991,

pp. 313{328.

F.Garzotto, P.Paolini, and D.Schwabe. 1993. HDM-A mo del-based approachtohyp er-

text application design. ACM TOIS 11, 15, 1{26.

F.G.Halasz and M.Schwarz. 1994. The Dexter Hyp ertext Reference Mo del. Communica-

tions of the ACM 37, 2, 30{39.

Florescu, D., Levy, A., and Mendelzon,

A. 1998. Database techiques for the world-wide web: a survey. SigmodRecord 27,3

Septemb er. http://www.acm.org/sigmo d/record/issues/9809/ orescu.ps.

Fraternali, P. and Paolini, P. March, 1998. A Conceptual Mo del and a To ol Envi-

ronment for Developing More Scalable and Dynamic Web Applications. In H.-J. Schek,

F. Saltor, I. Ramos, and G. Alonso Eds., Proc. Int. Conf. on Extending Database

Technology, EDBT98 Valencia, Spain, March, 1998, pp. 421{435.

Garg, P. K. 1988. Abstractions mechanisms in hyp ertext. Communications of ACM 31,7,

862{870.

Garzotto, F., Mainetti, L., and Paolini, P. 1993. HDM2: Extending the E-R Approach

to Hyp ermedia Application Design. In R. Elmasri, V. Kouramajian, and B. Thalheim

Eds., Proc. 12th Int. Conf. on the Entity Relationship Approach, ER'93 Dallas, Texas,

1993, pp. 178{189.

Garzotto, F., Mainetti, L., and Paolini, P. 1994. Adding Multimedia Collections to

the Dexter Mo del. In Proc. ECHT'94 Edinburgh, Scotland, 1994, pp. 70{80.

Garzotto, F., Mainetti, L., and Paolini, P. 1995. Hyp ermedia Design, Analysis and

Evaluation Issues. Communications of the ACM 38, 8, 74{86.

Gwyer, M. 1996. Oracle Designer/2000 WebServer Generator Technical Overview version

1.3.2. Technical rep ort Sept., Oracle Corp oration.

Halasz, F. G. 1988. Re ections on Notecards: Seven issues for the next generation of

hyp ermedia systems. Communications of ACM 31, 7 July, 836{852.

Hardman, L., Bulterman, D., and van Rossum, G. 1994. The Amsterdam Hyp ermedia

Mo del: Adding time and context to the Dexter Mo del. Communications of the ACM 37,2,

50{62.

Horton, W., Taylor, L., Ignacio, A., and Hoft, N. L. 1996. The Web Page Design

Cookbook. John Wiley & Sons.

Hoven, I. V. 1997. Deploying Develop er/2000 applications on the Web, Oracle white pap er.

Technical rep ort Feb., Oracle Corp oration.

Hyp erwave Information Management. 1998. Hyperwave User's Guide, Version 4.0. Munich,

Germany: Hyp erwave Information Management.

Isakowitz, T., E.A.Sthor, and P.Balasubranian. 1995. RMM: a metho dology for struc-

tured hyp ermedia design. Communications of the ACM 38, 8, 34{44.

Jacob, R. 1982. Using formal sp eci cations in the design of a human-computer interface.

In Proc.of Human Factors in Computer Systems, Using Formal Grammar to Aid Interface

Design Gaithersburg, Maryland, 1982, pp. 315{321.

Jacobson, I. 1994. Object-Oriented Software Engineering : A Use Case Driven Approach.

Addison Wesley.

J.Nanard and M.Nanard. 1995. Hyp ertext design environments and the hyp ertext design

pro cess. Communications of the ACM 38, 8, 45{46.

Kesseler, M. 1995. Aschema-based approach to HTML authoring. In Proc. Fourth Int.

WWW Conf. Boston, Mass., 1995.

Lange, A. 1997. Sorting through Search Engines. Web Techniques Magazine 2, 6 June.

http://www.webreview.com/97/06/13/webtech/index .html.

Madsen, K. H. and Aiken, P. H. 1993. Exp eriences Using Co op erativeInteractive Story-

b oard Prototyping. Communications of ACM 36, 6, 57{64.

Microsoft Corporation. 1996. The Distributed Common Ob ject Mo del. Technical re-

p ort, Microsoft Corp oration, Redmond, Wash.

40 

http://www.microsoft.com/workshop/comp onents/contents.htm.

Miller, J., Sheth, A., Kochut, K., and Palaniswami, D. 1997. The future of web-

based work ows. In Proc. of the International Workshop on Research Directions in Process

Technology Nancy,France, 1997.

Montgomery, J., Foody, M., and Pompei, J. 1997. Sp ecial rep ort: Networked comp o-

nents. Byte 22,4.http://www.byte.com/art/9704/sec8/sec8.htm.

Myers, B. A. 1995. User interface software to ols. TOCHI 2, 1, 64{103.

Myers, B. A., Holland, J. D., and Cruz, I. F. 1996. Strategic Directions in Human

Computer Interaction. ACM Computing Surveys 28, 4 Dec., 794{809.

Nielsen, J. 1995. Hypertext and Hypermedia: the Internet and Beyond. Academic Press.

Nielsen, J. 1996. Computer Science and Engineering Handbook, Chapter Usability Engi-

neering. CRC Press.

Object Management Group. 1996. The common ob ject request broker: Architecture

and sp eci cation{revision 2.0. Technical rep ort, Ob ject Management Group, Framingham,

Mass. http://www.omg.org/corba/corbiiop.htm.

Rumbaugh, J., Blaha, M., Premerlani, W., Eddy, F., and Lorensen, W. 1991. Object-

OrientedModeling and Design. Prentice-Hall.

Sano, D. 1996. Designing Large Scale Web Sites: A Visual Design Methodology. John

Wiley & Sons.

Schwabe, D., Caloini, A., Garzotto, F., and Paolini, P. 1992. Hyp ertext development

using a mo del-based approach. SoftwarePractice and Experience22, 11, 937{962.

Schwabe, D. and Rossi, G. 1995. The ob ject-oriented hyp ermedia design mo del. Commu-

nications of the ACM 38, 8, 45{46.

Stotts, P. and Furuta, R. 1989. Petri-net Based Hyp ertext: Do cument Structure with

Browsing Semantics. ACM Transactions on Oce information Sytems 7, 1, 3{29.

Sun Microsystems. 1995. Remote Metho d Invo cation Sp eci cation. Technical rep ort, Sun

Microsystems, Mountain View, Calif.

http://www.javasoft.com/pro ducs/jdk/1.1/guide/rmi/sp ec/rmiTOC.do c.html.

Takahashi, K. and Liang, E. 1997. Analysis and Design of Web-based Informations Sys-

tems. In Proc. Sixth Int. WWW Conf. Santa Clara, California, 1997.

Wong, W. 1998. Team-Building on the Fly. Byte 23, 2 February.

http://www.byte.com/art/9802/sec10/art1.htm.

World Wide Web Consortium. 1998a. Cascading Style Sheets Level 2 Sp eci cation. Tech-

nical rep ort May, World Wide Web Consortium. http://w3c.org/TR/REC-CSS2.

World Wide Web Consortium. 1998b. The Do cument Ob ject Mo del DOM

Level 1 Sp eci cation. Technical rep ort Octob er, World Wide Web Consortium.

http://www.w3.org/TR/REC-DOM-Level-1/.

Zheng, Y. and Pong, M. 1992. Using Statecharts to Mo del Hyp ertext. In D. Lucarella

Ed., Proc. ECHT92 Milan, Italy, Decemb er 1992, pp. 242{250.

 41

APPENDIX

List of URLs of Reviewed Pro ducts alphab etic order

1.Access97, Microsoft, http://www.microsoft.com/access/

2.Altavista Search, Digital, http://www.altavista.software.digital.com/search/index.htm

3.ASP, Microsoft, http://www.microsoft.com/iis/LearnAb outI IS/ActiveServer/default.asp

4.Authorware, Macromedia, http://www.macromedia.com/software/authorware

5.Backstage Designer, Macromedia, http://www.macromedia.com/software/backstage

6.Cold Fusion, Allaire Inc., http://www.allaire.com/pro ducts/ColdFusion/31

7.Crystal Rep ort Print Engine, Seagate, http://www.crystalinc.com/crystalrep orts/

8.Delphi Client/Server Suite, Inprise, http://www.inprise.com/delphi

9.Data Director 1.0, Informix, http://www.informix.com/pro ducts/to ols/datadir

10.Designer 2000, Oracle, http://www.oracle.com/pro ducts/to ols/des2k/collateral/wwwgen.p df

11.Develop er 2000, Oracle, http://www.oracle.com/pro ducts/to ols/dev2k/index.html

12.Director, Macromedia, http://www.macromedia.com/director

13.Domino Designer R5, Lotus, http://www.lotus.com/home.nsf/tabs/r5preview4

14.Drumb eat 2.0, Elemental Software, http://www.drumb eat.com

15.Excite for Web Servers, Excite, http://www.excite.com/navigate/home.html

16.Formula Graphics97, Formula Graphics, http://www.formulagraphics.com/

17.FrontPage98, Microsoft, http://www.microsoft.com/frontpage

18.Fusion, NetOb jects Inc., http://www.netob jects.com/html/nof.html

19.HahtSite, HAHT Software, http://www.haht.com/

20.Harvest, Harvest, http://harvest.transarc.com

21.Home Page, Claris, http://www.claris.com/pro ducts/claris/clarispage/clarispage.html

22.HotMetal Pro, SoftQuad, http://www.softquad.com/pro ducts/hotmetal

23.Iconauthor, Aimtech, http://www.aimtech.com/iconauthor

24.IDC, Microsoft, http://www.microsoft.com/msoce/develop er/access/articles/itk/Idcfaq.htm

25.IntraBuilder, Borland, http://www.b orland.com/intrabuilder

26.Jaguar, Sybase, http://www.sybase.com/pro ducts/jaguar/

27.LiveLink Search and Spider, Op enText, http://www.op entext.com/livelink/

42 

28.NetDynamics 4.0, NetDynamics, www.netdynamics.com/pro duct/overview/nd400 overview.html

29.Oracle 8i, Oracle, http://www.oracle.com/pro ducts/oracle8i

30.Persp ecta, Persp ecta, http://www.p ersp ecta.com

31.Page Mill/Site Mill, Adob e, http://www.adob e.com/

32.PL/SQL Web DevelopmentTo olkit, Oracle, http://www.oracle.com

33.PowerBuilder, Sybase, http://www.sybase.com/pro ducts/p owerbuilder

34.Quest, Allen Communication, http://www.allencomm.com/p&s/software/quest/

35.StoryServer, Vignette, http://www.vignette.com/PressKit/Pro ductOverview.p df

36.Sup erCede, Asymetrix, http://www.sup ercede.com/pro ducts/sup ercede/db details.html

37.Teamsite, Interwoven, http://www.interwoven.com

38.To olb o ok I I Instr., Asymetrix, http://www.asymetrix.com/pro ducts/to olb o ok2/instructor/

39.To olb o ok Assistant, Asymetrix, http://www.asymetrix.com/pro ducts/to olb o ok2/assistant

40.Verity Search 97, Verity,http://www.verity.com

41.VisiBroker for Java, Inprise, http://www.inprise.com/visibroker

42.Visual Basic 5.0, Microsoft, http://www.microsoft.com/vbasic

43.Visual InterDev, Microsoft, http://www.microsoft.com/vinterdev/

44.Visual JS, Netscap e, http://develop er.netscap e.com/library/do cumentation/visualjs/vjs.html

45.WebCompass, Quarterdeck, http://arachnid.qdeck.com/qdeck/pro ducts/wc2 0

46.Web Data Blade, Illustra/Informix, http://www.informix.com

47.WebOb jects, Apple, http://software.apple.com/web ob jects