specification of web applications with adm-2

73
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

Upload: laksha

Post on 07-Jan-2016

24 views

Category:

Documents


2 download

DESCRIPTION

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! - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Specification of Web applications  with ADM-2

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

Page 2: Specification of Web applications  with ADM-2

2

An invitation ...

VLDB 2001: 27th International Conference on Very Large Databases

Roma, 11-14 September 2001

Register now!Very-early rate still available!

Page 3: Specification of Web applications  with ADM-2

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)

Page 4: Specification of Web applications  with ADM-2

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.

Page 5: Specification of Web applications  with ADM-2

5

Models in Araneus

• data design – ER – relational (or object-relational)

• hypertext design– "Navigational" ER (or NCM)– ADM Page Types

• presentation design – Telemachus Styles

Page 6: Specification of Web applications  with ADM-2

6

A Web page

Page 7: Specification of Web applications  with ADM-2

7

A page-scheme

ProfessorPage

NamePositionAddress

EMailResearchList

AreaToResP

Page 8: Specification of Web applications  with ADM-2

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)

Page 9: Specification of Web applications  with ADM-2

9

A Web page, with a list of links:

Page 10: Specification of Web applications  with ADM-2

10

ProfessorListPage

ProfessorListNameToProfP

A Web page, with a list of links:a “unique page”

Page 11: Specification of Web applications  with ADM-2

11

ProfessorListPage

ProfessorListNameToProfP

ProfessorPage

NamePositionAddress

EMailResearchList

AreaToResP

An ADM Scheme

Page 12: Specification of Web applications  with ADM-2

12

Heterogeneous Union and Forms

Page 13: Specification of Web applications  with ADM-2

13

ProfessorListPage

ProfessorListName

ToProfP

ProfessorPageNamePosition

Address

EMailResearchList

Area

ToResP

Name

Submit

U

SearchProfPage

Heterogeneous Union and Forms

Page 14: Specification of Web applications  with ADM-2

14

Another ADM scheme (another representation)

Page 15: Specification of Web applications  with ADM-2

15

Data Models

ER

ADM

Database ConceptualScheme

(entities - relationships)

Hypertext LogicalScheme

(page-schemes, links)

Not so close!

Page 16: Specification of Web applications  with ADM-2

16

Page 17: Specification of Web applications  with ADM-2

17

Page 18: Specification of Web applications  with ADM-2

18

Navigational ER

Page 19: Specification of Web applications  with ADM-2

19

From Navigational ER to ADM

Page 20: Specification of Web applications  with ADM-2

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.

Page 21: Specification of Web applications  with ADM-2

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:

Page 22: Specification of Web applications  with ADM-2

22

The Araneus methodology

ER

NCM

RDBADM

Styles

Site

Page 23: Specification of Web applications  with ADM-2

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.

Page 24: Specification of Web applications  with ADM-2

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

Page 25: Specification of Web applications  with ADM-2

25

Step 1: Content Modeling User Draws an Entity-Relationship Scheme

Page 26: Specification of Web applications  with ADM-2

26

Step 2: Site ModelingUser Specifies Navigational Features

Page 27: Specification of Web applications  with ADM-2

27

Step 2: Site ModelingHomer Generates the Site Scheme

Page 28: Specification of Web applications  with ADM-2

28

Step 3: Presentation ModelingHomer Generates Page Templates

• Templates: sample pages with “placeholders”

Page 29: Specification of Web applications  with ADM-2

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

Page 30: Specification of Web applications  with ADM-2

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.

Page 31: Specification of Web applications  with ADM-2

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

Page 32: Specification of Web applications  with ADM-2

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

Page 33: Specification of Web applications  with ADM-2

33

Features for modeling applications

• Management of users: authorization and personalization• Phases (and workflows)• Actions, mainly associated with links• Transactions• Nested database updates

Page 34: Specification of Web applications  with ADM-2

34

Management of users: authorization and personalization

DEFINE RIGHTS

GROUP PCchair

IN AuthorData,AuthorList;

GROUP Author

IN CoAuthorPreRegistration,

AuthorRegistration:ONETOONE,

AuthorData:ONETOONE;

Page 35: Specification of Web applications  with ADM-2

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 …

Page 36: Specification of Web applications  with ADM-2

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

Page 37: Specification of Web applications  with ADM-2

37

The Araneus methodology

ER

NCM

RDBADM

Styles

Site

Page 38: Specification of Web applications  with ADM-2

38

The Araneus-2 methodology

ER

NCM

RDBADMi

Site

ADM

Activity D

Use Case D

UseCasei

*

*

Page 39: Specification of Web applications  with ADM-2

39

Activity diagram

Page 40: Specification of Web applications  with ADM-2

40

Use Case Notation ("Stereotypes")

read-only read-write

Page 41: Specification of Web applications  with ADM-2

41

Use Case Diagram - Phase 0

Page 42: Specification of Web applications  with ADM-2

42

Use Case Diagram - Phase 1

Page 43: Specification of Web applications  with ADM-2

43

Use Case Diagram - Phase 2

Page 44: Specification of Web applications  with ADM-2

44

Use Case Diagram - Phase 3

Page 45: Specification of Web applications  with ADM-2

45

Use Case Diagram - Phase 4

Page 46: Specification of Web applications  with ADM-2

46

Use Case Diagram - Phase 5

Page 47: Specification of Web applications  with ADM-2

47

Use Case Diagram - Phase 6

Page 48: Specification of Web applications  with ADM-2

48

E-R scheme

Page 49: Specification of Web applications  with ADM-2

49

E-R Scheme - part II

Page 50: Specification of Web applications  with ADM-2

50

Relational Scheme

Page 51: Specification of Web applications  with ADM-2

51

NCM data diagram

Page 52: Specification of Web applications  with ADM-2

52

NCM - Phase 0

Page 53: Specification of Web applications  with ADM-2

53

NCM - Phase 1

Page 54: Specification of Web applications  with ADM-2

54

NCM - Phase 2

Page 55: Specification of Web applications  with ADM-2

55

NCM - Phase 3

Page 56: Specification of Web applications  with ADM-2

56

NCM - Phase 4

Page 57: Specification of Web applications  with ADM-2

57

NCM - Phase 5

Page 58: Specification of Web applications  with ADM-2

58

NCM - Phase 6

Page 59: Specification of Web applications  with ADM-2

59

ADM - Conference setup

Page 60: Specification of Web applications  with ADM-2

60

ADM - PC-member registration

Page 61: Specification of Web applications  with ADM-2

61

ADM -Author registration

Page 62: Specification of Web applications  with ADM-2

62

ADM - Paper submission

Page 63: Specification of Web applications  with ADM-2

63

ADM - Paper administration

Page 64: Specification of Web applications  with ADM-2

64

ADM - Paper assignments

Page 65: Specification of Web applications  with ADM-2

65

ADM - Paper interest

Page 66: Specification of Web applications  with ADM-2

66

ADM - Paper review list

Page 67: Specification of Web applications  with ADM-2

67

ADM - Paper download

Page 68: Specification of Web applications  with ADM-2

68

ADM - Reviewer registration

Page 69: Specification of Web applications  with ADM-2

69

ADM - Insert report

Page 70: Specification of Web applications  with ADM-2

70

ADM - Paper statistics

Page 71: Specification of Web applications  with ADM-2

71

ADM - Paper selection

Page 72: Specification of Web applications  with ADM-2

72

ADM - Accepted paper

Page 73: Specification of Web applications  with ADM-2

73

ADM - Home Pages