25
07.01.2010 | EWST Seminar Model Driven Design of Web Service Operations using Web Engineering Practices

EWST - Model Driven Design of Web Service Operations using Web

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: EWST - Model Driven Design of Web Service Operations using Web

07.01.2010 | EWST Seminar

Model Driven Design of Web Service Operations using Web Engineering Practices

Page 2: EWST - Model Driven Design of Web Service Operations using Web

Edgar Näther | EWST - Seminar | 07.01.2010

2

Model Driven Design of Web Service Operations using Web Engineering Practices

?

Vicente Pelechano Marta Ruiz

Presented at Workshop on Emerging Web Services Technology 2006

Page 3: EWST - Model Driven Design of Web Service Operations using Web

Edgar Näther | EWST - Seminar | 07.01.2010

3

Overview

1. Model Driven Development

■ OO – Method

■ OOWS – Method

2. Web Service Design Process

■ Process Steps

■ Identifying Operations from

□ Requirements / OO Method Models

□ OOWS Method Models

Page 4: EWST - Model Driven Design of Web Service Operations using Web

Edgar Näther | EWST - Seminar | 07.01.2010

4

Model Driven Development

■ Programming on a higher abstraction level

■ Often DSLs are created and used

■ Model transformations

■ Clear distinction between implementation and functions

Automatic way

Page 5: EWST - Model Driven Design of Web Service Operations using Web

Edgar Näther | EWST - Seminar | 07.01.2010

5

OO - Method

Conceptual Models

Object Model Dynamic Model Functional Model

Page 6: EWST - Model Driven Design of Web Service Operations using Web

Edgar Näther | EWST - Seminar | 07.01.2010

6

OO - Method

Conceptual Models

Formal Specification OASIS

Implementation (n-tier architectur)

HighAbstraction

LowAbstraction

Execution Model

conceptual construct → formel concept

Page 7: EWST - Model Driven Design of Web Service Operations using Web

Edgar Näther | EWST - Seminar | 07.01.2010

7

Trips<<context>>

Trip<<view>>

+destination+end+start

+()

Country Info<<view>>

+air temp+water temp+countryDesc

OOWS - Method

Web Conceptual Models

User Model Navigational Model Presentational Model

Anonymious

Member

Administrator

GuestEquipmentShop

<<E>>Countries<<E>>

Country Infos<<S>>

Guest

...

Pattern: registerOrder: start ascPagination: Static 4

Page 8: EWST - Model Driven Design of Web Service Operations using Web

Edgar Näther | EWST - Seminar | 07.01.2010

8

Overview

1. Model Driven Development

■ OO – Method

■ OOWS – Method

2. Web Service Design Process

■ Process Steps

■ Identifying Operations from

□ Requirements / OO Method Models

□ OOWS Method Models

Page 9: EWST - Model Driven Design of Web Service Operations using Web
Page 10: EWST - Model Driven Design of Web Service Operations using Web

Edgar Näther | EWST - Seminar | 07.01.2010

10

■ Result of requirements elicitation is a requirements model

■ Based on concept of tasks

□ Define task taxonomy for each kind of user (Concur Task Tree)

□ For each task create description of the interaction users require

Identifying Operations from Requirements / OO Models

Page 11: EWST - Model Driven Design of Web Service Operations using Web

Edgar Näther | EWST - Seminar | 07.01.2010

11

■ Result of requirements elicitation is a requirements model

■ Based on concept of tasks

□ Define task taxonomy for each kind of user (Concur Task Tree)

□ For each task create description of the interaction users require

Identifying Operations from Requirements / OO Models

Page 12: EWST - Model Driven Design of Web Service Operations using Web

Edgar Näther | EWST - Seminar | 07.01.2010

12

■ Result of requirements elicitation is a requirements model

■ Based on concept of tasks

□ Define task taxonomy for each kind of user (Concur Task Tree)

□ For each task create description of the interaction users require

Identifying Operations from Requirements / OO Models

Page 13: EWST - Model Driven Design of Web Service Operations using Web

Edgar Näther | EWST - Seminar | 07.01.2010

13

■ Result of requirements elicitation is a requirements model

■ Based on concept of tasks

□ Define task taxonomy for each kind of user (Concur Task Tree)

□ For each task create description of the interaction users require

Identifying Operations from Requirements / OO Models

…<wsdl:op name=“addMember“><wsdl:op name=“modifyMember“><wsdl:op name=“bookAJournay“>...

Page 14: EWST - Model Driven Design of Web Service Operations using Web

Edgar Näther | EWST - Seminar | 07.01.2010

14

■ Result of requirements elicitation is a requirements model

■ Based on concept of tasks

□ Define task taxonomy for each kind of user (Concur Task Tree)

□ For each task create description of the interaction users require

Identifying Operations from Requirements / OO Models

* 1

Page 15: EWST - Model Driven Design of Web Service Operations using Web

Edgar Näther | EWST - Seminar | 07.01.2010

