Document

Transcription

Document
WebML Application Frameworks:
a Conceptual Tool for Enhancing Design Reuse
Stefano Ceri, Piero Fraternali, Maristella Matera
Dipartimento di Elettronica e Informazione – Politecnico di Milano
P.zza L. da Vinci, 32 – 20133 – Milano – Italy
{ceri, fraterna, matera}@elet.polimi.it
ABSTRACT
WebML is a high-level language for specifying the content structure of data-intensive Web applications, and the
organization and presentation of such content through a hypertext structure. This paper concentrates on the
conceptual design of structural schemas and hypertexts, which represents the core aspect of the WebML design
process. In particular, the paper introduces a set of WebML skeletons, i.e., abstract and simplified versions of
structural and hypertext schemas that are recurrent within Web applications. Then, it shows how skeletons can
be composed to obtain several WebML application frameworks, which provide a classification of Web sites from
the viewpoint of their predominant information-delivery mission (or business model). WebML skeletons and
frameworks can be assumed as the initial start-point of design sessions, as well as paradigms for better
understanding and classifying data-intensive Web applications.
KEYWORDS
Model-Driven Web Design, Web Design Skeletons, Web Application Frameworks.
1. INTRODUCTION
Designing data-intensive Web applications is the critical success factor for many enterprises entering into the so-called
“new economy”. More and more the enterprises’ business activities need to be advertised on-line via the Web. Therefore,
we are assisting to an impressive – both qualitatively and quantitatively - growth of Web sites whose main purpose is to
offer a simplified and effective access to information, and whose pages are generated, either statically or dynamically, from
content stored in the enterprise’s data sources.
This paper addresses the design of data-intensive Web applications by proposing a model-driven approach, based on Web
Modeling Language (WebML). WebML is a high-level language for specifying the content structure of Web applications
and the organization and presentation of such content in a hypertext [1]. WebML provides high-level abstractions to model
Web applications, and a CASE environment able to translate the high-level WebML specification into concrete mark-up
languages, and map the abstract reference to content elements inside pages into data retrieval instructions in some serverside scripting language. This makes it easier to master the complexity of application design, deployment and evolution.
The WebML conceptual design relies on the use of application frameworks, skeletons, and refinement primitives, as tools
for reusing design experience and already tested solutions at different levels of abstraction. Application frameworks capture
the design decisions that are common to a category of Web sites, and provide a reusable design for that category. They are
based on skeletons, i.e., recurrent content and hypertext schemas used by data-intensive Web sites. Skeletons are specialized
into application frameworks by distinguishing Web applications into few classes on the basis of their “information-delivery
mission”. They serve the purpose of identifying initial and/or general solutions to be adopted, but at the same time offer a
powerful mechanism for understanding and classifying the way in which information is produced by data-intensive Web
sites. Refinement primitives support the progressive and parallel refinement of the initial WebML schemas, until the
evolving prototype meets certain quality factors and guarantees the satisfaction of the initial requirements. A general
account of the WebML method is given in [2].
Due to space limitations, this paper focuses on WebML skeletons and application frameworks. In particular, Section 2
provides a short introduction to WebML, hereby included to make the paper self-contained; more information is available at
http://webml.org and in [1]. Section 3 describes the core WebML design process and shows how skeletons and frameworks
are used. Then, Section 4 presents WebML skeletons, while Sections 5 introduces the application frameworks defined for
classes of Web sites. Section 6 finally draws the conclusions.
2. WEBML IN A NUTSHELL
According to WebML, the design of a Web site consists of two basic and orthogonal perspectives:
Direct Unit
Book
BookToAuthor
Author
Book Page
Edition
Book Data
Author Data
Book
Author
Edition Index
BookToEdition
a)
Edition Page
Editon Data
Edition
b)
Figure 1: Example of structural schema (a), and the correspondent site view (b).
•
Structure Design, which refers to the data content of the site. Data organization is described in terms of the relevant
entities and relationships expressed by means of the E/R model. To permit the description of redundant information,
WebML incorporates a simple query language for writing derivation queries, inspired to OQL.
•
Site View Design, which enables the definition of one of more hypertexts. Each site view expresses the way in which
content is organized within pages and smaller units (composition model), and how such content is linked together to
constitute a hypertext (navigation model).
Figure 1a shows a graphic representation of a structural schema, describing a simplified data source underlying a site for
supporting the sale of books. Each Book is available in one or more Editions; moreover, it is also associated to its Author.
Although the graphic notation is very simple, WebML concepts include the obvious semantic properties of entities and
relationships, such as typed attributes and cardinality constraints.
Site views are based upon three abstractions: units, links, and pages.
•
Units are the smallest containers for information delivery, and enable the description of entities (data units) or sets of
entities (multidata units), as well as the extraction of one entity out of a set of related entities by means of keywords
(index units), by scrolling the elements one-by-one (scroller units), or by using a search predicate for extracting them
(filter units); one entity can be directly reached when it is related to a single entity (direct units).
•
Pages represent the abstraction of a self-contained region of the screen treated as an independent interface block (e.g.,
delivered to the user independently and in one shot). Examples of concrete implementations of the abstract concept of
page in specific languages may be a page or a frame in HTML or a deck in WML.
•
Links connect units and pages, thus forming a site view; links can connect units in a variety of legal configurations,
yielding to composite navigation mechanisms. Links between units are called contextual because they carry some
information (called context) from the source unit to the destination unit; in contrast, links between pages are called non
contextual. Some links may activate operations.
Figure 1b shows a fragment of a site view, which features a page showing a book (data unit), its (direct) connection to its
(first) author, and the list of the available editions (index unit). A contextual link leads from the edition index unit to a given
edition, placed on a distinct page.
WebML also offers data entry units, for collecting input values into fields, and operations units for invoking generic
external operations implemented by externally available Web services, or for managing and updating built-in content (e.g.,
creating, deleting or modifying an instance of an entity, or adding or dropping a relationship between two instances) [3].
More information about the semantics of units, links, and pages in WebML can be found at http://webml.org and in [1].
3. THE WEBML CORE DESIGN PROCESS
A typical WebML design process consists of different incremental phases, from the requirement collection to the
deployment and evolution, to be iteratively executed. Out of the entire process, we here concentrate on the conceptual
design of structural schemas and of hypertexts, i.e., on the core aspects of the WebML design process, which evolves
through the production and the iterative revision of the deliverables illustrated in Figure 2. The process is conducted for
each site view. Although several site views can be developed out of the same content, typically one of them plays a
predominant role and its design exposes most structural requirements.
Mockup
Structure
Model
Skeleton
Refined
Structure
Model
Site View
Skeleton
Refined
Site
View
Running
Prototype
Population &
Presentation
Default
Figure 2: Deliverables of the WebML core design process.
The input to the design process is a set of usage requirements and scenarios, possibly incarnated by one or more interface
mockups (e.g., static HTML pages), resulting from the interaction with the users during requirements collection. Mockups
can be easily built with the WebML tools, or also with any fast prototyping tool for Web pages.
The mock-up input is thus used to shape-up a first skeleton of the structural model. As shown in the following section, we
believe that very few skeletons explain most of the data-intensive Web applications, and that therefore this step reduces in
most cases in the understanding of the appropriate skeleton (or the appropriate combination of skeletons) to be assumed as
start-point. Such initial solutions can be progressively extended and refined by applying refinement primitives [2]. They are
design patterns, providing established solutions to problems that may occur in different contexts [4]. Therefore, the design
process goes on through the parallel revision of the structure and site view model, which feedback each other. Each phase is
repeated and refined until results meet the system requirements collected during the initial phase. Moreover, at each
intermediate step in the design process, conformity with the user specification is checked by the use of rapid prototypes. For
this end, WebML incorporates default presentation and default content production rules needed to deliver a running
application on test data from the structure schema and site view specification. This work should not be confused with
presentation design or content mapping, which are performed later in the development process.
4. WEBML SKELETONS
From the structural point of view, Web site design can involve two main dimensions:
•
Information Access, i.e., the way the core content of the Web site can be accessed. As better shown in the following, in
WebML this dimension is characterized by some topologies of the structural model, which then affect the site view
organization.
•
Content Management, i.e., the availability of operations on data, which modify the Web site information content. Such
operations generally allow users to create, update or eliminate instances of entities and relationships. In WebML, this
dimension has impact especially on the site view organization.
For each one of these two dimensions, we have defined WebML skeletons (structural schema and site views) that can be
adopted as basic solutions.
4.1. Information Access Skeletons
When the prevalent function of Web sites is to provide access to a given information content, it is generally possible to
identify a core content, i.e., the information objects that must be accessed through the Web site, and a context content, i.e.,
the information objects representing (different levels of) categorizations defined over the core objects for enabling their
selection through navigation. Core concepts are at the center of the schema and context content surround them, thus forming
a star schema. We have noticed an important similarity between this organization and the star schema featured by data marts
in data warehouses: the distinction between core and context information is similar to the distinction between facts and
dimensions of a data mart.
In some cases, a non-contextual access may also be defined, by means of search mechanisms that allow users to get directly
to the core content by specifying search predicates, without needing to navigate through contextual paths.
Depending on the organization given to the core content and to the access dimensions, it is possible to identify three
different skeletons of structural schema and site views, described in the following.
4.1.1. Network Skeleton. In this case the core content is made of a variable number of objects, which are fully connected to
each other by means of relationships, forming a network. Figure 3a reports the structural skeleton. The center of the schema
is composed of three entities, which correspond to the most relevant information objects. The entities external to the
network provide the context information. They may correspond to (different levels of) categories defined over each central
a)
b)
Figure 3: Structural schema (a) and site view (b) for the Network skeleton.
object, introduced with the principal aim of facilitating the contextual access to its instances. Figure 3b reports the site view
skeleton, which specifies the hypertext for navigating through the information content. It is characterized by having a page
for each one of the entities in the network. Each page includes data units defined over the entity and different index units
showing the lists of related instances in the other two entities. Some index pages, reachable from the Home Page, allow
users to start navigation through a category hierarchy, so that to select single instances of one of the three objects.
In real cases, in addition to core entities, other ad-hoc related entities could describe different properties or viewpoints on
the most relevant information objects; these are not included in the skeletons, but can be typically generated by applying
refinement primitives to them.
4.1.2. Star Skeleton. The Star skeleton covers the important case when the core content consists of a single entity, thus
obtaining the structural schema reported in Figure 4a. As for the Network structural skeleton, the entities on the rays can
represent categories defined over the central object, and provide access dimensions. They could also represent concepts
related to the central object, which contribute to describe it. The corresponding site view skeleton (see Figure 4b) includes
read-only navigation chains for browsing through indexes of categories. Starting from the Home Page, users can reach an
instance of the central entity. From there, they can navigate to the other entities on the rays.
Besides the contextual access provided by the index chains, the site view in Figure 4b also specifies a non-contextual access
based on a search mechanism over the instances of the central entity. A filter unit, placed in the Home Page (named
a)
b)
Figure 4: Structural schema (a) and site view (b) for the Star skeleton.
a)
b)
Figure 5: Structural schema (a) and site view (b) for the Hierarchy skeleton.
ObjectSearch), allows users to specify a keyword and start a search. An index unit in a different page shows the search
results. In case of a large number of result items, these can be displayed on different pages. This is modeled in WebML by
setting some pagination properties of index units.
4.1.3. Hierarchy Skeleton. In the simplest case, it is possible to have one single core entity, and one single access
dimension over it, obtained by defining categories (and subcategories). The structural skeleton is reported in Figure 5a. The
corresponding site view specifies a navigation through a chain of indexes that reflect the defined categories. Users reach an
instance of the central entity by incrementally selecting items from the different indexes (see Figure 5b). As in the previous
case, it is possible to include a search mechanism providing non-contextual access over the core entity.
4.2. Content Management Skeletons
Besides providing information access, some portions of Web sites are devoted to content management, allowing users to
modify the information content. These Web site portions are modeled by Content Management skeletons. Normally the
information objects subject to content management are reachable by means of one or more Information Access skeletons
used to select them.
The most peculiar features of Content Management skeletons are exposed by site views (rather than structural schemes),
which incorporate operation units (Create, Delete, Modify, Connect, Disconnect) for specifying content management
activities. These operation units are normally used within operation chains, which produce logically connected operations.
In particular, content management skeletons use the “Create and N-ary Connect” chain for building a new entity and then
connecting it to N existing entities. A single click on an activating link triggers such operation chains.
4.2.1. Content Creation and Classification Skeleton. This skeleton covers the creation of new information objects and
their association to other information objects, thus enabling a classification of the newly provided information. The
corresponding schemas are reported in Figure 6. The structural schema (Figure 6a) includes one core entity, Object, and two
context entities, ClassifyingObject1 and ClassifyingObject2. Normally, the object being created belongs to core entities that
need to be connected to at least one classifying entity, and then to other entities arbitrarily selected from the universe of core
and classifying entities. The site view (Figure 6b) includes a “Create and Double Connect” chain for creating a new object
instance (through a create unit), and associating it to instances of the two classifying entities (through two connect units).
The chain is activated from a data entry unit modeling the data input form.
The simplest case of Content Management skeleton occurs when there is only one classifying entity, e.g., when adding a
leaf to a Hierarchy structural skeleton. In this frequent case, the site view uses a simpler “Create and Connect” chain.
5. APPLICATION FRAMEWORKS
According to [4], a framework captures the design decisions that are common to a category of software, by identifying a set
of cooperating classes that make up a reusable design for that specific category. WebML frameworks are obtained by
composing the skeletons reported in the previous section.
The following sections describe reusable frameworks inspired by the S4C taxonomy [5], a Web site classification resulting
from a large study, conducted on more than 1500 Web sites, with the aim of discovering their principal “business model”
adopted. The S4C categories identify five basic macro-functions offered by Web sites:
• Content: the provision of content access. Examples of Content Web sites are institutional Web sites (sites describing the
main product or service delivered by a given institution), Digital Libraries, On-line Magazines, and Recommending
systems. Besides on Internet, content Web sites are present also on intranets (for providing access to internal, shared
documentation) and extranets (for supplying information to company suppliers and/or sellers).
“Create and Double
Connect” operation
chain
a)
b)
Figure 6: Structural schema (a) and site view (b) for the Content Creation and Classification skeleton.
•
Context: the provision of access to Web resources. Search engines, meta-search engines, and directories offer this
functionality. They provide access over content located throughout the whole Web.
• Community: the provision of interactive services aimed at creating social interrelationships among users. Web sites
hosting forums, chat rooms, newsletters, etc., belong to this category. In some cases, extranets provide the same services
to communities of users operating in specific sectors.
• Commerce: the provision of on-line business transactions. This is the broadest category of Web applications, including eshops, e-malls, buyer aggregators, e-auctions, virtual marketplaces, etc.
• Service: the provision of value-added services. Web sites in this category are those offering services, such as free email,
SMS posting, e-card posting, etc., or support for publishing announcements and insertions, as well as service-based
intranets and extranets providing customers with on-line budgets, order tracking, etc.
Many Web sites exhibit several of the above macro-functionalities combined, and indeed the corresponding structural and
hypertext schemes are based on the use of multiple, interconnected application frameworks sharing some common concepts.
In the following we will refer to simple examples, abstracted and simplified w.r.t. real cases, in order to show prototypes of
each proposed application frameworks.
5.1. Content Frameworks
The Content framework is obtained by using one or more Information Access skeletons. Three frameworks, Network, Star,
and Hierarchy, have been therefore identified. The network and star solutions are most used by institutional Web sites,
while the hierarchy solution can cover the cases of digital libraries, on-line magazines, or recommending systems centered
on a single piece of information (documents, articles, or best choices respectively).
5.1.1. Example of Network-based Content Web Sites. An example of Content Web site reflecting the Network skeleton is
the Cisco institutional Web site (http://www.cisco.com). As highlighted by the simplified structural schema reported in
Figure 7a, its core information content consists of three main entities, Product, Solution and Technology, which are three
main viewpoints offered to the site visitors about Cisco’s offer. Given that viewpoints contribute to each other, entities form
a complete graph. Context entities provide categories of products, solutions, and technologies; other entities (omitted)
provide additional properties of the core content. Figure 7b shows the Web rendition of a Technology page. Users can reach
this page by navigating through a chain of indexes that show Technology categories and subcategories. From the
Technology page, two links allow users to navigate towards the other two entities.
5.1.2. Example of Star-based Content Web Sites. The Borland institutional Web site is an example of content application
framework reflecting the Star skeleton. Figure 8a shows a simplification of the Borland structural schema. The information
content is centered over the entity Product. Several context entities enable product classification from multiple viewpoints,
while other entities in the core (omitted) refer to additional information about the Product. Figure 8b reports the Web
rendition of the Product page. The users reach this page by navigating through indexes of many categories. From a given
product, they can follow some links placed in the left side navigation bar, and navigate towards related information, such as
case studies, awards, white papers, documents, etc.
5.1.3. Example of Hierarchy-based Content Web Sites. On-line newspapers are typical examples of Web sites following
the Hierarchy skeleton. Their core content (i.e., articles) can be contextually accessed through categories. Figure 9a reports
the simplified structural schema for the Web site of the El Mundo on-line newspaper (http://www.elmundo.com). It is a very
simple hierarchy, featuring just one level of categories. As shown in Figure 9b, users can reach a single article by selecting
one category among those reported in the left side bar, and then choosing one article into the category.
Links to
products and
solutions
a)
b)
Figure 7: Structural schema (a) and typical page (b) of the Cisco Web site (http://www.cisco.com).
Links to further
entities related to
the product
a)
b)
Figure 8: Structural schema (a) and typical page (b) of the Borland Web site ( http://www.borland.com).
The article
categories
a)
b)
Figure 9: Structural schema (a) and typical page (b) of the El Mundo Web site ( http://www.elmundo.com).
a)
b)
Figure 10: The Home page (a) and a simplified site view (b) of the Google Web Directory (http://www.google.com/).
5.2. Context Framework
Search engines, meta-search engines, and directories can be considered a special type of Content Web sites. They provide
access over resources located through the whole Web. However, this can be reduced to access to Web page summaries,
which then provide links to corresponding Web sites.
If we abstract the generic structure of Context Web sites, regardless of their implementation – generally based on
Information Retrieval techniques – the design of such sites can be specified by means of a Hierarchy skeleton, with a core
content consisting of summaries of Web pages. Figure 10a shows the Home Page of the Google Web Directory
(http://www.google.com). Within this site, as well as in other Web Directories, topic categories and subcategories support
the contextual access to Web page summaries. Users can therefore navigate through index chains. However, the keywordbased search, i.e., a non-contextual access to page summaries, is the most powerful and characterizing feature of such sites.
In a simplified way, in WebML this can be specified through a filter unit that allows users to go directly to the page
summaries by means of search predicates. Figure 10b reports a WebML site view describing the Google hypertext
organization, as an adaptation of the Hierarchy skeleton.
5.3. Commerce Framework
The design of Commerce Web sites can be expressed by combining Information Access skeletons with Content Creation
and Classification skeletons. In fact, on one hand these sites are strongly characterized by content management operations
that are needed for the accomplishment of on-line business transactions. On the other hand, they also need to provide
effective access to information, essential for presenting to users the goods to be purchased. For example, within e-shops,
users first navigate through product catalogues for selecting the goods and next insert them into a trolley, thus building an
order. Such sites also need to manage information about users. For example, in order to purchase products, users must
register, i.e., they create their own profile, by providing personal information. In WebML two predefined entities, User and
Group, respectively describe profile data about individual users and properties of user communities. A derivation language
also enables specifying one-to-one Web delivery and personalization [6].
Figure 11 shows the Home page and the Trolley page of the CD NOW e-shops (http://www.cdnow.com). This Web site
allows users to buy musical albums. Users can browse categories of albums in order to select one. Albums are available in
different versions (CD, cassette, etc.). Once one album version is selected, users can create a corresponding order, and add it
to their trolley. Figure 12a shows the CD NOW simplified structural schema; it is obtained by combining a Hierarchy
skeleton with a Content Creation and Classification skeleton. The same is for the site view reported in Figure 12b, which is
a simplified specification of the CDNOW hypertext organization. The schema is also enriched with Content Modification
and Content Deletion primitives, which respectively enable the modification and deletion of orders inserted into the trolley.
5.4. Community Framework
Community Web sites aim at creating relationships among community members, such as the management of message
boards, through which users can exchange messages about specific topics. As an example, let us considers the Quote Web
site (http://www.quote.com), which is a community site addressing investors. It provides users with information about
investments, and also with a number of message boards. Figure 13a reports the list of all the posted messages within a
specific board. One link within this page also activates the creation of a new message. The text of the already posted
messages can be accessed in a further page, where an activating link also allows users to create a reply message.
Links activating the order
deletion and modification
Index of album categories
a)
b)
Figure 11: Home page (a) and trolley page (b) of the CDNOW Web site (http://www.cdnow.com).
Hierarchical
Information Access
Order
creation
and classification
Order creation and
classification
Order
deletion
a)
b)
Figure 12: Structural schema (a) and site view (b) for the CDNOW Web site (http://www.cdnow.com).
The link
activating
the message
creation
a)
b)
Figure 13: Page listing messages (a) and structural schema (b) of Quote Community site (http://www.quote.com).
Order
modificatio
Insertion
Categories
a)
b)
Figure 14: Home page (a) and structural schema (b) of the Seconda Mano Web site (http://www.secondamano.it).
The Community application framework uses a combination of the Information Access skeleton and of the Content Creation
and Classification skeleton. This last skeleton is needed for adding messages to a message board and classifying them. The
Community framework exhibits therefore the same organization of the Commerce framework. Of course the two
frameworks differ in the choice of the involved content (article sales with trolley insertions vs. message production and
classification). Figure 13b shows a simplified structural schema with messages that are added to a board and associated with
their sender user, but of course there can be many more classifying categories (e.g. topics, chat line, etc.).
5.5. Service Framework
The Service framework applies to sites devoted to the creation and offering of services, such as goods to be privately traded.
Within these sites users creates new objects and classify them, by using a Content Creation and Classification skeleton,
combined with suitable Information Access skeletons, as with Commerce and Community frameworks.
As an example, let us consider the Seconda Mano Web site (http://www.secondamano.it), an Italian electronic board
collecting insertions posted by registered users. Figure 14a shows its home page, where an index of insertion categories is
displayed. From here, users can start navigating through subcategory indexes for accessing already posted insertions, as well
as for selecting one single subcategory and posting an insertion within it.
The adopted application framework has the same organization of the Commerce framework. It uses the Content Creation
and Classification skeleton, for specifying the creation of a new insertions and its classification with respect to the user and
a specific category. A Hierarchy skeleton is then combined for specifying the contextual access through categories and
subcategories. Figure 14b reports the resulting simplified structural schema for the Seconda Mano Web site. Insertions are
organized according to categories and subcategories. New insertions can be added in a specific subcategory and associated
to a user.
6. CONCLUSIONS
This paper has presented how WebML skeletons and frameworks can express the basic design of classes of data-intensive
Web applications. The identified schemes improve the comprehension of the overall structure and organization of Web
applications, thus they reduce the complexity of the WebML-based design process. The overall approach is based on the
assumption that Web application design rarely starts from scratch, while often it is based on solutions commonly adopted
within similar application domains.
In the last decade, several conceptual modeling techniques have been proposed, within the Hypermedia and Web design
field [7, 8, 9]. As WebML, they stress the separation between content and navigation modeling, and adopt modeling
languages for specifying the information content and the hypertext organization. Recently, some approaches [10, 11, 12]
have also introduced design patterns as a way for reusing past design experiences. Very few contributions – the most
relevant is [13] - emphasize the need for the definition of frameworks, as a way for enhancing reuse within specific
application domains.
In WebML, design reuse at a high level of abstraction is supported by a collection of refinement primitives, i.e., design
patterns recording already applied and tested micro-solutions that are general to any type of Web application [3]. The
specific contribution of this paper is the definition of WebML skeletons and frameworks as further conceptual tools that
enhance reuse at different levels of abstraction. More specifically, WebML skeletons have been introduced as basic content
and hypertext schemes that are recurrent across different domains and classes of Web sites; WebML frameworks have been
presented as design schemes reusable within families of Web sites with given information-delivery missions. Frameworks
are obtained as combinations of WebML skeletons.
We are now trying to further validate the applicability of our skeletons and frameworks through the systematic analysis of a
large number of Web sites. Our intent is to field-test that most of the existing Web sites can be interpreted by means of the
proposed skeletons and frameworks, so as to further consolidate a “repertoire” of predefined solutions to be used as design
start point. Moreover, in order to improve the usability of frameworks, we are trying to identify and precisely define those
variable parts of the frameworks, which allow designers to introduce variations for fitting the requirements of particular
applications.
ACKNOWLEDGEMENT
We are grateful to E. Bartezzaghi, A. Rangone, and R. Verganti, from the “Dipartimento di Economia e Produzione” of
Politecnico di Milano, for stimulating discussions and for the valuable suggestions.
REFERENCES
1.
S. Ceri, P. Fraternali, and A. Bongio, “Web Modeling Language (WebML): a Modeling Language for Designing Web
Sites,” Computer Networks, Vol. 33, 2000, pp. 137-157 (also in Proc. of WWW9 Conference, Amsterdam, May 2000).
2.
A. Bonifati, M. Brambilla, S. Ceri, P. Fraternali, and M. Matera, “The W3I3 Methodology for the Design of DataIntensive Web Sites,” Deliverable W3I3.POLI.D51, September 2000.
3.
S. Ceri, P. Fraternali, A. Bongio, and A. Maurino, “Modeling data entry and operations in WebML,” Proc. WebDB
2000, Dallas (USA), May 2000, Springer Verlag, LNCS (in print).
4.
E. Gamma, R. Helm, R. Johnson, and J. Vlissedes, Design Patterns – Elements of Reusable Object Oriented Software.
Addison Wesley, 1995.
5.
A. Rangone, Business Models, Slides of the seminar held at Department of Electronics and Information, Polytechnic of
Milan, December 2000.
6.
S. Ceri, P. Fraternali, and S. Paraboschi, “Data-Driven One-To-One Web Site Generation for Data-Intensive
Applications,” Proc. VLDB '99, Edinburgh, UK, September 1999.
7.
M. Bieiber, and T. Isakowitz (eds.), “Special Issue on Designing Hypermedia”, Comm. of ACM, Vol. 38, No. 8,
August 1995.
8.
P. Atzeni, G. Mecca, and P. Merialdo, “Design and Maintenance of Data-Intensive Web Sites,” Proc. EDBT’98,
Valencia, Spain, March 1998, pp. 436-450.
9.
J. Conallen, Building Web Applications with UML, Addison Wesley, Reading, MA, 2000.
10. M. Bernestein, “Patterns of Hypertext,“ Proc. Hypertext’98, Pittsburgh, PA, June 1998, ACM Press, pp. 21-29.
11. F. Garzotto, P. Paolini, D. Bolchini, and S. Valenti, “Modeling by Patterns of Web Applications,” P.P Chen, D.W.
Embley, and S.W Liddle (eds.), Proc. Int. Workshop on the WWW and Conceptual Modeling, Paris, October 1999,
Springer Verlag, LNCS 1727, pp. 293-306.
12. G. Rossi, D. Schwabe, and F. Lyardet, “Improving Web Information Systems with Navigational Patterns,” Proc.
WWW8, Elsevier Publ., Amsterdam, 1999, pp. 589-600.
13. G. Rossi, D. Schwabe, L. Esmeraldo, and F. Lyardet, “Engineering Web Applications for Reuse,” IEEE Multimedia,
Vol. 8, No. 1, January - March 2001, pp. 20-31.