Professional Documents
Culture Documents
Abstract
Web services are modular web applications that
can be independently deployed and invoked by other
software or services on the web. This offers enterprises
the capability to integrate in-house business services
with external Web services to conduct complex
business transactions. The integration efficiency and
flexibility are critical for services composition. For
Web services providing a similar functionality, Quality
of Service (QoS) is the main factor to differentiate
them. The overall QoS of a business process must meet
a users requirement. In this paper, we propose a
broker-based framework to facilitate dynamic
integration and adaptation of QoS-aware Web services
with end-to-end QoS constraints. The key functions of a
dynamic broker include service collection, selection,
composition and adaptation. Our study considers both
functional and QoS characteristics of Web services to
identify the optimal business process solutions.
1.
Introduction
2.
Related Work
3.
3.1
QoS Model
Composition
for
Web
Service
QoS Attributes
n
s1
s2
s3
(1) sequential
s2
s3
s1
s4
(2) parallel
s2
p1
s1
s1
s4
p2
s3
(4) while/loop
(3) conditional
(p 1 +p 2 = 1,
0<p 1 <1, 0< p 2 <1)
3.2
log( R S ) = log(
n
i =1
Ri ) =
n
i =1
log( Ri ) .
n
i =1
Ri' . The
C =
R =
A=
i =1
n
i =1
n
C si
i =1
n
i =1
Ri
Ai
Broker
Other Brokers
BrokerService
Info Manager
Broker
Service Info
Manager
QoS Information
Service Requestor
User
requests
Services
repository
Web
Services
Execution
plan
Composition
Manager
Process
repository
QoS
requirements
Selection
Manager
QoS Confirmation
QoS Info. Update
Selection Result
Adaptation
Manager
Execution
Engine
Report,
QoS Info.
4.
System Architecture
5.
7.
8.
4.1
9.
Service Table
Each Web service in the Service Table includes
the following fields (both functional and QoS
characteristics, see Table 2):
1. ID: a unique representation of the record;
2. Service Name: name of the Web service;
3. URL: where the Web service is located (usually it
points to the WSDL file of the service); e.g.
http://www.xmethods.net/wsdl/xspace_v1.wsdl;
4. Namespace URI: the namespace used for
definitions in the service WSDL document. Each
Web service needs a unique namespace for client
6.
10.
11.
12.
13.
14.
15.
Service
Name
s1
URL
http:
//a.b
URI
d.e.f
Service
Class
Oper.
Input
Output
Desc.
op1
In1
Out1
des1
op2
In2
Out2
des2
S1
Service
Level
l1
l2
l1
l2
l3
Max.
Cap.
10
8
9
9
10
Cur.
Cap.
6
5
3
6
1
Tmax
Tavg
Cost
Re.
Av.
50
100
30
70
100
40
70
20
50
80
100
50
200
120
60
.8
.8
.7
.7
.7
.9
.9
.9
.9
.9
Oper.
op1
op2
Service
Level
l1
l2
Invoke
Times
10
50
Service Classes
M1
M2
4.2
Latest
Invoke Time
timestamp
timestamp
Tavg
45
60
Std.
Dev.
2.3
..
Re.
Av.
.6
..
.9
S2
S3
S7
start
Process plan 1
S2
S3
S7
S4
S5
S6
end
S1
S1
S4
S5
S6
Execution plan
Process plan 2
4.3
Selection
Manager
(SM):
Dynamic
Service Selection
The execution plan generated by CM is an abstract
graph. No specific service is identified in it. In order to
initiate the actual business process, the Selection
Manager (SM) needs to select a specific service and
service level along an optimal path in the execution
plan. The selection is based on a users QoS
requirements, as shown in Figure 2.
Utility function
In order to construct a composite Web service
(business process), besides satisfying users functional
and QoS requirements, we also define an objective
function for optimization. In out study, we define a
utility function as our optimization objective. The
utility function is based on a weighted sum of system
parameters, including static server information (service
level), client QoS requirement (QoS constraint),
dynamic server capacity (server load), etc. Each service
level of every individual service has its own utility
computed by the utility function. Detailed information
about the utility function definition can be found in
[13].
Problem Definition
For a business process that is composed of several
services, each service has several service levels. The
business process is constructed by a combination of
service levels of each service along an execution path.
The service selection problem can be defined as:
Definition 1: Suppose a user has n QoS
requirements Qc = (Qc1 ,Qc2 , ,Qcn). There are a total
of N service level combinations, each has an overall
QoS value defined by Qi =(Qi1 ,Qi2 , ,Qin) and a
utility value Ui, defined by the utility function. The
service selection problem for constructing an optimal
business process is to find a service level combination
that produces the highest utility while satisfying all
users functional and QoS requirements among all
service level combinations, i.e.
Find
Subject to
i
Ui U j
Q ik Q ck
(1 i , j N )
(1 k n )
Optimal
Process
BP1
s1 (l1),
s3(l2),
s5(l1),
s7(l1)
Failed
Service
Name
Backup
process
s2 (l1), s3(l2),
s5(l1), s7(l1)
s1
s3
..
Replacement
Process
s1 (l1),
s4(l2),
s5(l1), s7(l1)
..
s1 (l1), s4(l1),
s6(l1), s8(l1)
..
4.4
5.
b( s, l ) avgb
c( s, l ) avgc
) + w * (1
)
stdb
stdc
wb and wc are the weights of benefit and cost, wb + wc
=1, wb 0, wc 0
b(s,l), c(s,l): benefit and cost of service s at level l
avgb, avgc: average benefit and cost for all services in
the same service class
stdb, stdc: standard deviation of all benefits and costs;
Fsl = wb * (
6.
Conclusion
s ta rt
S1
S6
S4
S3
S5
end
S8
S7
e p 1 : S 1 ,S 2 ,S 4 ,S 5 ,S 6 ,S 8 ;
e p 2 : S 1 ,S 3 ,S 4 ,S 5 ,S 6 ,S 8
e p 3 : S 1 ,S 2 ,S 4 ,S 5 ,S 7 ,S 8 ;
e p 4 : S 1 ,S 3 ,S 4 ,S 5 ,S 7 ,S 8
S1
1,2,3,4,5
S2
6,7,8,9,10
Delay Constraint
S8
36,37,38,39,40
91
Delay
91
Utility
1469
Process
1,7,16,21,29,40
Failed
Service
Delay
Utility
Backup Path
91
1337
16
21
29
40
89
88
88
88
1447
1374
1268
1439
1,10,20,21,29,39,4
1
1,7,20,21,29,40,41
1,7,16,25,29,39,41
1,7,16,21,31,40,41
1,7,16,21,29,39,41
Delay
Utility
Replacement Path
91
89
89
91
91
88
1379
1347
1447
1404
1367
1439
2,7,20,21,29,40,41
1,6,16,22,29,40,41
1,7,20,21,29,40,41
1,7,16,25,29,40,41
1,7,16,21,28,40,41
1,7,16,21,29,39,41
Replacement
Paths
Backup Paths
Optimal Path
Failed
Service
1
7
16
21
29
40
7.
References