slide1 n.
Skip this Video
Loading SlideShow in 5 Seconds..
S. Ceri, P. Fraternali, M. Matera, A. Maurino DEI - Politecnico di Milano PowerPoint Presentation
Download Presentation
S. Ceri, P. Fraternali, M. Matera, A. Maurino DEI - Politecnico di Milano

Loading in 2 Seconds...

play fullscreen
1 / 53

S. Ceri, P. Fraternali, M. Matera, A. Maurino DEI - Politecnico di Milano - PowerPoint PPT Presentation

  • Uploaded on

Designing Multi-Role, Collaborative Web Sites with WebML The Conference Management System Case Study. S. Ceri, P. Fraternali, M. Matera, A. Maurino DEI - Politecnico di Milano [ceri, fraterna, matera, maurino] Presentation outline. Overview of the WebML model

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about 'S. Ceri, P. Fraternali, M. Matera, A. Maurino DEI - Politecnico di Milano' - xia

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

Designing Multi-Role, Collaborative Web Sites with WebML

The Conference Management System Case Study

S. Ceri, P. Fraternali, M. Matera, A. Maurino

DEI - Politecnico di Milano

[ceri, fraterna, matera, maurino]

presentation outline
Presentation outline
  • Overview of the WebML model
  • Case study solution & demo
requirements for web modeling
Requirements for Web modeling
  • Expressiveness
    • Real-life cases should be expressible
    • Frequently used design patterns should be captured
  • Ease of use
    • Intuitive notation
    • Clear semantics
    • Consistency checks
  • Implementability
    • Efficient mapping to physical data structures
    • Flexible code generation from behavioral specifications
the webml layers
The WebML layers
  • WebML: a conceptual language for high-level design of data-intensive web sites
  • WebML Layers:
    • Structure: data organization
    • Derivation: redundant data definition
    • Composition: definition of pages as sets of elementary publishing units
    • Navigation: definition of links between units and between pages
    • Presentation: positioning of the units in the page and definition of graphical appearance
preview of webml concepts
Preview of WebML concepts

Site = Structure + Composition + Navigation + Presentation


units, pages,links

site views


navigation +



user models


structure model
Structure model
  • A simplified Entity-Relationship model
    • Only binary relationships
    • No attributes on relationships
    • IS-A hierarchies
    • Typed attributes in entities
  • Derivation queries allows designers:
    • To augment the content of an entity by adding extra attributes, either imported or calculated from existing information
    • To define the population of entities or of relationships, based on some property of the involved objects
  • Derivation queries are expressed through WebML OQL (Object Query Language)
    • automatically transformed into SQL views installed in the database
  • A wizard is available in WebML CC - users are not required to write WebML OQL queries
derived entities
Derived entities
  • The population of sub-entities in ISA hierarchies
  • Example: “All the ‘accepted’ papers” is expressed in WebML OQL as

“Paper(as SuperEntity) where SuperEntity.FinalStatus= 'accepted‘ “

derived attributes



Derived attributes
  • Extra attributes can be added to an entity, by defining a query that computes them
  • Four types of derivation:
    • Constant attributes
    • Imported attributes
    • Aggregated attributes
    • Calculated attributes
  • Example: The attribute AvgGrade in Paper is calculated as


derived relationships



Derived relationships
  • Relationships can be derived in two ways:
    • by subsetting and/or concatenating existing relationships
    • by matching pairs of objects by means of a condition
  • Example:

“Self.Track2Paper(as Var1) where Var1.FinalStatus = 'accepted’ “

  • Variable Self denotes the instance of the source entity of the relationship
hypertext model
Hypertext model
  • Content units: atomic units that specify how to publish information described in the structural schema
  • Pages: abstractions of the pages actually delivered to the user (e.g. an HTML page) - structured containers of units and links
  • Links: connects units and pages, so that to define the hypertext
content units

Index of Papers

All Papers





  • paper1
  • paper2
  • paper3

Search Papers

Browse Papers

  • Title


5/12: go to

  

Content units






  • Each unit has a master object
    • an entity or a relationship role
navigation links



Index of Subjects

Index of Tracks

Navigation - Links
  • Semantics of a link:
    • Moving from one place to another
    • Carrying information from one place to another (navigation context)
    • Activating a computation (side effect)
  • Contextual links
    • Between units
    • Context transported
  • Non-contextual links
    • Between pages
    • No context transported
example of contextual link

Which papers in a track?

What about a paper?

