Multicriteria Evaluation Based Framework for
Composite Web Service Selection
Samir Youcef and Salem Chakhar
Laboratoire d’Analyse et de Modélisation
des Systèmes pour l’Aide à la Décision
Université de Paris-Dauphine
21 February 2008
Web service architecture
Web services selection Proposed model Conclusion
Elementary Web Service
Web service definition (W3C)
B
Web service is a software system designed to support
interoperable machine to machine interaction over a network
B
Interoperability among services is insured by the open
protocols:
Description: XML (eXtensible Markup language)
Transport: SOAP (Simple Object Access Protocol)
Interface: WSDL (Web Service Description Language)
WSDL is limited to simple operations:
How compose the different operations (Need a standard
description of the process)
Composite Web service
Composition languages
WSFL (Web Services Flow Language): IBM
XLANG (XML Business Process Language): Microsoft
PBML (Business Process Modeling Language): BPMI.org
BPEL4WS
BPEL4WS is the merger of WSFL, XLANG et PBML
BPEL4WS constructors
Basic: invoke, receive, reply, wait, assign,...
Structured: sequence, switch, while, flow, pick,...
Web service architecture
Web services selection Proposed model Conclusion
Conventional Web service architecture
B
A Web service can be discovered in UDDI registry.
SOAP HTTP,FTP... Search UDDI Publication of the WSDL Decsription
Service customer Service provider
Recuperation of the WSDL description
Bind
Web services selection
B
Composite Web service=A+B+C (What is the best composition?)
Search UDDI Publication of the WSDL Decsription Service customer Recuperation of the WSDL description Bind Service A: provider 1, provider 2. Service B: provideer 1, provider 2, provider 3. Service C: provider 1, provider 2.
Travel site: airline booking, hotel reservation, car reservation http
Web service architecture
Web services selection
Proposed model Conclusion
Web services selection
Quality of service (QoS)
QoS is a combinaison of several properties:
Qualitative: security, reputation,...
Quantitative: response time, availability,...
Previous studies
Single evaluation criterion
Successive evaluation ("general level" of different
composition)
Local strategy selection
Web services selection
Limitations
A single criterion does not permit to encompass all the
facets of the problem
Weighted sum-like aggregation rules may lead to the
compensation problem
Several QoS evaluation criteria are naturally qualitative
Proposed solution
Using multicreteria evaluation of the different composition
Extend the conventional Web service architecture, using
QoS
Web service architecture Web services selection
Proposed model
Conclusion
Extended conventional Web service architecture
Multicriterai Evalutaion? yes no infer evaluate Multicriteria Evaluation Component (MEC) W-IRIS DecisionDeck Conventional Evaluation Customer Provider UDDI registry
response find response
bind publish
Extended conventional Web service architecture
Multicriterai Evalutaion? yes no infer evaluate Multicriteria Evaluation Component (MEC) W-IRIS DecisionDeck Conventional Evaluation Customer Provider UDDI registryresponse find response
bind publish
Web service architecture Web services selection
Proposed model
Conclusion
Extended conventional Web service architecture
Multicriterai Evalutaion? yes no infer evaluate Multicriteria Evaluation Component (MEC) W-IRIS DecisionDeck Conventional Evaluation Customer Provider UDDI registry
response find response
bind publish
Extended conventional Web service architecture
Multicriterai Evalutaion? yes no infer evaluate Multicriteria Evaluation Component (MEC) W-IRIS DecisionDeck Conventional Evaluation Customer Provider UDDI registryresponse find response
bind publish
Web service architecture Web services selection
Proposed model
Conclusion
Extended conventional Web service architecture
Multicriterai Evalutaion? yes no infer evaluate Multicriteria Evaluation Component (MEC) W-IRIS DecisionDeck Conventional Evaluation Customer Provider UDDI registry
response find response
bind publish
Web service architecture Web services selection
Proposed model
Conclusion
Definitions
Elementary Web service definition
Web service s
i
,
i
∈ {
1
, ..,
n
}
is characterized by the tuple:
F
i
: description functionality
Q
i
: specification of its QoS
C
i
: cost specification
P
i
: set of providers of functionality F
i
, i
∈ {
1
, ...,
n
}
Composite Web service definition
G
= (
X
,
V
)
composite graphe associated with s
1
, ...,
s
n
A composite Web service is an instance
{
s
1
, ...,
s
n
}
of G,
such: s
1
∈
P
1
,...,s
n
∈
P
n
s
i
j
: ith elementary Web service offered by the jth provider
Decision Deck, February 21-02-2008 Multicriteria Framework for Composite Web SelectionPotential composite Web services
Algorithm CompositionsConstruction
INPUT:
G
=
(X
,V
)
:
composition
graph
P
= {P
1,
P
2, · · · ,
P
n}
:
providers
OUTPUT:
C
:
potential compositions
T
←
Construct
−Tree(
X
,
P
)
t
←
1
WHILE
t
<=
Q
ni=1|P
i|
X
t←
ElementaryPath(
T
)
//X
t= {s
1·,
s
· 2, · · · ,
s
· n}
FOR each
(S
h,S
k) ∈
V
V
t← (s
h·,
s
·k)
END
−FOR
c
t←
G
t= (X
t,
V
t)
C
←
C
∪
c
tt
←
t
+
1
END
−WHILE
r . . . . . . . . . . . . s1 1 s 2 1 s 3 1 s 4 1 s1 2 s 2 2 s 3 2 s 3 2 s2 2 s1 2 s1 3 s 2 3 s 1 3 s 2 3 s1 4 s 1 4 s1 5 s 2 5 s 3 5 s 4 5 s55 s 1 5 s 2 5 s 3 5 s 4 5 s 5 5 s1 6 s 2 6 s 1 6 s 2 6 . . .Web service architecture Web services selection
Proposed model
Conclusion
Potential composite Web services
Algorithm CompositionsConstruction
INPUT:
G
=
(X
,V
)
:
composition
graph
P
= {P
1,
P
2, · · · ,
P
n}
:
providers
OUTPUT:
C
:
potential compositions
T
←
Construct
−Tree(
X
,
P
)
t
←
1
WHILE
t
<=
Q
ni=1|P
i|
X
t←
ElementaryPath(
T
)
//X
t= {s
1·,
s
· 2, · · · ,
s
· n}
FOR each
(S
h,S
k) ∈
V
V
t← (s
h·,
s
·k)
END
−FOR
c
t←
G
t= (X
t,
V
t)
C
←
C
∪
c
tt
←
t
+
1
END
−WHILE
r . . . . . . . . . . . . s1 1 s 2 1 s 3 1 s 4 1 s1 2 s 2 2 s 3 2 s 3 2 s2 2 s1 2 s1 3 s 2 3 s 1 3 s 2 3 s1 4 s 1 4 s1 5 s 2 5 s 3 5 s 4 5 s55 s 1 5 s 2 5 s 3 5 s 4 5 s 5 5 s1 6 s 2 6 s 1 6 s 2 6 . . .Potential composite Web services
Algorithm CompositionsConstruction
INPUT:
G
=
(X
,V
)
:
composition
graph
P
= {P
1,
P
2, · · · ,
P
n}
:
providers
OUTPUT:
C
:
potential compositions
T
←
Construct
−Tree(
X
,
P
)
t
←
1
WHILE
t
<=
Q
ni=1|P
i|
X
t←
ElementaryPath(
T
)
//X
t= {s
1·,
s
· 2, · · · ,
s
· n}
FOR each
(S
h,S
k) ∈
V
V
t← (s
h·,
s
·k)
END
−FOR
c
t←
G
t= (X
t,
V
t)
C
←
C
∪
c
tt
←
t
+
1
END
−WHILE
r . . . . . . . . . . . . s1 1 s 2 1 s 3 1 s 4 1 s1 2 s 2 2 s 3 2 s 3 2 s2 2 s1 2 s1 3 s 2 3 s 1 3 s 2 3 s1 4 s 1 4 s1 5 s 2 5 s 3 5 s 4 5 s55 s 1 5 s 2 5 s 3 5 s 4 5 s 5 5 s1 6 s 2 6 s 1 6 s 2 6 . . .Web service architecture Web services selection
Proposed model
Conclusion
Potential composite Web services
Algorithm CompositionsConstruction
INPUT:
G
=
(X
,V
)
:
composition
graph
P
= {P
1,
P
2, · · · ,
P
n}
:
providers
OUTPUT:
C
:
potential compositions
T
←
Construct
−Tree(
X
,
P
)
t
←
1
WHILE
t
<=
Q
ni=1|P
i|
X
t←
ElementaryPath(
T
)
//X
t= {s
1·,
s
· 2, · · · ,
s
· n}
FOR each
(S
h,S
k) ∈
V
V
t← (s
h·,
s
·k)
END
−FOR
c
t←
G
t= (X
t,
V
t)
C
←
C
∪
c
tt
←
t
+
1
END
−WHILE
r . . . . . . . . . . . . s1 1 s 2 1 s 3 1 s 4 1 s1 2 s 2 2 s 3 2 s 3 2 s2 2 s1 2 s1 3 s 2 3 s 1 3 s 2 3 s1 4 s 1 4 s1 5 s 2 5 s 3 5 s 4 5 s55 s 1 5 s 2 5 s 3 5 s 4 5 s 5 5 s1 6 s 2 6 s 1 6 s 2 6 . . .Potential composite Web services
Algorithm CompositionsConstruction
INPUT:
G
=
(X
,V
)
:
composition
graph
P
= {P
1,
P
2, · · · ,
P
n}
:
providers
OUTPUT:
C
:
potential compositions
T
←
Construct
−Tree(
X
,
P
)
t
←
1
WHILE
t
<=
Q
ni=1|P
i|
X
t←
ElementaryPath(
T
)
//X
t= {s
1·,
s
· 2, · · · ,
s
· n}
FOR each
(S
h,S
k) ∈
V
V
t← (s
h·,
s
·k)
END
−FOR
c
t←
G
t= (X
t,
V
t)
C
←
C
∪
c
tt
←
t
+
1
END
−WHILE
r . . . . . . . . . . . . s1 1 s 2 1 s 3 1 s 4 1 s1 2 s 2 2 s 3 2 s 3 2 s2 2 s1 2 s1 3 s 2 3 s 1 3 s 2 3 s1 4 s 1 4 s1 5 s 2 5 s 3 5 s 4 5 s55 s 1 5 s 2 5 s 3 5 s 4 5 s 5 5 s1 6 s 2 6 s 1 6 s 2 6 . . .Web service architecture Web services selection
Proposed model
Conclusion
Potential composite Web services
Algorithm CompositionsConstruction
INPUT:
G
=
(X
,V
)
:
composition
graph
P
= {P
1,
P
2, · · · ,
P
n}
:
providers
OUTPUT:
C
:
potential compositions
T
←
Construct
−Tree(
X
,
P
)
t
←
1
WHILE
t
<=
Q
ni=1|P
i|
X
t←
ElementaryPath(
T
)
//X
t= {s
1·,
s
· 2, · · · ,
s
· n}
FOR each
(S
h,S
k) ∈
V
V
t← (s
h·,
s
·k)
END
−FOR
c
t←
G
t= (X
t,
V
t)
C
←
C
∪
c
tt
←
t
+
1
END
−WHILE
r . . . . . . . . . . . . s1 1 s 2 1 s 3 1 s 4 1 s1 2 s 2 2 s 3 2 s 3 2 s2 2 s1 2 s1 3 s 2 3 s 1 3 s 2 3 s1 4 s 1 4 s1 5 s 2 5 s 3 5 s 4 5 s55 s 1 5 s 2 5 s 3 5 s 4 5 s 5 5 s1 6 s 2 6 s 1 6 s 2 6 . . .Potential composite Web services
Algorithm CompositionsConstruction
INPUT:
G
=
(X
,V
)
:
composition
graph
P
= {P
1,
P
2, · · · ,
P
n}
:
providers
OUTPUT:
C
:
potential compositions
T
←
Construct
−Tree(
X
,
P
)
t
←
1
WHILE
t
<=
Q
ni=1|P
i|
X
t←
ElementaryPath(
T
)
//X
t= {s
1·,
s
· 2, · · · ,
s
· n}
FOR each
(S
h,S
k) ∈
V
V
t← (s
h·,
s
·k)
END
−FOR
c
t←
G
t= (X
t,
V
t)
C
←
C
∪
c
tt
←
t
+
1
END
−WHILE
r . . . . . . . . . . . . s1 1 s 2 1 s 3 1 s 4 1 s1 2 s 2 2 s 3 2 s 3 2 s2 2 s1 2 s1 3 s 2 3 s 1 3 s 2 3 s1 4 s 1 4 s1 5 s 2 5 s 3 5 s 4 5 s55 s 1 5 s 2 5 s 3 5 s 4 5 s 5 5 s1 6 s 2 6 s 1 6 s 2 6 . . .Web service architecture Web services selection
Proposed model
Conclusion
Potential composite Web services
Algorithm CompositionsConstruction
INPUT:
G
=
(X
,V
)
:
composition
graph
P
= {P
1,
P
2, · · · ,
P
n}
:
providers
OUTPUT:
C
:
potential compositions
T
←
Construct
−Tree(
X
,
P
)
t
←
1
WHILE
t
<=
Q
ni=1|P
i|
X
t←
ElementaryPath(
T
)
//X
t= {s
1·,
s
· 2, · · · ,
s
· n}
FOR each
(S
h,S
k) ∈
V
V
t← (s
h·,
s
·k)
END
−FOR
c
t←
G
t= (X
t,
V
t)
C
←
C
∪
c
tt
←
t
+
1
END
−WHILE
r . . . . . . . . . . . . s1 1 s 2 1 s 3 1 s 4 1 s1 2 s 2 2 s 3 2 s 3 2 s2 2 s1 2 s1 3 s 2 3 s 1 3 s 2 3 s1 4 s 1 4 s1 5 s 2 5 s 3 5 s 4 5 s55 s 1 5 s 2 5 s 3 5 s 4 5 s 5 5 s1 6 s 2 6 s 1 6 s 2 6 . . .Evaluation of compositions
General formula:
v
j
(
x
) = Φ
j
[
g
j
(
x
), Ω(Γ
+
(
x
))
(1)
Response time:
v
1
(
x
) =
g
j
(
x
) +
max
{
v
1
(
y
) :
y
∈ Γ
+
(
x
)}
(2)
or
v
1
(
x
) =
g
j
(
x
)
+
X
y∈Γ
+(x)
π(
x
,
y
) ·
v
1
(
y
)
(3)
Security
v
4
(
x
) =
min
{
g
j
(
x
),
min
y∈Γ
+(x)
{
v
4
(
y
)}}
(4)
Web service architecture Web services selection
Proposed model Conclusion
Evaluation of compositions
s s s s s s 1 2 3 4 5 6 P P 1 2 Composition graph flow switch join s s s s s s 1 2 3 4 5 6 P P 1 2 C1 2 2 1 4 2 3 s s s s s s 1 2 3 4 5 6 P P 1 2 C1 3 2 2 3 2 2Evaluation of compositions
Response time of composite Web service:
s
s
s
s
s
s
1 2 3 4 5 6P
P
1 2flow
switch
join
2 2 1 4 2 32
2
4
3
1
2
V( )=2
s
63Web service architecture Web services selection
Proposed model
Conclusion
Evaluation of compositions
Response time of composite Web service:
s
s
s
s
s
s
1 2 3 4 5 6P
P
1 2flow
switch
join
2 2 1 4 2 32
2
4
3
1
2
V( )=2
V( )=6
s
63s
52bottom
−
up algorithm
Evaluation of compositions
Response time of composite Web service:
s
s
s
s
s
s
1 2 3 4 5 6P
P
1 2flow
switch
join
2 2 1 4 2 32
2
4
3
1
2
V( )=2
V( )=6
V( )=4
s
63s
52s
44Web service architecture Web services selection
Proposed model
Conclusion
Evaluation of compositions
Response time of composite Web service:
s
s
s
s
s
s
1 2 3 4 5 6P
P
1 2flow
switch
join
2 2 1 4 2 32
2
4
3
1
2
V( )=2
V( )=6
V( )=4
V( )= 5
s
6 3s
52s
4s
4 1 3bottom
−
up algorithm
Evaluation of compositions
Response time of composite Web service:
s
s
s
s
s
s
1 2 3 4 5 6P
P
1 2flow
switch
join
2 2 1 4 2 32
2
4
3
1
2
V( )=2
V( )=6
V( )=4
V( )=5
s
6 3s
52s
4s
V( )=3
s
4 1 3 2 2Web service architecture Web services selection
Proposed model
Conclusion
Evaluation of compositions
Response time of composite Web service:
s
s
s
s
s
s
1 2 3 4 5 6P
P
1 2flow
switch
join
2 2 1 4 2 32
2
4
3
1
2
V( )=2
V( )=6
V( )=4
V( )=5
s
6 3s
52s
4s
V( )=
V( )=7
s
3
s
2 4 1 3 2 2 1bottom
−
up algorithm
Conclusion
Proposed model
General framework to composite Web services using QoS
Multicriteria evaluation based approach
QoS criterion evaluation
Generate the different potentials compositions
Futur research
Finalization of the being developed prototype
Extension for the framework to support dynamic
composition (composition graph)
Quantitatives criteria: random variables (response time,
availability,...)
Web service architecture Web services selection Proposed model Conclusion