15
Andrea Maurino Web Service Design Methodology Batini, De Paoli, Maurino, Grega, Comerio WP2-WP3 Roma 24/11/2005

Andrea Maurino Web Service Design Methodology Batini, De Paoli, Maurino, Grega, Comerio WP2-WP3 Roma 24/11/2005

Embed Size (px)

Citation preview

Page 1: Andrea Maurino Web Service Design Methodology Batini, De Paoli, Maurino, Grega, Comerio WP2-WP3 Roma 24/11/2005

Andrea Maurino

Web Service Design Methodology

Batini, De Paoli, Maurino, Grega, Comerio WP2-WP3

Roma 24/11/2005

Page 2: Andrea Maurino Web Service Design Methodology Batini, De Paoli, Maurino, Grega, Comerio WP2-WP3 Roma 24/11/2005

2Web Service Design Modeling

Outline

Aim and guidelines

Ontologies

Phases

Future work

Page 3: Andrea Maurino Web Service Design Methodology Batini, De Paoli, Maurino, Grega, Comerio WP2-WP3 Roma 24/11/2005

3Web Service Design Modeling

The methodology

The methodology provides a rationale for designing/re-designing of a Web service.

The guidelines of our methodology are:

Consider channels and users as first-class citizens;

Consider different level of abstractions;

Evaluate and model QoS requirements;

Use different skills for different problems;

Use standard tools.

Page 4: Andrea Maurino Web Service Design Methodology Batini, De Paoli, Maurino, Grega, Comerio WP2-WP3 Roma 24/11/2005

4Web Service Design Modeling

Ontologies

WSDM exploits three different ontologies developed within the MAIS project:

• Services

• QoS

• Context (channel + user profile)

Three different perspectives:

• Acquisition of common knowledge and mutual relations among entities;

• Verification of the Web service compliancy with ontology definitions;

• Enrichment of ontologies by adding new services, qualities and relationships discovered during the development process.

Page 5: Andrea Maurino Web Service Design Methodology Batini, De Paoli, Maurino, Grega, Comerio WP2-WP3 Roma 24/11/2005

5Web Service Design Modeling

Ontology relationships

Service

Abstract_Service Internet_Service Travel_Service

QualityOfService

QoS_ServiceLevelQoS_PhysicalQoS_NetworkQoS_Architectural

Context

UserProfile Channel

UserActivity UserDescriptionUserRole UserPreference

ConceptualChannel LogicalChannel TechnologicalChannel

Has

Has

OntoServ

OntoQoS

OntoContext

Business Process

provides

Has

QualityOfService

QoS_ServiceLevel

QoS_SL_Domain_Dependent

QoS_SL_Domain_Independent

Usability

Availability

UserProfile

UserDescription

Interest Job PhysicalQualities

MentalQualities

Personal data

BodyFunction

Skills

Education

Expertise

RelationCapabilities

DeliveryTime

Comprehensibility

Learnability

Operability

Pleasantness

MessagePriority

AttachmentPreference

ConfirmationPriority

TruncateMessage

MessageSize

AttachmentNumber

Security

Reliability

Context

Security

OntoContext OntoQoS

...

Channel

UserPreference ...

Page 6: Andrea Maurino Web Service Design Methodology Batini, De Paoli, Maurino, Grega, Comerio WP2-WP3 Roma 24/11/2005

6Web Service Design Modeling

The steps of the methodology

Service ModelingActual

Service Modeling

New Service

Modeling

High-Level Re-Design

Interaction Design

Data and Operation

Design

Customization

Services Identification

Channel Customization

User Customization

Specification of Conceptual Channels

Domain Requirements(User Roles and

Business Processes)

Actual Services

Specification of Technological

Channels

User Profiles

Class Diagrams

Functional Requirements

User Requirements

Specification of Logical Channels

Non-Functional

Requirements

Provider Technological Requirements

Final UML Diagrams

Web Service Description

Functional UML Diagrams

Enriched UML Diagrams

Implementation and Deploy

WSDL/WSOL Documents

Page 7: Andrea Maurino Web Service Design Methodology Batini, De Paoli, Maurino, Grega, Comerio WP2-WP3 Roma 24/11/2005

7Web Service Design Modeling

Services Identification

Goal: define a detailed specification of functional and non-functional requirements for the Web service that has to be developed.

Input: Specification of conceptual channels: an high-level specification of the channels to deliver the service; Domain requirements: business processes the organization needs to support and the roles of the involved users.

Output: Functional / Non-functional requirements: a description of the service in terms of operations, QoS and Context (userProfile and channels) .

Services Identification

Functional / Non-FunctionalRequirements

Specification of conceptualchannels

Domain Requirements