15

■ Result of requirements elicitation is a requirements model

■ Based on concept of tasks

□ Define task taxonomy for each kind of user (Concur Task Tree)

□ For each task create description of the interaction users require

Identifying Operations from Requirements / OO Models

* 1

Page 16: EWST - Model Driven Design of Web Service Operations using Web

Edgar Näther | EWST - Seminar | 07.01.2010

16

Overview

■ Model Driven Development

■ OO – Method

■ OOWS – Method

2. Web Service Design Process

■ Process Steps

■ Identifying Operations from

□ Requirements / OO Method Models

□ OOWS Method Models

Page 17: EWST - Model Driven Design of Web Service Operations using Web

Edgar Näther | EWST - Seminar | 07.01.2010

17

Identifying Operations from OOWS - User Model

Classification of operations into three types

■ User identification

□ LoginUser, logoutUser, obtainRole,changeRole, remindPassword

■ User administration

□ newUser,modifyUser,deleteUser

■ Management of user's permission and roles

□ newRole,deleteRole,addUserToRole,removeUserToRol,

addPermission,removePermission (RBAC model)

Page 18: EWST - Model Driven Design of Web Service Operations using Web

Edgar Näther | EWST - Seminar | 07.01.2010

18

Identifying Operations from OOWS - User Model

Operations are detected from user diagram and RBAC model

Anonymious

Member

Administrator

Guest

+ RBAC model

…<wsdl:op name=“loginUser“><wsdl:op name=“logoutUser“><wsdl:op name=“changeRole“><wsdl:op name=“remindPassword“>

<wsdl:op name=“newUser“><wsdl:op name=“modifyUser“>

<wsdl:op name=“addUserToRole“>....

Page 19: EWST - Model Driven Design of Web Service Operations using Web

Edgar Näther | EWST - Seminar | 07.01.2010

19

Identifying Operations from OOWS - Navigational Model

■ For each kind of user specify system view

■ Built in to steps

1. Define global view ofer navigation – Navigational Map

2. Create description of each element defined in first step – Navigational Context

Page 20: EWST - Model Driven Design of Web Service Operations using Web

Edgar Näther | EWST - Seminar | 07.01.2010

20

Identifying Operations from OOWS - Navigational Model

1.Define global view ofer navigation – Navigational Map

EquipmentShop<<E>>

Countries<<E>>

Trips<<E>>

Membership<<E>>

County Infos<<S>>

Trip Details<<S>>

book Trip<<S>>

Guest

...

…<wsdl:op name=“explorationLink“>

<wsdl:op name=“sequenceLink“>...

Page 21: EWST - Model Driven Design of Web Service Operations using Web

Edgar Näther | EWST - Seminar | 07.01.2010

21

Identifying Operations from OOWS - Navigational Model

2.Create description of each element – Navigational Context

ATTRIBUTE INDEX destination_charATTRIBUTES destination,start,endLINK ATTRIBUTE destination

FILTER TRIPATTRIBUTE startTYPE APPROXIMATE

…<wsdl:op name=“retrieveTrip“><wsdl:op name=“getIndexedTrip“><wsdl:op name=“searchTrip“>...+bookTrips()

Page 22: EWST - Model Driven Design of Web Service Operations using Web

Edgar Näther | EWST - Seminar | 07.01.2010

22

Identifying Operations from OOWS - Presentational Model

■ Based On navigational contexts

■ Basic patterns for presentation requirements

■ Information Paging

□ Scrolling through „logical blocks“ of information

■ Ordering Criteria

□ Class population ordering (asc,desc

■ Information Layout

□ Register, tabular, master-detail, tree

Page 23: EWST - Model Driven Design of Web Service Operations using Web

Edgar Näther | EWST - Seminar | 07.01.2010

23

Identifying Operations from OOWS - Presentational Model

Trips<<context>>

Trip<<view>>

+destination+start+services+end

+()

Country Info<<view>>

+air temperature+water temperature+countryDescripion

[Country]

Pattern: registerOrder: destination(ASC)Pagination: Static Cardinality 4Sequential Access

Pattern:register

…<wsdl:op name=“presentationContext“><wsdl:op name=“presentationInfo“>...

Page 24: EWST - Model Driven Design of Web Service Operations using Web

Edgar Näther | EWST - Seminar | 07.01.2010

24

Summarization

■ Methodological guide to develop web service based web applications and identifying operations needed by service to fit in requirements

■ Model driven approach based on OO / OOWS – Method

■ Tool support to generate WSDL-file automatically

User Model Navigational Model Presentational Model

Operations foruser management

Operations fornavigation

Operations forpresentation

Requirements Model

Operations for implementingfunctional requirements

OO Models

Page 25: EWST - Model Driven Design of Web Service Operations using Web

Edgar Näther | EWST - Seminar | 07.01.2010

25

Discussion

■ One Web service with a lot of operations for whole web application?

■ Idea of a web service and using it in context of supporting navigational and presentational features?