Process Execution Language (BPEL) for Web
Services (OASIS, 2007). But these approaches are
not considering quality of service in the composition
process. Though there is a lot of research in web
services and composition, not much is related to
QoS. The existing work mostly refers only to a part
of the whole problem. (Liu et al, 2004) for example
present a framework to publish up-to-date QoS
information for web services, but the success of this
mechanism depends on feedback of users about the
quality of the services they consume. (Zeng et al,
2004) present a method to select services that fit to a
user’s interest (expressed as QoS parameters). Local
optimization and global planning are combined to
find the best set of services for a composition. But,
in case of highly dynamic QoS parameters, the
global planning approach might take more time for
re-calculation than the execution of the service
would need. Thus the approach itself can violate the
QoS. (Jaeger et al, 2004) propose a mechanism
which could be more efficient by using an aggrega-
tion scheme for QoS aspects. The approach sounds
well but was not implemented nor tested by the
authors. We used this approach as basis for the
implementation of an own solution to consider QoS
aspects in composition (Thißen and Wesnarat, 2006)
which is explained more detailed in chapter 3.
All these approaches have the same weakness:
services for the composition are chosen some time
before execution. If QoS parameters change, during
service execution the QoS demands of a user never-
theless can be violated. Replication is a possible
solution to deal with dynamic QoS parameters on
performance, high availability, and fault tolerance/
reliability. Instead of running a single instance of a
service, several copies are used. Replication defines
methods for keeping consistent all copies (called
replicas). The complexity is hidden from the user of
a service by a frontend which acts as the service
from the user’s view. A lot of replication algorithms
are given. In active replication, all replicas act in the
same way. The frontend uses group communication
to distribute a request to all replicas. It decides how
to deal with responses of the replicas, depending on
the QoS aspect which should be considered. To
ensure service available or to decrease the response
time of a service (performance), the frontend returns
the first response to the user. To improve fault
tolerance, it compares and combines all responses. A
different approach is passive replication. One replica
is a primary, and the frontend only communicates
with this replica. The primary forwards the requests
to all other replicas (backups) to keep them consis-
tent. If the primary fails, a backup can take over its
role, which improves fault tolerance and availability.
There are lot of other replication algorithms, and
also approaches exist to implement them within a
web service architecture. E.g., (Ye and Shen, 2005)
discuss active replication for web services. But, the
focus is only on reliability of web services, and only
active replication is implemented. The same holds
for (Chan et al, 2007): it is focussed on reliability.
WS-Replication (Salas et al, 2006) also uses active
replication to achieve high availability, and WS-
multicast is used for communication between the
replicas. WS-multicast is SOAP-based and maybe
causes a high overhead. (Osrael et al, 2007) is a
more flexible approach, implementing passive
replication and designing an open system for later
addition of other replication strategies. Consistency
can be weakened in this approach to reduce the
performance overhead caused by update propaga-
tion. But, till now only a variant of passive replica-
tion is realized, and the focus is on fault tolerance.
Concluding, the replication approaches either
focus on only one replication strategy, use multicast
on SOAP level which decreases performance, or
only consider a certain QoS aspect, e.g. availability.
Thus we designed an own replication framework for
integration with composition, which offers more
flexibility, see chapter 4.
3 QOS IN SERVICE SELECTION
For composing web services under QoS constraints,
we followed the approach presented in (Jaeger et al,
2004): a workflow pattern is given, showing the
relations between services. Aggregation rules are
used to combine quality measures assigned with
single services to come to an overall rating of sets of
services. We identified relevant QoS information
and basic composition patterns (SEQUENCE, AND,
OR, XOR, and LOOP) from which the whole
workflow pattern can be formed. Next, we defined
corresponding aggregation rules and a selection
mechanism to choose the best service candidates.
Given the workflow pattern for a composed service,
aggregation of QoS parameters is done by collapsing
the whole composition graph step-wisely into a
single node, starting with the innermost composition
pattern. By aggregating the properties recursively,
only one node is left in the final state. A set of
formulas was defined to model the aggregation of
the QoS parameters performance, cost, reliability,
and availability. This mechanism enables us to
check the resulting QoS of a set of services. Because
ICE-B 2008 - International Conference on e-Business
156