Designing multi-role, collaborative Web sites with WebML: a conference management system case study
Stefano Ceri, Piero Fraternali, Maristella Matera, Andrea Maurino
Dipartimento di Elettronica e Informazione Politecnico di Milano
[ceri, fraterna, matera, maurino]@elet.polimi.it
1 Introduction This report describes the design and implementation in WebML of the Conference Management System case study (CMS, from now on), proposed by the organizers of the IWWOST 2001 Workshop. WebML is a visual language for modelling data intensive Web sites, conceived to facilitate the implementation of a novel generation of CASE tools capable of automating the most repetitive tasks of site construction . The fundamental aspects of WebML modelling and design are:
1. The separation of the distinct concerns of site specification: information structure, page composition, navigation, and presentation.
2. The provision of novel visual metaphors for expressing the composition of pages in terms of content units, defined over the objects of the structure schema.
3. The support of advanced features, like derived data, user modelling and personalisation, data entry and update operations, multi-device output.
4. The extensive use of XML and XSL in all aspects of site design and deployment. The highlights of the WebML implementation of the CMS case study can be summarised as follows:
1. A rich structure schema is provided, which captures the fundamental objects of the domain of discourse, as well as the main user roles.
2. Several site views are defined on such structure schema, i.e., hypertext modules offering a different set of pages and functions tailored to the needs of a specific category of users (e.g., authors or PC members).
3. Business rules, triggered by the PC chair, dynamically change the site view currently active for a given class of users, implementing the evolution of the site functions required by the workflow of conference management.
2 The Web Modelling Language Designing a data-intensive Web site in WebML amounts to specifying its characteristics in terms of various orthogonal abstractions, each captured by a distinct model. The Structural Model describes the conceptual data organization; it is compatible with the
Entity-Relationship model. A prominent application of structure modeling is User and Group Modeling, which specifies the information about users and users communities maintained in the site to foster personalization.
The Derivation Model enables the extension of the structural model with redundant data, to adapt it to different requirements.
The Hypertext Model enables the definition of the pages and links of the actual hypertext(s), which constitute the application. It is further sub-divided into: o The Composition Model, which concerns the definition of pages and their internal
organization in terms of elementary interconnected content units. o The Navigation Model, which describes the links between pages and content units, which
should be provided to facilitate information location and browsing. The Presentation Model enables the expression of default rules for rendering pages in the
markup language of choice (e.g., HTML or WML). Presentation rules are coded using XSL style sheets.
WebML hypertexts are packaged into modularization constructs called site views. Each site view represents a different application designed to meet a well-defined set of requirements (e.g., the access with a specific device or the interests of a specific user group). The structure, composition, navigation, and presentation models enable the description of read-only web sites. They can be extended to cope with the specification of write access, through the addition of update operations, which can be incorporated into the hypertext model. They are invoked as a side effect of navigation and permit one to specify commonly found interaction patterns as data entry, personal data management, and shopping carts.
2.1 Structure Model The WebML Structural model is a suitable adaptation of conceptual models for data design, as already in use in other disciplines, such as database design, software engineering, and knowledge representation. It is compatible with the Entity-Relationship data model, used in conceptual database design, and with UML class diagrams, used in object-oriented modeling. The fundamental elements of structural models are entities, defined as containers of data elements, and relationships, defined as semantic connections between entities. Entities have named properties, called attributes, with an associated type. Entities can be organized in generalization hierarchies and relationships can be restricted by means of cardinality constraints.
2.2 Derivation Model Derivation is the process of adding redundant information to the structure schema, in order to augment its expressiveness and define different views and groupings of the same data. Derivation is formally expressed by queries in a conceptual language named WebML-OQL, which apply to the elements of the structural schema and construct additional concepts, whose content is intentionally defined instead of being extensionally stored. Every element of the structural model can be derived by means of a query (entities, attributes, and relationships). An important application is the definition of derived entities, which introduces sets of related objects, called collections in some other Hypermedia design methods. By grouping objects with common properties into derived entities, it is possible to provide meaningful access indexes to the site content.
2.3 Composition Model Composition modeling specifies which pages compose the hypertext, and which content units make up a page. The pages of the Web site are the containers of information actually delivered to the reader. Units are atomic content elements used to publish the information described in the structure model. Six types of units can be used to compose pages: data, multi-data, index, filter, scroller and direct units. Data units are used to publish the information of a single object (e.g., a paper), whereas the remaining types of units represent alternative ways to browse a set of objects (e.g., the set of papers of a conference track). Composition units are defined on top of the structure schema of the site; the designer dictates the underlying entity or relationship on which the content of each unit is based. The visual notation of the composition units is reported in Appendix A. The typical schema of a WebML page is a graph of units, where data units showing the information content of an entity alternate to the other types of units, which enable various forms of interconnection between related objects. Data units, even if associated to a single entity, may include information from any object defined in the structure schema via derivation. The mapping of entities to data units is one-to-many: the same entity can be associated to different data units, each showing a different mix of features. Therefore, data units define "virtual views" of structural concept, adaptable to specific user requirements or access constraints. Index, multidata, scroller, and filter units are typically used to specify access structures over the site's content, and to cluster several related pieces of information in a page. These units can be defined over 1:N relationships, in which case they permit alternative forms of navigation from one object to a set of related objects. The same units can also be defined over entities, in which case they are used for selecting and accessing one instance of an entity. Finally, direct units are defined over 1:1 relationships, to connect one object to the single object associated to it by a 1:1 relationship.
2.4 Navigation Model The purpose of navigation modeling is to specify links. Links can be defined between the units inside a single page, between units placed in different pages, and between pages. A link may serve the following purposes: 1. Moving the focus of presentation from one page to another one. 2. Passing information from a unit or page to another unit or page. 3. Producing some side-effects (e.g., the execution of an update operation). The information carried along a link is called navigation context, or simply context. Links that carry context information are called contextual links, whereas links that have no associated context information are called non-contextual links (these may serve only purpose n. 1 and/or n. 3). Context information is typically necessary to ensure the computability of a unit's content. For example, a data unit may be defined showing the details of an author, and it may be connected to a second unit showing an index of submitted papers. To compute the list of papers of a specific author, context information (e.g., the author's OID) must be transferred along the link connecting the data unit to the index unit. Composition and navigation models are tightly integrated, because features in one model may affect the other model (e.g., to show a set of related units in a page, proper links must be established). Collectively, they form the hypertext model, which completely defines the information content, and topology of connections of a WebML site.
2.5 Packaging Hypertext Specifications into Site Views Composition, and navigation completely define a hypertext and may be associated to default rendition rules for producing a set of pages in some markup language (e.g., HTML). An
application may be published in more than one way, to serve different requirements (e.g., the access with different devices and/or alternative user requirements). Each application perspective is packaged in a modularization construct called