The%20evolution%20from%20Autoweb%20to%20W3I3 - PowerPoint PPT Presentation

About This Presentation
Title:

The%20evolution%20from%20Autoweb%20to%20W3I3

Description:

field2 password. http://webml.org. Personalization. Personalization has three facets: ... generator. Site. Mapping. run. Commercial engine. http://webml.org ... – PowerPoint PPT presentation

Number of Views:24
Avg rating:3.0/5.0
Slides: 54
Provided by: usersD
Category:

less

Transcript and Presenter's Notes

Title: The%20evolution%20from%20Autoweb%20to%20W3I3


1
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_at_elet.polimi.it
2
Presentation outline
  • Overview of the WebML model
  • Case study solution demo

3
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

4
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

5
Preview of WebML concepts
  • Site Structure Composition Navigation
    Presentation

entities,relationships
units, pages,links
site views
styles
navigation composition
structure
presentation
user models
6
Structure model
  • A simplified Entity-Relationship model
  • Only binary relationships
  • No attributes on relationships
  • IS-A hierarchies
  • Typed attributes in entities

7
Derivation
  • 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

8
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.FinalSta
    tus 'accepted

9
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
  • avg(Self.Paper2Review.FinalGrade)

10
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

11
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

12
Content units
DATA UNIT
INDEX UNIT
MULTIDATA UNIT
FILTER UNIT
SCROLLER UNIT
  • Each unit has a master object
  • an entity or a relationship role

13
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

14
Example of contextual link
Track
Paper
Track2Paper
Track Title XXX DescriptionYYY
Paper Title Paper1 Abstract xxxxxxxx
xxxxxyyyxxxyyxxx
Papers in YYY
  • Paper1
  • Paper2
  • Paper3

15
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)

PageX
H
L
16
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 entry unit
  • A set of operation units for
  • Built-in content management operations (creation,
    update, and deletion of new entities and
    relationships)
  • Generic external operations

17
DataEntry Unit
  • Specifies data input by user
  • It contains fields to insert data (in, out,
    inout)
  • It can be translated into HTML using the ltformgt
    tag and the associated submit button

18
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

19
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

20
In/out flow create, modify, delete
21
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
22
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
23
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

24
Personalization
  • 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

25
User/Group metaphor
siteview
  • 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

26
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

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

submission
  • Hypertext can reflect structure, thus providing
    personalization

28
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

29
Presentation
30
Preview of architecture
Legacy content
Site and Presentation Design
Conceptualize
Site Mapping
WebML schemas
Map content
content
Generateapplication
deploy
Commercial engine
Templategenerator
run
31
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
32
The Conference Management System
  • The project
  • Structure schema
  • Derivation
  • Site view schema
  • A demo

33
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

34
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

35
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
36
Basic structure schema
User_Group
User_Preference
User_Review
User_Subject
User_Track
User_Submits_Paper
User_Reviews_Papers
Explicit_Conflict
Paper_Track
Paper_Preference
Paper_Coauthor
Paper_Subject
37
Basic structure schema
NoOfSubmittedReviews MaxGrade MinGrade AvgGrade
38
Hypertext
  • Basic idea
  • 5 users 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

39
Site views
40
Site views (cont.)
41
Conference set-up
42
PC member registration
43
Review assignment (1)
To the Assign reviewer page
To the Assign paper page
44
Review assignment (2)
45
Paper acceptance
46
Final statistics
47
Access rights management
48
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

49
Derivation
  • Example of derived relationship
  • PcMember_NoConflicutalPaper (it shows for a given
    PC member the list of all the papers so that
  • The PC member doesnt work in the same
    organization of the paper author
  • The PC member doesnt 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) WHERE Self.affiliation ltgt
    M2U.User_Submits_Paper.affiliation AND
    Self.affiliation NOT IN ( M2U.Paper_Coauthor.Affil
    iation ) AND Self.Oid NOT IN (M2U.Explicit_Conflic
    t.UserOid) AND Self.Oid NOT IN (Self.M2U.User_Revi
    ewer_Papers.UserOid)

50
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

51
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
  • Lets start...

52
WebML Control Center
  • DEMO

53
Conclusions
  • 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
Write a Comment
User Comments (0)
About PowerShow.com