Example of contextual link





Title: XXX



Title: Paper1

Abstract: xxxxxxxx


Papers in YYY

  • Paper1
  • Paper2
  • Paper3
site views
Site Views
  • Site view = Set of pages forming a global view of the site
    • One site view per user group, access device, etc.
    • A page marked as “Home”
    • Landmark pages: globally visible page within

a site view (NC-link implicitly defined from every

other page in the site view)

  • Consistency checks: criteria for validity of hypertext (e.g., topology constraints, computability of nodes)




the write access problem
The Write Access Problem
  • From read-only navigation to content management operations (e.g., e-commerce trolley, personal profile creation and updating, ecc.)
  • WebML offers:
    • A data entryunit
    • A set of operation units for:
      • Built-in content management operations (creation, update, and deletion of new entities and relationships)
      • Genericexternal operations
dataentry unit

From other units for

preloading some fields

To other units for

subsequent use

  • Outgoing link, for shipping content to other units
  • Incoming link, for receiving the context from other units - preloading some fields (OPTIONAL)
DataEntry Unit
  • Specifies data input by user
    • It contains fields to insert data (in, out, inout)
    • It can be translated into HTML using the <form> tag and the associated submit button
operation units
Operation Units
  • Invoke built-in database operations or generic external operations implemented in un-modelled server side code
  • Input from one or more incoming links (one is declared as operation-activating)
  • Two types of output links:
    • OK link: followed if the operation is successful
    • KO link: followed if the operation fails
built in operations
Built-in Operations
  • A set of frequently used built-in operations to manage the Web site content
  • Traditional database operations, predefined in the WebML tool suite:
    • create, delete, and modify entities
    • create and drop relationships
in out flow create modify delete

field1 attribute1

Identifier of the new object

field2  attribute2

field1 attribute1

Identifier of the modified object

field2  attribute2

Identifier of the object to modify


Identifier of the object to delete

In/out flow: create, modify, delete
in out flow connect
In/out flow: connect

Identifier of first object to connect

Identifier of the first object

Identifier of second object to connect

The master object is a relationship role: e.g., Paper2Track

in out flow disconnect
In/out flow: disconnect

Identifier of first object to disconnect

Identifier of the first object

Identifier of second object to disconnect

The master object is a relationship role: e.g., Paper2Track

generic operation login

field1 username

field2  password

Generic Operation: Login
  • It is a particular case of “entry unit + operation” pattern
  • The entry unit typically feeds the user credentials to the subsequent operation (username, password)
  • Operation failure leads automatically to the home page of the everyone site view
  • Operation success leads to the home page of the unique enabled site view
  • Personalization has three facets:
    • Access control: login/logout operations for user identification
    • Site view assignement: based on the group(s) a user belongs to, some site views are accessible (1 site view per group)
    • Page personalization: user or group dependent content
user group metaphor
User/Group metaphor
  • Each User can belong to one or more Groups (predefined entities in the structural model)
  • In a given time, each group can have one associated site-views (attribute of the Group entity)
  • Each site view can be associated to more groups


site view access
Site view access
  • One group is predefined (everyone)
    • Users belonging to this group are not required to login – they access only one site view, including unprotected content (the “everyone” site view)
  • Other site views can be accessed only after login (“secured” site views)
    • These site views obviously include Login and Logout operations
page personalization

After login the data unit on user is bound to “my” identity, thus the index shows “my” papers

Page personalization
  • Personalization can be achieved as a result of appropriate structure design


  • Hypertext can reflect structure, thus providing personalization
presentation design
Presentation Design
  • An elementary unit positioning mechanism
  • Gallery of default presentation styles applicable to site views or single pages
      • each presentation style is an XSL stylesheet
preview of architecture

data schema

meta data


Previewof architecture

Legacy content

Site and Presentation





WebML schemas

Map content




Commercial engine



webml core design process

Design Patterns, Skeletons and Frameworks

Refined Structure Model

Refined Site View

WebML core design process

Structure Model Skeleton

Structure Model Skeleton

Refined Structure Model

Mockup and Textual Specs

Mockup and textual specs

Running Prototype

Running Prototype

Site View Skeleton

Site View Skeleton

Refined Site View

Population & Presentation default

Population & Presentation default

the conference management system

The Conference Management System

The project

Structure schema


Site view schema

A demo

