1
Specification of Web applications with ADM-2
Paolo Atzeni, Alessio Parente
Università Roma Tre
Thanks to
P. Merialdo, M. Magnante, G. Mecca, M. Pecorone
2
An invitation ...
VLDB 2001: 27th International Conference on Very Large Databases
Roma, 11-14 September 2001
Register now!Very-early rate still available!
3
Outline
• Models in Araneus• The Araneus methodology• Homer, a CASE tool for “read-only” sites
• ADM-2: new features for applications• A new methodology (by example)
4
Model-Based Development in Araneus
• Clear Separation between Site Design and Site Implementation:– high-level models for site design– tools for site implementation
• Overall Goal:– users should concentrate on design issues– they should not write any line of code: Homer, a case tool
• Flexibility in Site Implementation:– Transparent Generation of XML/XSL or HTML sites– Independence from the actual page-generation tool:
programs for static or dynamic (JSP) pages.
5
Models in Araneus
• data design – ER – relational (or object-relational)
• hypertext design– "Navigational" ER (or NCM)– ADM Page Types
• presentation design – Telemachus Styles
6
A Web page
7
A page-scheme
ProfessorPage
NamePositionAddress
EMailResearchList
AreaToResP
8
ADM (Araneus Data Model): a logical model for Web hypertexts
• page-schemes• “unique” pages• simple attributes
– text, images, ...– link (anchor, URL)
• complex attributes: lists (possibly nested)• heterogeneous union• form (as virtual list over form fields and link to the result)
9
A Web page, with a list of links:
10
ProfessorListPage
ProfessorListNameToProfP
A Web page, with a list of links:a “unique page”
11
ProfessorListPage
ProfessorListNameToProfP
ProfessorPage
NamePositionAddress
EMailResearchList
AreaToResP
An ADM Scheme
12
Heterogeneous Union and Forms
13
ProfessorListPage
ProfessorListName
ToProfP
ProfessorPageNamePosition
Address
EMailResearchList
Area
ToResP
Name
Submit
U
SearchProfPage
Heterogeneous Union and Forms
14
Another ADM scheme (another representation)
15
Data Models
ER
ADM
Database ConceptualScheme
(entities - relationships)
Hypertext LogicalScheme
(page-schemes, links)
Not so close!
16
17
18
Navigational ER
19
From Navigational ER to ADM
20
Presentation Modeling: Telemachus
• Requirements:– precise notion of style for pages– platform independence– rapid prototyping and flexible maintenance– working with “sample” pages (“templates”).
• Telemachus Styles:– Attribute Styles:
formatting directives for attributes in pages– Page Styles:
collections of attribute styles plus header and footer.
21
Table: Courses
CourseName ...Operating Systems ...
In the hypertext: Course: TEXT;...
CoursePage
In the page:
Course: [<FONT color=“red”> <B>][</B></FONT>]
<FONT color=“red”><B>Operating Systems
</B></FONT>
Presentation Modeling: Telemachus
• Attribute Styles:– In the database:
22
The Araneus methodology
ER
NCM
RDBADM
Styles
Site
23
Homer: A Case Tool for Web Sites
• Different models and different activities:– database design
• ER • relational (or object-relational)
– site design• "Navigational" ER • ADM Page Types
– presentation design • Telemachus Styles
• A thorough design methodology• Graphical interface to assist users in the design• Automatic production of (Java) code for page generation.
24
Step 1:
Content Modeling (ER Scheme)
DB Scheme
Step 2:Site Structure Modeling
(ADM Scheme)
Step 3:Presentation Modeling
(Page Templates)
Site Generation Code
Homer
Homer
user editing
user editing
Homer: Web Site Development Process
25
Step 1: Content Modeling User Draws an Entity-Relationship Scheme
26
Step 2: Site ModelingUser Specifies Navigational Features
27
Step 2: Site ModelingHomer Generates the Site Scheme
28
Step 3: Presentation ModelingHomer Generates Page Templates
• Templates: sample pages with “placeholders”
29
Site Template
Page Templ. 1Es: PersonPage
Page Templ. 2Es: CoursePage
Page Templ. NEs:GroupPage
Page Style 1 Page Style nPage Style 2
Homer
Homer
user editing
user editing
This approach is strongly based on the ADM page types
Step 3: Presentation ModelingUsers work with Templates and Homer
generates styles from them
30
Site Generation:Homer Creates Java Programs
• What’s inside Homer:– an engine for handling schema transformations;
• Homer Engine:– all intermediate models (ER, Relational ...) are seen as
subsets of ADM– transformations as views, i.e. algebraic expressions (nested-
relational algebra with URL-invention)– view composition
• Implementation:– HTML or XML with XSL stylesheets;– JSP for dynamic pages, Java programs for static pages.
31
Mapping ADM and DB: Penelope
DEFINE PAGE AuthorList AS URL("AuthorList");
UnRegisteredAuthors: LIST-OF (username : TEXT = <unreg.username> ;
status : TEXT = <unreg.status> ;
);
RegisteredAuthors: LIST-OF (username : TEXT = <reg.username> ;
status : TEXT = <reg.status> ;
details : LINK-TO AuthorData
(URL(<reg.username>);
anchor : TEXT ="Go to Author page"; );
);
USING reg : (SELECT username FROM Author WHERE status="true" ),
unreg : (SELECT username FROM Author WHERE status="false" );
END
32
Modeling applications
• ADM, Penelope, the methodology, and the tool were all conceived for "read-only"sites
• we want to extend them to more general sites, still under the "data-intensive" hypothesis
33
Features for modeling applications
• Management of users: authorization and personalization• Phases (and workflows)• Actions, mainly associated with links• Transactions• Nested database updates
34
Management of users: authorization and personalization
DEFINE RIGHTS
GROUP PCchair
IN AuthorData,AuthorList;
GROUP Author
IN CoAuthorPreRegistration,
AuthorRegistration:ONETOONE,
AuthorData:ONETOONE;
35
Phases (and workflows)
DEFINE TASK Phase0WITH ConferenceSetup;END ON LINK ConferenceSetup.linkA;
DEFINE TASK Phase1WITH ConferenceData, PCmemberPreRegistration,
PCmemberRegistration, PCmemberData, PCmemberList;START ON LINK ConferenceSetup.linkA;
DEFINE PAGE PCmemberPreRegistration…EXPIRES ON LINK …
36
Actions
ACTION ON LINK ConferenceSetup.setupForm.update;
BEGININSERT INTO conference VALUES ([title], [date], [place], [submissionDate], [reviewDate], [notificationDate], [contacts], [goals], [attendance], [relatedConferences], [moreInformation]);INSERT INTO track SELECT [tracks.item] FROM [tracks];INSERT INTO subject SELECT [subjects.item] FROM [subjects];INSERT INTO evaluationItem SELECT [evaluations.id], [evaluations.item]
FROM [evaluations];COMMIT
PUSH PAGE ConferenceSetup;END
37
The Araneus methodology
ER
NCM
RDBADM
Styles
Site
38
The Araneus-2 methodology
ER
NCM
RDBADMi
Site
ADM
Activity D
Use Case D
UseCasei
*
*
39
Activity diagram
40
Use Case Notation ("Stereotypes")
read-only read-write
41
Use Case Diagram - Phase 0
42
Use Case Diagram - Phase 1
43
Use Case Diagram - Phase 2
44
Use Case Diagram - Phase 3
45
Use Case Diagram - Phase 4
46
Use Case Diagram - Phase 5
47
Use Case Diagram - Phase 6
48
E-R scheme
49
E-R Scheme - part II
50
Relational Scheme
51
NCM data diagram
52
NCM - Phase 0
53
NCM - Phase 1
54
NCM - Phase 2
55
NCM - Phase 3
56
NCM - Phase 4
57
NCM - Phase 5
58
NCM - Phase 6
59
ADM - Conference setup
60
ADM - PC-member registration
61
ADM -Author registration
62
ADM - Paper submission
63
ADM - Paper administration
64
ADM - Paper assignments
65
ADM - Paper interest
66
ADM - Paper review list
67
ADM - Paper download
68
ADM - Reviewer registration
69
ADM - Insert report
70
ADM - Paper statistics
71
ADM - Paper selection
72
ADM - Accepted paper
73
ADM - Home Pages
Top Related