the BookIndex page, which includes data about the
selected category (Category data) and the index of
its books. To perform a search instead, the user
enters search criteria in the BookSearch entry unit,
and the SearchResults page uses a multidata unit
to display information about books matching the
criteria. Both access methods eventually yield a
specific Book page, which shows information about
that book (Book data) together with an index of all
editions of it (Editions index) and the Recommend-
edBooks
index based on purchase history. The
BookSearch entry unit lets users specify a search
predicate; this entry unit is the same as that includ-
ed on the Home page.
Readers can recognize sever-
al of the preceding conceptual elements in actual
Amazon Web pages.
Write Access and
Content Management Operations
WebML also includes operation units we can use
to invoke external operations that manage and
update content. These operations can, for exam-
ple, create, delete, or modify an entity instance, or
they can add or drop a relationship between two
instances.
5
Table 2 lists each operation unit with
its visual notation and a brief description.
Figure 3 shows a simplified hypertext fragment
in WebML that models the creation of order lines,
their insertion into the user’s cart, and their dele-
tion and modification. From the Book page, a user
selects the edition (for example, hardcover or
paperback) and then goes to the NewOrderLine
page to enter book purchase information such as
order quantity. Once data entry is complete, a
chain of create-and-connect operations generates
an order line and joins it to the book edition and
the user’s cart. The site then displays the Shop-
pingCart
page, which contains the accumulated
information, including the user’s name (User data),
the cart total price (ShoppingCart data), and the
order lines (Orders multidata). The user can mod-
ify an order line’s quantity (via the chain of Quan-
tityEdit
entry and ModifyOrder units) or delete
order lines (via the DeleteOrder unit).
Recognizing Basic
Information Concepts
An important step in developing skeletons is clas-
sifying the roles that concepts can play in the data
schema. We distinguish three types of concepts:
■ Core concepts are central to the application,
constituting the application’s main asset and
expressing its mission. Examples include a
product sold by an e-commerce site and a per-
sonal message published on a community Web
board. Core concepts form the Web applica-
tion’s backbone.
■ Access concepts support the location of core
22 JULY • AUGUST 2002 http://computer.org/internet/ IEEE INTERNET COMPUTING
Web Modeling Language
Figure 2. Hypertext design.This simplified hypertext specifies a
browsing path through the catalogue on a book sales Web site.
Table 1. Content units
of the WebML composition model.
Unit Visual notation Description
Data Shows data about a single entity instance.
Multidata Shows data about several entity instances.
Index Shows a list of properties (also called
descriptive keys) of a given set of entity
instances. A user clicks on an index entry to
select and display one instance.
Scroller Provides commands for scrolling through
objects in a list — for example, the sequence
of all the instances of an entity. Scrolling
commands let the user move to a set’s first,
last, previous, and next elements and select
and display one instance of the set.
Data entry Shows a form with several fields for collecting
user input. Input might be conditions used for
searches over entity instances or parameters
for operations such as content updates, logins,
and generic external operations.