identifying users roles 1
Identifying users’ roles (1)
  • PC chair
    • Creates the conference
    • Creates the PC members
    • Assigns papers for review
    • Decides the final paper evaluation
    • Modifies the conference status
  • PC Members
    • Express their preference about subjects and tracks
    • Express their preference about papers
    • Indicate conflicts of interest
    • Create new reviewers and assign papers
    • Enter paper reviews
    • Discuss with the PC Chair about the final evaluation
identifying users roles 2
Identifying users’ roles (2)
  • Authors
    • Submit papers
    • Create coauthors
  • Reviewers
    • Enter paper reviews
  • Non registered users
    • Access the preliminary program, at the end of the conference life cycle
the conference lifecycle

Step2:Paper submission

Step3:Paper bidding


Step6:Final discussion


Step7:Acceptance notification

The conference lifecycle

Step1:Set up

  • Authors submit papers
  • PC Memeber express preferences
  • PC chair and PC members discuss about reviews;
  • PC chair assigns the final evaluation

PC chair (the only authorized user) creates the conference and the PC members

  • All users see the preliminary Program;
  • Authors see the review results

PC members express

preferences about papers

PC chair assigns papers

to PC members

PC members create reviewers

and enter reviews

basic structure schema
Basic structure schema













basic structure schema1
Basic structure schema





  • Basic idea
    • 5 user’s groups
    • 7 conference status
  • 11 site views, obtained by associating user groups to some conference status
    • Change in the conference status  Change in the association between site views and groups
site views1

Conference phase/user role

PC chair

PC Member


Reviewer (non PC member)

Non registered user

1.Conference set-up

PC chair SV




Everyone - login

2.Paper submission

PC chair SV

PCM subjects & tracks

Author-submission open


Everyone - register


PC chair SV


Everyone- login suspended


Everyone – login

4.Paper assignment

PC chair SV

Login suspended

Login suspended


Everyone – login

5.Paper Review

PC chair SV

PCM-insert review

Author-submission close

Reviewer-insert review

Everyone – login

Site views
site views cont

Final discussion

Conference phase/user role

PC chair SV

PC chair

PCM-final discussion

PC Member

Author-submission close


Reviewer (non PC member)

Login suspended

Non registered user

Everyone – login

2.Acceptance notification

PC chair SV

Login suspended

Login suspended

Login suspended

Everyone-conference program

Site views (cont.)
review assignment 1
Review assignment (1)

To the Assign reviewer page

To the Assign paper page

evolution of status
Evolution of status
  • A ralational trigger changes the access right
    • It is activated when conference satus attribute changes
    • A number of update instructions change the association between siteviews and groups
  • When the conference status is in the bidding phase the trigger assigns to PC members a list of papers
    • papers are assigned to a track, or to a set of subjects preferred by the PC member.
    • the grade of interest for these papers is initally 0
      • PC member can modify this grade or s/he can raise an explicit conflict of interest about a specified paper
  • Example of derived relationship
    • PcMember_NoConflicutalPaper (it shows for a given PC member the list of all the papers so that:
      • The PC member doesn’t work in the same organization of the paper author;
      • The PC member doesn’t work in the same organization of any of the paper co-authors;
      • The PC member does not show any explicit conflict with the paper;
      • The PC member has not been already designated as a reviewer for the paper.
  • Self to Paper (as M2U) WHERESelf.affiliation <> M2U.User_Submits_Paper.affiliation ANDSelf.affiliation NOT IN ( M2U.Paper_Coauthor.Affiliation ) ANDSelf.Oid NOT IN (M2U.Explicit_Conflict.UserOid) ANDSelf.Oid NOT IN (Self.M2U.User_Reviewer_Papers.UserOid)
a few data about implementation
A few data about implementation
  • Number of site views:11
  • Number of JSP pages:148
  • Number of relational tables:16
  • Dimension of the generated JSP code (Kbytes):~ 950
  • Number of relational views for derived data:56
  • Number of JSP page templates manually retouched: 2
  • Number of SQL views manually retouched:6
a short demo
A short demo
  • Starting with the conference: WebDB2001
  • 2 PC members
    • Maurino (form poli) is interested in XML technology & DB
    • Abiteboul (from INRIA) is interested in XML
  • 3 papers
    • 1 about XML
    • 1 about DB
    • 1 about XML and DB, with coauthors from INRIA
  • Let’s start...
  • WebML has allowed us to complitely capture the requirements of the CMS applications
  • Future works
    • New concepts (support for set oriented operation, module..)
    • Extensions towards Workflow Management Systems
    • New tool release