1 Specification of Web applications with ADM-2 Paolo Atzeni, Alessio Parente Università Roma Tre...

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
  • date post

    20-Dec-2015
  • Category

    Documents

  • view

    219
  • download

    0

Transcript of 1 Specification of Web applications with ADM-2 Paolo Atzeni, Alessio Parente Università Roma Tre...

Page 1: 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.

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: 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!

Page 3: 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.

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: 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.

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: 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.

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: 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.

6

A Web page

Page 7: 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.

7

A page-scheme

ProfessorPage

NamePositionAddress

EMailResearchList

AreaToResP

Page 8: 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.

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: 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.

9

A Web page, with a list of links:

Page 10: 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.

10

ProfessorListPage

ProfessorListNameToProfP

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

Page 11: 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.

11

ProfessorListPage

ProfessorListNameToProfP

ProfessorPage

NamePositionAddress

EMailResearchList

AreaToResP

An ADM Scheme

Page 12: 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.

12

Heterogeneous Union and Forms

Page 13: 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.

13

ProfessorListPage

ProfessorListName

ToProfP

ProfessorPageNamePosition

Address

EMailResearchList

Area

ToResP

Name

Submit

U

SearchProfPage

Heterogeneous Union and Forms

Page 14: 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.

14

Another ADM scheme (another representation)

Page 15: 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.

15

Data Models

ER

ADM

Database ConceptualScheme

(entities - relationships)

Hypertext LogicalScheme

(page-schemes, links)

Not so close!

Page 16: 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.

16

Page 17: 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.

17

Page 18: 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.

18

Navigational ER

Page 19: 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.

19

From Navigational ER to ADM

Page 20: 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.

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: 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.

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: 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.

22

The Araneus methodology

ER

NCM

RDBADM

Styles

Site

Page 23: 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.

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: 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.

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: 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.

25

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

Page 26: 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.

26

Step 2: Site ModelingUser Specifies Navigational Features

Page 27: 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.

27

Step 2: Site ModelingHomer Generates the Site Scheme

Page 28: 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.

28

Step 3: Presentation ModelingHomer Generates Page Templates

• Templates: sample pages with “placeholders”

Page 29: 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.

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: 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.

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: 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.

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: 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.

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: 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.

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: 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.

34

Management of users: authorization and personalization

DEFINE RIGHTS

GROUP PCchair

IN AuthorData,AuthorList;

GROUP Author

IN CoAuthorPreRegistration,

AuthorRegistration:ONETOONE,

AuthorData:ONETOONE;

Page 35: 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.

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: 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.

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: 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.

37

The Araneus methodology

ER

NCM

RDBADM

Styles

Site

Page 38: 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.

38

The Araneus-2 methodology

ER

NCM

RDBADMi

Site

ADM

Activity D

Use Case D

UseCasei

*

*

Page 39: 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.

39

Activity diagram

Page 40: 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.

40

Use Case Notation ("Stereotypes")

read-only read-write

Page 41: 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.

41

Use Case Diagram - Phase 0

Page 42: 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.

42

Use Case Diagram - Phase 1

Page 43: 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.

43

Use Case Diagram - Phase 2

Page 44: 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.

44

Use Case Diagram - Phase 3

Page 45: 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.

45

Use Case Diagram - Phase 4

Page 46: 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.

46

Use Case Diagram - Phase 5

Page 47: 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.

47

Use Case Diagram - Phase 6

Page 48: 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.

48

E-R scheme

Page 49: 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.

49

E-R Scheme - part II

Page 50: 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.

50

Relational Scheme

Page 51: 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.

51

NCM data diagram

Page 52: 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.

52

NCM - Phase 0

Page 53: 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.

53

NCM - Phase 1

Page 54: 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.

54

NCM - Phase 2

Page 55: 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.

55

NCM - Phase 3

Page 56: 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.

56

NCM - Phase 4

Page 57: 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.

57

NCM - Phase 5

Page 58: 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.

58

NCM - Phase 6

Page 59: 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.

59

ADM - Conference setup

Page 60: 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.

60

ADM - PC-member registration

Page 61: 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.

61

ADM -Author registration

Page 62: 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.

62

ADM - Paper submission

Page 63: 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.

63

ADM - Paper administration

Page 64: 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.

64

ADM - Paper assignments

Page 65: 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.

65

ADM - Paper interest

Page 66: 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.

66

ADM - Paper review list

Page 67: 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.

67

ADM - Paper download

Page 68: 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.

68

ADM - Reviewer registration

Page 69: 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.

69

ADM - Insert report

Page 70: 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.

70

ADM - Paper statistics

Page 71: 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.

71

ADM - Paper selection

Page 72: 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.

72

ADM - Accepted paper

Page 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.

73

ADM - Home Pages