You are on page 1of 3

A customer initially registers the details of the goods and initiates the payment transaction through her

credit card. Once the card is verified (task t1), the payment transaction (taskt2) is successfully
completed, and the stock checking (task t3) follows, reserving the registered goods for pickup (task t4).
If stock is not available, then the customer is notified of the delay in the delivery of the goods, and tasks
t3 and t4 of the composition wait for a certain period and are then repeated. This wait-andrepeat
continues until the maximum elapsed time given to the seller. If she fails to deliver within the given time
interval, then the customer should be notified of this and may also receive a recommendation with
another seller’s details if any. If no other seller is ready to dispatch that item or the customer is no
longer interested, then the amount of the payment should be refunded.

Task t1 is accomplished by services s1A and s1B , and t2 is accomplished by services s2A and s2B . s1A
and s2A are owned by a provider A, and s1B and s2B by a provider B. A service composition to fulfill
tasks t1 and t2 can be done using the respective services provided by A or B. If cost of the service is the
constraint (user-provided) for the composition, then the choice of services provided by A is optimal,
since these services are cheaper than the services provided by B. If response time is the composition
constraint, then the selection of services provided by B is to be preferred over the services provided by
A. If the constraint for the composition is a combination of both cost and response time, then the
selection of services for the composition is a more challenging task.

In the case of task t4, the service should be invoked if the ordered good is in stock (verified by task t3);
otherwise, it waits until stock is available. The service that opted to accomplish task t4 may wait and
repeat based on the response of the service that opted for task t3. Hence, the recommendation will be
to choose services for t3 and t4 from the same provider. Another composition context of the goods
ordering process example depicted is the accomplishing of two tasks in parallel. Once goods are
available in stock, tasks t5 (pickup and delivery) and t6 (sending a digitally signed invoice to the client via
an email) can be performed in parallel. The failure of the service related to t5 cannot be tolerated
against successful completion of the service related to t6. Upon the successful completion of the
services related to t5 and t6, the service in the schedule to accomplish task t7 (requesting feedback from
the customer) is initiated. Further, other non-functional constraints, such as the maximum time allowed
for process completion or the maximum time allowed for the completion of the composition, would also
play a vital role
The illustrated connectivity between two compositions also plays a key role in that (i) a service is
dependent on another service (dependency constraint), (ii) more than one service is to be executed in
parallel (parallel constraint), (iii) thesame task may be reinitiated by another service (rollbacking), and
(iv) there may be a dependency upon more than one service to complete a task (togetherness
constraint). In the example depicted, tasks t3 and t4 represent the dependency constraint (U in Fig. 3.2)
of the connection between relevant services, and tasks t5 and t6 reflect the parallelism constraint of the
service composition (L in Fig. 3.1). On the failure of the seller to dispatch the selected item by the
expected time, the process will rollback according to the customer’s choice (rollback constraint, J in Fig.
3.1). Tasks t1 and t2 reflect the togetherness constraint of the connection between the respective
services (N in Fig. 3.1). These constraints play a key role in real-time practice. If the respective service for
t3 observes that stock is not available, then the connected service for t4 should wait until the service for
t3 confirms the availability of stock. Hence, the process between these two services is repetitive and
dependent on both. In such cases, if both are from the same provider, or if they are not from the same
provider but the providers at least have some official association, then the dependent constraint can be
relaxed. If neither of these is the case, then the constraint remains intact, which degrades the QoS of the
composition. A connectivity constraint refers to the connection between any two constraints that
depend on each other. For example, t1 and t2 are performed together, and t3 and t4 have dependencies
on each other. To complete t1 and t2, verification of t3 and t4 is necessary. A service can be ranked as
the best service under a particular QoS parameter but may be ranked as the worst under other QoS
parameters. The performance of a service can be ranked differently according to various QoS
parameters. For instance, a service that is ranked best under a QoS parameter, reliability, for instance,
can be given a low ranking under another QoS parameter, such as response time. Hence, the priorities of
QoS parameters vary from one composition context to another. However, all QoS parameters should be
equally considered (called the balancing of QoS parameters) in the selection of a service without
neglecting the influence of a primary QoS parameter in a service composition. Otherwise, the optimal
service under a QoS parameter will fail if that service does not retain the optimality under another QoS
parameter. Consider the illustrated scenario of a goods ordering process in which two different services
that fulfill tasks t1 and t2 of the payment process (a composite service) can be selected from among
possible services for each task. In selecting a service for task t1 (considering the primary QoS parameter
to be cost), the service s1 A is chosen because it is lower in cost although it is poor in response time. For
the same task t1, if response time is considered the primary QoS parameter, then s1 B is chosen, which
has a lower response time although a higher cost. Hence, including any of these services as candidate
services in the composition affects the performance of the overall composition, as these services exhibit
poor performance under QoS parameters other than the primary QoS parameter considered. In order to
resolve such QoS conflicts, a balancing of the QoS parameters for the services using a skewness-based
approach is proposed, by which services are selected based on their ranking under the balanced QoS
parameter.

You might also like