740 likes | 855 Views
Specification of Web applications with ADM-2. Paolo Atzeni, Alessio Parente Università Roma Tre Thanks to P. Merialdo, M. Magnante, G. Mecca, M. Pecorone. An invitation. VLDB 2001: 27th International Conference on Very Large Databases Roma, 11-14 September 2001. Register now!
E N D
Specification of Web applications with ADM-2 Paolo Atzeni, Alessio Parente Università Roma Tre Thanks to P. Merialdo, M. Magnante, G. Mecca, M. Pecorone
An invitation ... VLDB 2001: 27th International Conference on Very Large Databases Roma, 11-14 September 2001 Register now! Very-early rate still available!
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)
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.
Models in Araneus • data design • ER • relational (or object-relational) • hypertext design • "Navigational" ER (or NCM) • ADM Page Types • presentation design • Telemachus Styles
A page-scheme ProfessorPage Name Position Address EMail ResearchList Area ToResP
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)
A Web page, with a list of links:a “unique page” ProfessorListPage ProfessorList Name ToProfP
An ADM Scheme ProfessorListPage ProfessorPage ProfessorList Name Name ToProfP Position Address EMail ResearchList Area ToResP
SearchProfPage Name Submit ProfessorListPage ProfessorPage Name U ProfessorList Position Name Address ToProfP EMail ResearchList Area ToResP Heterogeneous Union and Forms
Data Models Database Conceptual Scheme (entities - relationships) ER ADM Hypertext Logical Scheme (page-schemes, links) Not so close!
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.
Presentation Modeling: Telemachus • Attribute Styles: • In the database: Table: Courses CourseName ... CoursePage Operating Systems ... Course: TEXT; ... • In the hypertext: Course: [<FONT color=“red”> <B>] [</B></FONT>] • In the page: <FONT color=“red”><B> Operating Systems</B></FONT>
The Araneus methodology ER NCM RDB ADM Styles Site
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.
Homer: Web Site Development Process Step 1: Content Modeling (ER Scheme) user editing Homer Step 2: Site Structure Modeling(ADM Scheme) DB Scheme user editing Step 3: Presentation Modeling (Page Templates) Homer Site Generation Code
Step 1: Content Modeling User Draws an Entity-Relationship Scheme
Step 3: Presentation ModelingHomer Generates Page Templates • Templates: sample pages with “placeholders”
Step 3: Presentation ModelingUsers work with Templates and Homer generates styles from them Site Template user editing Homer user editing Page Templ. 1 Es: PersonPage Page Templ. 2 Es: CoursePage Page Templ. N Es:GroupPage Homer Page Style 1 Page Style 2 Page Style n • This approach is strongly based on the ADM page types
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.
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
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
Features for modeling applications • Management of users: authorization and personalization • Phases (and workflows) • Actions, mainly associated with links • Transactions • Nested database updates
Management of users: authorization and personalization DEFINE RIGHTS GROUP PCchair IN AuthorData,AuthorList; GROUP Author IN CoAuthorPreRegistration, AuthorRegistration:ONETOONE, AuthorData:ONETOONE;
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 …
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
The Araneus methodology ER NCM RDB ADM Styles Site
The Araneus-2 methodology Activity D Use Case D * UseCasei ER * NCM ADMi RDB ADM Site
Use Case Notation ("Stereotypes") read-write read-only