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, 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 Name Position Address ResearchList Area ToResP
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 ProfessorList Name ToProfP A Web page, with a list of links: a “unique page”
11 ProfessorListPage ProfessorList Name ToProfP ProfessorPage Name Position Address ResearchList Area ToResP An ADM Scheme
12 Heterogeneous Union and Forms
13 ProfessorListPage ProfessorList Name ToProfP ProfessorPage Name Position Address ResearchList Area ToResP Name Submit U SearchProfPage Heterogeneous Union and Forms
14 Another ADM scheme (another representation)
15 Data Models ER ADM Database Conceptual Scheme (entities - relationships) Hypertext Logical Scheme (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:[ ] [ ] Operating Systems Presentation Modeling: Telemachus Attribute Styles: –In the database:
22 The Araneus methodology ER NCM RDB ADM 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 user editing Homer: Web Site Development Process
25 Step 1: Content Modeling User Draws an Entity-Relationship Scheme
26 Step 2: Site Modeling User Specifies Navigational Features
27 Step 2: Site Modeling Homer Generates the Site Scheme
28 Step 3: Presentation Modeling Homer Generates Page Templates Templates: sample pages with “placeholders”
29 Site Template Page Templ. 1 Es: PersonPage Page Templ. 2 Es: CoursePage Page Templ. N Es:GroupPage Page Style 1Page Style nPage Style 2 Homer user editing This approach is strongly based on the ADM page types Step 3: Presentation Modeling Users 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 = ; status : TEXT = ; ); RegisteredAuthors: LIST-OF (username : TEXT = ; status : TEXT = ; details : LINK-TO AuthorData (URL( ); 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 Phase0 WITH ConferenceSetup; END ON LINK ConferenceSetup.linkA; DEFINE TASK Phase1 WITH ConferenceData, PCmemberPreRegistration, PCmemberRegistration, PCmemberData, PCmemberList; START ON LINK ConferenceSetup.linkA; DEFINE PAGE PCmemberPreRegistration … EXPIRES ON LINK …
36 Actions ACTION ON LINK ConferenceSetup.setupForm.update; BEGIN INSERT 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 RDB ADM Styles Site
38 The Araneus-2 methodology ER NCM RDB ADM i Site ADM Activity D Use Case D UseCase i * *
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