Page 8: Andrea Maurino Web Service Design Methodology Batini, De Paoli, Maurino, Grega, Comerio WP2-WP3 Roma 24/11/2005

8Web Service Design Modeling

Service Modeling

Goal: design the high-level model of the Web service, according to the data and operations that the service will offer.

Input: Functional requirements: defined in the previous phase;

Output: Functional UML Diagrams: represent the domain elements (class diagram) and a description of the interaction between the system and the users (sequence diagram).

Actual Service Modeling

New Service Modeling

Actual Service

Class Diagram

Service Modeling

Functional Requirements

Functional UML Diagrams

Page 9: Andrea Maurino Web Service Design Methodology Batini, De Paoli, Maurino, Grega, Comerio WP2-WP3 Roma 24/11/2005

9Web Service Design Modeling

Service Modeling

The Service modeling phase is divided in two sub-phases:

Actual service modeling: has the goal to model UML diagrams describing the existing services to be redesigned to meet the new requirements. Input of this sub-phase are:

Actual service: description of the existing services in terms of interfaces and interactions; Class diagram: the definition of the data structure of the service.

New service modeling: if actual service modeling has been performed, it has the goal to modify the specification of the existing service according to new requirements. Otherwise, it aim is to design a new service.

Page 10: Andrea Maurino Web Service Design Methodology Batini, De Paoli, Maurino, Grega, Comerio WP2-WP3 Roma 24/11/2005

10Web Service Design Modeling

High-Level Re-Design

Goal: revise and enrich the UML diagrams in the light of the non-functional requirements, the user requirements and the specification of logical channels, and QoS.

Input: Non-functional requirements: defined in the Service Identification phase; Specification of logical channels: specify the logical component involved in the channel, their value constraints and their range of value.

Output: Enriched UML Diagrams.

Data and OperationDesign

Interaction Design

Non-functionalrequirements

Specification oflogical channels

High-level Re-Design

Enriched UML Diagrams

Page 11: Andrea Maurino Web Service Design Methodology Batini, De Paoli, Maurino, Grega, Comerio WP2-WP3 Roma 24/11/2005

11Web Service Design Modeling

High-Level Re-Design

The High-Level Re-design Phase is divided in two sub-phases:

Data and Operation Design: has the goal to enrich UML class diagram of services with non-functional requirements including QoS, channel description and user profile. The designer consults the OntoContext, and OntoQoS ontologies to perform this operation.

Interaction Design: has the goal to enrich UML sequence diagrams with user, channel and QoS requirements and describe the behavior of software components defined in the previous sub-phase.

Page 12: Andrea Maurino Web Service Design Methodology Batini, De Paoli, Maurino, Grega, Comerio WP2-WP3 Roma 24/11/2005

12Web Service Design Modeling

Customization

Goal: refine the current design specification by evaluating the actual deployment scenario. The assumptions taken in the previous phases are compared with the different characteristics of users and providers to verify if service qualities, user and channel profiles are adequate.

Input: Specification of technological channels: technological specification of the different channel components; Provider technological requirements; User profile: static and dynamic characteristics of the user.

Output: Final UML diagrams.

ChannelCustomization

UserCustomization

Specification oftechnologica

lchannels

Providertechnologicalrequirements

Customization

Final UML Diagrams

User Profiles

Page 13: Andrea Maurino Web Service Design Methodology Batini, De Paoli, Maurino, Grega, Comerio WP2-WP3 Roma 24/11/2005

13Web Service Design Modeling

Customization

The Customization phase is divided in two sub-phases:

Channel Customization: has the goal to evaluate the current specification with respect to the available technologies. This evaluation process considers channel constraints imposed by the service provider.

User Customization: has the goal to provide quality thresholds that can be determined by end user profiles and validate if the actual service specification is able to satisfy them.

Page 14: Andrea Maurino Web Service Design Methodology Batini, De Paoli, Maurino, Grega, Comerio WP2-WP3 Roma 24/11/2005

14Web Service Design Modeling

Web Service Description

Goal: transform UML diagrams into web services descriptions according to standard languages. The languages we use are:

WSDL (Web service description language): enables specification of data types (the type element), operation signatures (the message and operation elements), port types (the portType element), message format and transport protocol details (the binding element), network addresses of different ports (the port element), and grouping of different ports into a Web Service (the service element).

WSOL (Web service offerings language): enables specification of non-functional aspects of the Web Service (e.g. QoS constraints).

Page 15: Andrea Maurino Web Service Design Methodology Batini, De Paoli, Maurino, Grega, Comerio WP2-WP3 Roma 24/11/2005

15Web Service Design Modeling

Future work

Use of the UML profile proposed by OMG for the definition of the QoS;

Extension of our methodology in order to design composite web services;

Definition of a complete set of tools that supports the designer in the different phases of the methodology.