scispace - formally typeset
Search or ask a question
Proceedings ArticleDOI

Ensuring required failure atomicity of composite Web services

TL;DR: This paper uses the Accepted Termination States (ATS) property as a mean to express the required failure atomicity of a CS, required by partners, and uses a set of transactional rules to assist designers to compose a valid CS with regards to the specified ATS.
Abstract: The recent evolution of Internet, driven by the Web services technology, is extending the role of the Web from a support of information interaction to a middleware for B2B interactions.Indeed, the Web services technology allows enterprises to outsource parts of their business processes using Web services. And it also provides the opportunity to dynamically offer new value-added services through the composition of pre-existing Web services.In spite of the growing interest in Web services, current technologies are found lacking efficient transactional support for composite Web services (CSs).In this paper, we propose a transactional approach to ensure the failure atomicity, of a CS, required by partners. We use the Accepted Termination States (ATS) property as a mean to express the required failure atomicity.Partners specify their CS, mainly its control flow, and the required ATS. Then, we use a set of transactional rules to assist designers to compose a valid CS with regards to the specified ATS.

Summary (4 min read)

1. INTRODUCTION

  • Web services are emerging as a promising technology for automating B2B interactions.
  • Thereafter, the task of building composite Web services requires mechanisms to deal with the inherent autonomy, and heterogeneity of Web services.
  • The authors use the Accepted Termination States (ATS) property as a correctness criteria to relax atomicity.
  • In section 3, the authors explain the notion of transactional web service and show how they express its transactional properties.
  • Section 6 illustrates how their approach proceeds (using a set of transactional rules) to assist designers to compose valid TCSs.

2. MOTIVATING EXAMPLE AND METHODOLOGY

  • Let us first present a motivating example.
  • That means he particularly pays attention to failure handling.
  • In their example, the designer may want to be sure: that one of the two delivery services will succeed, that the service CA is sure to complete, and that it is possible for the service OI to undo its effects (for instance when the payment fails).
  • Third, the authors have to provide designers with a mean to express their transactional requirements, in particular their required failure atomicity level.
  • In the rest of the paper the authors detail each of these issues and especially their set of transactional management rules for composite service validation.

3. TRANSACTIONAL WEB SERVICE DESCRIPTION

  • A Web service is a self-contained modular program that can be discovered and invoked across the Internet.
  • Then this instance can be either aborted or activated.
  • In the first case, it can achieve its objective and successfully completes or it can fail.
  • The requested transactional properties can be expressed by extending the service states and transitions.
  • External transitions are fired by external entities.

4. COMPOSITION OF TRANSACTIONAL WEB SERVICES

  • A Transactional Composite (Web) Service (TCS) emphasizes transactional properties for composition and synchronization of component Web services.
  • It takes advantage of services transactional properties to specify mechanisms for failure handling and recovery.

4.1 Dependencies between services

  • A TCS defines services orchestration by specifying dependencies between services.
  • That means ActCond(CA) = OI.completed V PCC.completed.
  • The authors can tailor alternative dependencies between services by specifying the alternative condition, AltCond(s), of each service s. AltCond(s) defines the precondition to be enforced before the service s can be activated as an alternative of other service(s).
  • For clarity reasons, the authors do not deal with abortion dependencies.
  • The authors call transactional dependencies the compensation, cancellation and alternative dependencies.

4.2 Relations between dependencies

  • Dependencies specification must respect some semantic restrictions.
  • Section 4.4 shows how these relations define potential dependencies induced by given activation dependencies.

4.3 Control and transactional flow of a TCS

  • Within a transactional composite service, the authors distinguish between the TCS control flow and the TCS transactional flow.
  • The control flow (or skeleton) of a TCS specifies the partial ordering of component services activations.
  • As defined in [7], a pattern “is the abstraction from a concrete form which keeps recurring in specific non arbitrary contexts”.
  • Figure 3.a illustrates a TCS skeleton defined using an AND-split, an AND-join and an XOR-split patterns, also known as Example.
  • The transactional flow of a TCS specifies mechanisms for failures handling and recovery.

4.4 Pattern’s potential dependencies

  • Each TCS adopts the activation dependencies defined by the skeleton’s patterns and may extend them by specifying additional transactional dependencies.
  • Each of these TCSs adopts this skeleton and refines it with an additional transactional flow.
  • Indeed, a pattern defines in addition to the default activation dependencies, a set of potential transactional dependencies.
  • The authors can write each of these conditions in exclusive disjunctive normal form.

5. FAILURE ATOMICITY REQUIREMENTS

  • The set of termination states of a TCS cs, STS(cs), is the set of all possible termination states of its instances.
  • In other word, the concept of ATS represents their notion of correction.
  • The authors define ATS the set of all Accepted Termination States required by designers.
  • Obviously, the authors note that a composite service transactional behavior may vary according to the required ATS.

6. TRANSACTIONAL RULES

  • To explain the rules and to illustrate how they are working, the authors go back to their motivating example of personal computer online purchase.
  • The authors suppose in addition that designers specify the ATS illustrated in the figure 5 to express their required failure atomicity.
  • Intuitively, the execution of a composite service can generate various termination states.
  • Definition 6.1 (Validity according to an ATS).
  • The composite service cs1 is valid because STS(cs1) ∈ ATS.

6.1 Objective and overview

  • Definition of an initial TCS: First, designers dynamically choose some available services and combine them to offer a new value added service.
  • Then they express their required failure atomicity by specifying the required ATS.
  • The authors use a set of rules, independent from skeletons and designers’.
  • These transactional properties tailor the appropriate transactional behavior for valid TCSs.

6.2 Extracting services conditions

  • Tailoring the appropriate transactional behavior for valid composite services is equivalent to identify the appropriate dependencies between services.
  • For each service s the authors distinguish (i) atsCpsCond(s), the ATS compensation condition deduced from ATS, (ii) the ATS cancellation condition, atsCnlCond(s), deduced from ATS, and (iii) atsAltCond(s), the ATS alternative condition deduced from ATS.
  • And since ats4 is the only ats in which PCC is compensated then the authors can deduce that atsCpsCond(PCC) = OI.failed.
  • Second, the set of all ats must be consistent.
  • Such inconsistency can be detected after the generation of transactional properties ensuring CSs validity.

6.3 Transactional validity rules

  • An ATS also defines the accepted termination states of each component service.
  • The first rule postulates that if the state failed does not belong to the ATS of s, then it exists a transactional property saying that s must be retriable.
  • The fourth rule postulates that for each ATS cancellation condition of s, atsCnlCondi(s), it exists a transactional property saying that: if this condition is eventually true then atsCnlCond(s) becomes a cancellation condition of s.
  • By applying the third rule and since atsCpsCond(OI) = PCC.failed the authors get the transactional property TP cp1OI : 3(PCC.failed) (means that PCC is not retriable) =⇒ (a) OI must be compensatable and (b) OI must be compensated when PCC fails.
  • The composite service cs1 verifies all the validity rules and thereafter it is valid.

6.4 Validity rules proof

  • The authors use the following lemma (the proof is not shown due to lack of space).
  • That means (using the lemma above) either (a) it exists a service s which terminates in a not valid state or (b) it exists a service s which terminates in a valid state but without satisfying one of its ATS conditions corresponding to this termination state.

6.5 Implementation

  • The authors are currently developing a prototype that supports this work.
  • The engine uses the transactional rules to compute the appropriate transactional properties for valid TCSs.
  • It typically shows the transactional properties of the chosen service.
  • The second part of the prototype is a workflow engine that is able to execute the composite service.
  • The authors workflow engine is Bonita, a workflow engine supported by the Object Web consortium ([20]).

8. CONCLUSION

  • The authors have proposed a transactional approach for reliable Web services compositions by ensuring the failure atomicity required by the designers.
  • Contrary to ATMs, their approach follows the opposite direction by starting from designers requirements to provide correctness rules.
  • Like in [9, 18] (for transactions), designers define the global composite service structure, using patterns, and specifies required ATS as a correctness criteria.
  • The main contribution of their approach is that is able to incorporate different interactions patterns into the same structured transaction, and besides it can validate CSs according to designers transactional requirements.
  • The authors would like to thank Laura Lozano for her implementation efforts.

Did you find this useful? Give us your feedback

Content maybe subject to copyright    Report

Ensuring Required Failure Atomicity of Composite Web
Services
Sami Bhiri
LORIA-INRIA
BP 239, F-54506
Vandoeuvre-les-Nancy Cedex,
France
bhiri@loria.fr
Olivier Perrin
LORIA-INRIA
BP 239, F-54506
Vandoeuvre-les-Nancy Cedex,
France
operrin@loria.fr
Claude Godart
LORIA-INRIA
BP 239, F-54506
Vandoeuvre-les-Nancy Cedex,
France
godart@loria.fr
ABSTRACT
The recent evolution of Internet, driven by the Web services
technology, is extending the role of the Web from a support
of information interaction to a middleware for B2B interac-
tions.
Indeed, the Web services technology allows enterprises to
outsource parts of their business processes using Web ser-
vices. And it also provides the opportunity to dynamically
offer new value-added services through the composition of
pre-existing Web services.
In spite of the growing interest in Web services, current
technologies are found lacking efficient transactional support
for composite Web services (CSs).
In this paper, we propose a transactional approach to en-
sure the failure atomicity, of a CS, required by partners. We
use the Accepted Termination States (ATS) property as a
mean to express the required failure atomicity.
Partners specify their CS, mainly its control flow, and the
required ATS. Then, we use a set of transactional rules to
assist designers to compose a valid CS with regards to the
specified ATS.
Categories and Subject Descriptors
H.3.5 [Information Storage and Retrieval]: Online In-
formation Services—Web-based services; H.2.4 [Database
Management]: Systems—Transaction Processing; K.4.4
[Computers and Society]: Electronic Commerce—Dis-
tributed commercial transactions
General Terms
Design, Reliability
Keywords
Reliable Web services compositions, Failure atomicity, Trans-
actional models
1. INTRODUCTION
Web services are emerging as a promising technology for
automating B2B interactions. Nowadays, enterprises are
Copyright is held by the International World Wide Web Conference Com-
mittee (IW3C2). Distribution of these papers is limited to classroom use,
and personal use by others.
WWW2005, May 10–15, 2005, Chiba, Japan.
ACM 1-59593-046-9/05/0005.
able to outsource their internal business processes as ser-
vices and make them accessible via the Web. Then they
can dynamically combine individual services to provide new
value-added services.
A main problem that remains is how to ensure a correct
composition and a reliable execution of a composite service
(CS) with regards to partners transactional requirements.
Despite growing interest, Web services middleware is still
rather primitive in terms of functionality, far from what cur-
rent EAI middleware can provide for intra-enterprise appli-
cations [2].
The current Web services technologies ensure communi-
cation interoperability which is a part of the problem when
considering the building of reliable Web services composi-
tions [16]. Indeed, unlike activities in traditional workflows,
services are defined independently of any computing context.
Thereafter, the task of building composite Web services re-
quires mechanisms to deal with the inherent autonomy, and
heterogeneity of Web services.
Although powerful, Advanced Transaction Models (ATMs)
[6] are found lacking functionality and performance when
used for applications that involve dynamic composition of
heterogenous services in a peer-to-peer context.
Their limitations come mainly from their inflexibility to
incorporate different transactional semantics as well as dif-
ferent interactions patterns into the same structured trans-
action [8].
In this paper, we propose a transactional approach for
reliable Web services compositions by ensuring the failure
atomicity required by the designers.
From a transactional point of view, we consider a CS as
a structured transaction, Web services as sub transactions
and interactions as inter sub transactions dependencies. We
use the Accepted Termination States (ATS) property as a
correctness criteria to relax atomicity.
To the best of our knowledge, defining a transaction with a
particular set of properties, in particulary ATS, and ensuring
that every execution will preserve these properties remains
a difficult and open problem [18].
The paper is organized as follows. Section 2 introduces
a motivating example and gives the main points which has
driven our approach. In section 3, we explain the notion of
transactional web service and show how we express its trans-
actional properties. Section 4 presents the notion of Trans-
actional Composite (Web) Service (TCS) and explains our
transactional point of view. Section 5 presents the notion
138

of Accepted Termination States (ATS) as a mean to express
the required failure atomicity. Section 6 illustrates how our
approach proceeds (using a set of transactional rules) to
assist designers to compose valid TCSs. In section 7, we
discuss some related work. Section 8 concludes our paper.
2. MOTIVATING EXAMPLE AND
METHODOLOGY
Let us first present a motivating example. We consider
an application dedicated to the online purchase of personal
computer. This application is carried out by a composite
service as illustrated in figure 1. Services involved in this
application are: the Customer Requirements Specifi-
cation (CRS) service used to receive the customer order
and to review the customer requirements, the Order Items
(OI) service used to order the computer components if the
online store does not have all of it, the Payment by Credit
Card (PCC) service used to guarantee the payment by
credit card, the Computer Assembly (CA) service used
to ensure the computer assembly once the payment is done
and the required components are available, and the Deliver
Computer (DC) service used to deliver the computer to
the customer (provided either by Fedex (DC
F ed
) or TNT
(DC
T NT
)).
Figure 1: A composite service for online computer
purchase.
When a user designs a composite service, he expects the
service execution to be reliable. That means he particularly
pays attention to failure handling. In our example, the de-
signer may want to be sure: that one of the two delivery
services will succeed, that the service CA is sure to com-
plete, and that it is possible for the service OI to undo its
effects (for instance when the payment fails). These proper-
ties define what we call the transactional behavior of the ser-
vice. This behavior is specified using a set of transactional
requirements. Since these requirements may vary from one
context to another, the transactional behavior will vary too.
For instance, a designer may accept the failure of the DC
F ed
service in a context, while in another one he may not toler-
ate such a failure at such an advanced stage. So the mean
of a reliable execution is tightly related to transactional re-
quirements and it may vary according to designers.
In the same time, in order to ensure a reliable execution,
we have to be sure that a specified transactional behavior
is consistent with the set of selected services and the trans-
actional requirements. Back to our example, we can easily
notice that since the OI service is not sure to complete, the
payment service PCC have to be compensatable (and it must
be compensated when the OI service fails).
The following points introduce our approach and its con-
cepts for supporting this kind of scenarios.
First, we believe that we must enhance Web services de-
scription for a better characterization of their transactional
behavior. This can be done by enhancing WSDL interface
with transactional properties.
Second, we have to model services composition and chore-
ography, in particular mechanisms for failure handling and
recovery.
Third, we have to provide designers with a mean to ex-
press their transactional requirements, in particular their
required failure atomicity level. Finally, we have to sup-
port composite service validation with regards to designers’
requirements.
In the rest of the paper we detail each of these issues
and especially our set of transactional management rules
for composite service validation.
3. TRANSACTIONAL WEB SERVICE
DESCRIPTION
A Web service is a self-contained modular program that
can be discovered and invoked across the Internet. Web
services are typically built with XML, SOAP, WSDL and
UDDI specifications [4] [17]. A transactional Web service is
a Web service that emphasizes transactional properties for
its characterization and correct usage.
The main transactional properties of a Web service that
we are considering are retriable, compensatable and pivot
[14]. A service s is said to be retriable if it is sure to
complete after several finite activations. s is said to be
compensatable if it offers compensation policies to seman-
tically undo its effects. Then, s is said to be pivot if once
it successfully completes, its effects remains for ever and
cannot be semantically undone. Naturally, a service can
combine properties, and the set of all possible combinations
is {r; cp; p; (r, cp); (r, p)}.
In order to model the internal behavior of a service, we
have adopted a states/transitions model. A service has a
minimal set of states (initial, active, aborted, cancelled, failed
and completed), and it also includes a set of transitions (ac-
tivate(), abort(), cancel(), fail(), and complete()). The figure
2.a shows the internal states/transitions diagram of a pivot
service.
When a service is instantiated, the state of the instance is
initial. Then this instance can be either aborted or activated.
Once it is active, the instance can normally continues its
execution or it can be cancelled during its execution. In
the first case, it can achieve its objective and successfully
completes or it can fail.
The requested transactional properties can be expressed
by extending the service states and transitions. For instance,
for a compensatable service, a new state compensated and a
new transition compensate() are introduced (e.g., service in
figure 2.b). Figure 2 illustrates the states/transitions dia-
gram of a retriable service (figure 2.c) and states/transitions
diagrams of services combining different transactional prop-
erties (figures 2.d and 2.e).
Within a transactional service, we also distinguish be-
tween external and internal transitions.
External transitions are fired by external entities. Typi-
cally they allow a service to interact with the outside and to
specify composite services choreographies (see next section).
The external transitions we are considering are activate(),
abort(), cancel(), and compensate().
Internal transitions are fired by the service itself (the ser-
139

Figure 2: Services states/transitions diagrams according to different transactional properties.
vice agent). Internal transitions we are considering are com-
plete(), fail(), and retry().
4. COMPOSITION OF TRANSACTIONAL
WEB SERVICES
A composite Web service is a conglomeration of existing
Web services working in tandem to offer a new value-added
service [13]. It coordinates a set of services as a cohesive
unit of work to achieve common goals.
A Transactional Composite (Web) Service (TCS) empha-
sizes transactional properties for composition and synchro-
nization of component Web services. It takes advantage of
services transactional properties to specify mechanisms for
failure handling and recovery.
4.1 Dependencies between services
A TCS defines services orchestration by specifying depen-
dencies between services. They specify how services are cou-
pled and how the behavior of certain service(s) influence the
behavior of other service(s).
Definition 4.1 (Dependency from s
1
to s
2
). A
dependency from s
1
to s
2
exists if a transition of s
1
can
fire an external transition of s
2
.
A dependency defines for each external transition of a
service a precondition to be enforced before this transition
can be fired.
In our approach, we consider the following dependencies
between services:
Activation dependency from s
1
to s
2
: There is an
activation dependency from s
1
to s
2
if the completion of s
1
can fire the activation of s
2
.
We can tailor activation dependencies between services by
specifying the activation condition, ActCond(s), of each ser-
vice s. ActCond(s) defines the precondition to be enforced
before the service s can be activated (only after the comple-
tion of other service(s)). There is an activation dependency
from s
1
to s
2
iff s
1
.completed ActCond(s
2
). Reciprocally
for each service s
1
ActCond(s
2
), there is an activation de-
pendency from s
1
to s
2
according to ActCond(s
2
).
For example, the composite services defined in figure 3
define an activation dependency from OI and P CC, to CA
such that CA will be activated after the completion of OI
and P CC. That means ActCond(CA) = OI.completed
V
P CC.completed.
Alternative dependency from s
1
to s
2
: There is an
alternative dependency from s
1
to s
2
if the failure of s
1
can
fire the activation of s
2
.
We can tailor alternative dependencies between services
by specifying the alternative condition, AltCond(s), of each
service s. AltCond(s) defines the precondition to be en-
forced before the service s can be activated as an alterna-
tive of other service(s). There is an alternative dependency
from s
1
to s
2
iff s
1
.failed AltCond(s). Reciprocally
for each service s
1
AltCond(s
2
), there is an alternative
dependency from s
1
to s
2
according to AltCond(s
2
)
For instance the composite service cs
1
in figure 3.b defines
an alternative dependency from DC
F ed
to DC
T NT
such that
DC
T NT
will be activated when DC
F ed
fails. That means
AltCond(DC
T NT
) = DC
F ed
.failed.
Abortion dependency from s
1
to s
2
: There is an abor-
tion dependency from s
1
to s
2
if the failure, cancellation or
the abortion of s
1
can fire the abortion of s
2
.
We can tailor abortion dependencies between services by
specifying the abortion condition, AbtCond(s), of each ser-
vice s. AbtCond(s) defines the precondition to be enforced
before the service s can be aborted. There is an abortion
dependency from s
1
to s
2
iff s
1
.aborted AbtCond(s
2
))
W
s
1
.failed AbtCond(s
2
)
W
s
1
.cancelled AbtCond(s
2
).
Reciprocally for each service s
1
AbtCond(s
2
), there is an
abortion dependency from s
1
to s
2
according to AbtCond(s
2
).
Compensation dependency from s
1
to s
2
: There is
140

Figure 3: Two composite services defined according to the same skeleton.
a compensation dependency from s
1
to s
2
if the the failure
or the compensation of s
1
can fire the compensation of s
2
.
We can tailor compensation dependencies between ser-
vices by specifying the compensation condition, CpsCond(s),
of each service s. CpsCond(s) defines the precondition to
be enforced before the service s can be compensated. There
is a compensation dependency from s
1
to s
2
iff s
1
.failed
CpsCond(s
2
)
W
s
1
.compensated CpsCond(s
2
). Recipro-
cally for each service s
1
CpsCond(S
2
), there is a compen-
sation dependency from s
1
to s
2
according to CpsCond(s
2
).
Composite services in figure 3 define a compensation de-
pendency from P CC to OI such that OI will be comp-
ensated when P CC fails. That means CpsCond(OI) =
PCC.failed.
Cancellation dependency from s
1
to s
2
: There is a
cancellation dependency from s
1
to s
2
if the failure of s
1
can
fire the cancellation of s
2
.
We can tailor cancellation dependencies between services
by specifying the cancellation condition, CnlCond(s), of
each service s. CnlCond(s) defines the precondition to be
enforced before the service s can be cancelled. There is
a cancellation dependency from s
1
to s
2
iff s
1
.failed
CnlCond(s
2
).
Reciprocally for each service s
1
CnlCond(s
2
), there is
a cancellation dependency from s
1
to s
2
according to
CnlCond(s
2
).
Composite services in figure 3 define a cancellation depen-
dency from PCC to OI such that OI will be cancelled when
P CC fails. That means CnlCond(OI) = P CC.failed.
For clarity reasons, we do not deal with abortion depen-
dencies. We call transactional dependencies the compensa-
tion, cancellation and alternative dependencies.
4.2 Relations between dependencies
Dependencies specification must respect some semantic
restrictions. Indeed, transactional dependencies depend on
activation dependencies according to the following relations:
R
1
: An abortion dependency from s
1
to s
2
can exist only
if there is an activation dependency from s
1
to s
2
.
R
2
: A compensation dependency from s
1
to s
2
can exist
only if there is an activation dependency from s
2
to s
1
,
or s
1
and s
2
execute in parallel and are synchronized.
R
3
: A cancellation dependency from s
1
to s
2
can exist only
if s
1
and s
2
execute in parallel and are synchronized.
R
4
: An alternative dependency from s
1
to s
2
can exist only
if s
1
and s
2
are exclusive.
Section 4.4 shows how these relations define potential de-
pendencies induced by given activation dependencies.
4.3 Control and transactional flow of a TCS
Within a transactional composite service, we distinguish
between the TCS control flow and the TCS transactional
flow.
Control flow: The control flow (or skeleton) of a TCS
specifies the partial ordering of component services activa-
tions. Activation dependencies between component services
define the corresponding TCS control flow.
We use (workflow-like) patterns to define a composite ser-
vice skeleton. As defined in [7], a pattern “is the abstrac-
tion from a concrete form which keeps recurring in specific
non arbitrary contexts”. A workflow pattern can be seen as
an abstract description of a recurrent class of interactions
based on (primitive) activation dependency. For example,
the AND-join pattern [21] (see figure 3.a) describes an ab-
stract services choreography by specifying services interac-
tions as following: a service is activated after the completion
of several other services.
Example: Figure 3.a illustrates a TCS skeleton defined
using an AND-split, an AND-join and an XOR-split pat-
terns.
141

Transactional flow: The transactional flow of a TCS
specifies mechanisms for failures handling and recovery.
Transactional dependencies (like compensation, cancellation
and alternative) define the TCS transactional flow.
4.4 Pattern’s potential dependencies
Several TCSs can be defined based on a skeleton. Each
TCS adopts the activation dependencies defined by the skele-
ton’s patterns and may extend them by specifying additional
transactional dependencies.
Example: Figure 3 shows two TCSs, cs
1
and cs
2
, de-
fined using the same skeleton. Each of these TCSs adopts
this skeleton (figure 3.a) and refines it with an additional
transactional flow.
Additional transactional dependencies are a subset of po-
tential transactional dependencies defined by the skeleton’s
patterns. Indeed, a pattern defines in addition to the default
activation dependencies, a set of potential transactional de-
pendencies.
A potential dependency is a dependency that is not ini-
tially defined by the pattern but that can be added by TCSs
using this pattern. Potential dependencies are directly re-
lated to the pattern’s activation dependencies according to
the relations we have introduced in section 4.2.
We have shown above that dependencies between services
can be tailored by specifying preconditions on services’ ex-
ternal transitions. And potential transactional dependencies
are not an exception to this fact. So a TCS skeleton defines
for each service the potential conditions corresponding to the
potential dependencies. A pattern defines for each service s
it is connected with:
ptCpsCond(s): its potential compensation condition,
ptAltCond(s): its potential alternative condition,
ptCnlCond(s): its potential cancellation condition.
We can write each of these conditions in exclusive dis-
junctive normal form. For instance, we can write the po-
tential compensation condition of a service s as follows:
ptCpsCond(s) =
L
i
ptCpsCond
i
(s). Then ptCpsCond
i
(s)
is one potential compensation condition of s.
Example: The TCS skeleton illustrated in figure 3.a uses
an AND-join pattern to define activation dependencies be-
tween services OI, P CC and CA. According to the rela-
tion R
2
given in section 4.2, a TCS based on this skele-
ton can eventually specifies the following compensation de-
pendencies: from OI to P CC, from P CC to OI, from
CA to OI and from CA to P CC. Similarly, according
to the relation R
3
, this pattern defines the following po-
tential cancellation dependencies: from OI to P CC, and
from P CC to OI. That means, among other, that ptCp-
sCond(PCC)=OI.failed
L
CA.failed
L
CA.compensated
and ptCnlCond(OI)=PCC.failed.
In the same way, according to the relation R
4
, the XOR-
split pattern connecting CA, DC
F ed
and DC
T NT
defines the
following potential alternative dependencies: from DC
T NT
to DC
F ed
and from DC
F ed
to DC
T NT
.
That means that ptAltCond(DC
T NT
) =DC
F ed
.failed and
that DC
T NT
.failed = ptAltCond(DC
F ed
).
Finally, note that both TCSs cs
1
and cs
2
define their
transactional flow as a subset of the potential transactional
flow presented above. Both define compensation and can-
cellation dependencies from P CC to OI. cs
1
defines an
alternative dependency from DC
F ed
to DC
T NT
.
5. FAILUREATOMICITYREQUIREMENTS
OF A TCS
Several executions can be instantiated according to the
same TCS. The state of an instance of a TCS composed of
n services is the tuple (x
1
, x
2
, ..., x
n
), where x
i
is the state
of service s
i
at a given time. The set of termination states
of a TCS cs, ST S(cs), is the set of all possible termination
states of its instances.
Back to our motivating example limited to the three ser-
vices CRS, OI and P CC, we can have the following set of
termination states: (CRS.completed, OI.completed, PCC.co-
mpleted); (CRS.completed, OI.failed, PCC.completed);
(CRS.completed, OI.completed, PCC.failed); (CRS.compen-
sated, OI.failed, PCC.initial); (CRS.compensated, OI.initial,
PCC.failed); (CRS.compensated, OI.failed, PCC.failed).
In order to express the designer’s requirements for failure
atomicity, we use the notion of Accepted Termination States
([18]). In other word, the concept of ATS represents our
notion of correction.
Definition 5.1 (Accepted Termination States).
An accepted termination state, ats, of a composite service cs
is a state for which designers accept the termination of cs.
We define AT S the set of all Accepted Termination States
required by designers.
An execution is correct if f it leads the CS into an ac-
cepted termination state. A CS reaches an ats if (i) it
completes successfully or (ii) it fails and undoes all undesir-
able effects of partial execution in accordance with designer
failure-atomicity requirements [18].
Back to our example, a designer may choose the following
ATS: ATS(CS)={(CRS.completed, OI.completed, PCC.co-
mpleted); (CRS.compensated, OI.failed, PCC.failed)} that
means that an execution is correct when all of the services
complete, or when CRS is compensated (given the failure of
OI and P CC). Obviously, we note that a composite service
transactional behavior may vary according to the required
ATS.
6. TRANSACTIONAL RULES
To explain the rules and to illustrate how they are work-
ing, we go back to our motivating example of personal com-
puter online purchase. We suppose in addition that design-
ers specify the AT S illustrated in the figure 5 to express
their required failure atomicity.
Intuitively, the execution of a composite service can gen-
erate various termination states. A composite service is not
valid if it exists some termination states that do not belong
to the ATS specified by the designers.
Definition 6.1 (Validity according to an AT S).
A CS cs is said to be valid according to AT S iff its set of
termination states is included in AT S, written ST S(cs)
AT S.
Example: The composite service cs
1
(illustrated in figure
3.b) is valid because ST S(cs
1
) AT S. However regard-
ing the composite service cs
2
(illustrated in figure 3.c), we
142

Citations
More filters
Journal ArticleDOI
TL;DR: This paper addresses the issue of selecting and composing Web services not only according to their functional requirements but also to their transactional properties and QoS characteristics by proposing a selection algorithm that satisfies user's preferences as weights over QoS criteria and as risk levels defining semantically the transactional requirements.
Abstract: Web Services are the most famous implementation of service-oriented architectures that has brought some challenging research issues. One of these is the composition, i.e., the capability to recursively construct a composite Web service as a workflow of other existing Web services, which are developed by different organizations and offer diverse functionalities (e.g., ticket purchase, payment), transactional properties (e.g., compensatable or not), and Quality of Service (QoS) values (e.g., execution price, success rate). The selection of a Web service, for each activity of the workflow, meeting the user's requirements, is still an important challenge. Indeed, the selection of one Web service among a set of them that fulfill some functionalities is a critical task, generally depending on a combined evaluation of QoS. However, the conventional QoS-aware composition approaches do not consider the transactional constraints during the composition process. This paper addresses the issue of selecting and composing Web services not only according to their functional requirements but also to their transactional properties and QoS characteristics. We propose a selection algorithm that satisfies user's preferences, expressed as weights over QoS criteria and as risk levels defining semantically the transactional requirements. Proofs and experimental results are presented.

325 citations


Cites background from "Ensuring required failure atomicity..."

  • ...During the second step, component Web services fulfilling the user’s goal are selected among a set of available services....

    [...]

Journal ArticleDOI
TL;DR: FACTS is proposed, a framework for fault-tolerant composition of transactional Web services that combines exception handling and transaction techniques and an implementation module to automatically implement fault-handling logic in WS-BPEL.
Abstract: Along with the standardization of Web services composition language and the widespread acceptance of composition technologies, Web services composition is becoming an efficient and cost-effective way to develop modern business applications. As Web services are inherently unreliable, how to deliver reliable Web services composition over unreliable Web services is a significant and challenging problem. In this paper, we propose FACTS, a framework for fault-tolerant composition of transactional Web services. We identify a set of high-level exception handling strategies and a new taxonomy of transactional Web services to devise a fault-tolerant mechanism that combines exception handling and transaction techniques. We also devise a specification module and a verification module to assist service designers to construct fault-handling logic conveniently and correctly. Furthermore, we design an implementation module to automatically implement fault-handling logic in WS-BPEL. A case study demonstrates the viability of our framework and experimental results show that FACTS can improve fault tolerance of composite services with acceptable overheads.

148 citations


Cites background from "Ensuring required failure atomicity..."

  • ...The former tries to repair faults and let composite services to continue, while the latter ensures composite services to terminate in a consistent state when faults are unrepairable....

    [...]

Journal ArticleDOI
TL;DR: The transactional properties of services are investigated and focus on how to compose individual services in a transactional manner, and the problem of transactional and QoS-aware dynamic service composition is formulated by modeling the problem as a constrained directed acyclic graph.

85 citations


Cites methods from "Ensuring required failure atomicity..."

  • ...[5] utilize accepted termination states (ATS) properties as a criterion of correct execution....

    [...]

Journal ArticleDOI
TL;DR: The 2012 International Conference on Computational Intelligence and Security provides a platform to explore the potential applications of CI models, algorithms, and technologies to IS.
Abstract: The 2012 International Conference on Computational Intelligence and Security (CIS) is the ninth one focusing on all areas of two crucial fields in information processing: computational intelligence (CI) and information security (IS). In particular, the CIS Conference provides a platform to explore the potential applications of CI models, algorithms, and technologies to IS.

70 citations

Journal ArticleDOI
TL;DR: A novel IR-Style mechanism for discovering and ranking web services automatically, given a textual description of desired services is proposed, and various algorithms are given for computing the relevance and importance of services, respectively.

68 citations


Cites background from "Ensuring required failure atomicity..."

  • ...Web service discovery introduces many new challenges....

    [...]

  • ...The Web Service Modeling Ontology (WSMO) [15] is a conceptual model for describing Web services semantically, and defines the four main aspects of semantic Web service, namely Ontologies, Web services, Goals and Mediators....

    [...]

  • ...Nowadays, enterprises are able to outsource their internal business processes as services and make them accessible via the Web [1]....

    [...]

  • ...Contents lists available at ScienceDirect Future Generation Computer Systems journal homepage: www.elsevier.com/locate/fgcs Web services discovery and rank: An information retrieval approach Yanan Hao a,∗, Yanchun Zhang a, Jinli Cao b a School of Engineering and Science, Victoria University, PO Box 14428, Melbourne, VIC 8001, Australia b Department of Computer Science and Computer Engineering, La Trobe University, VIC 3086, Australia a r t i c l e i n f o Article history: Received 21 April 2009 Received in revised form 19 April 2010 Accepted 25 April 2010 Available online 1 June 2010 Keywords: Web service Discovery Ranking a b s t r a c t With the rapid development of e-commerce over the internet,web services have attractedmuch attention in recent years....

    [...]

  • ...Definition 4 (Web-Service Operation Connectivity)....

    [...]

References
More filters
Book
01 Jan 1994
TL;DR: The book is an introduction to the idea of design patterns in software engineering, and a catalog of twenty-three common patterns, which most experienced OOP designers will find out they've known about patterns all along.
Abstract: The book is an introduction to the idea of design patterns in software engineering, and a catalog of twenty-three common patterns. The nice thing is, most experienced OOP designers will find out they've known about patterns all along. It's just that they've never considered them as such, or tried to centralize the idea behind a given pattern so that it will be easily reusable.

22,762 citations

Journal ArticleDOI
TL;DR: This tutorial explores the most salient and stable specifications in each of the three major areas of the emerging Web services framework, which are the simple object access protocol, the Web Services Description Language and the Universal Description, Discovery, and Integration directory.
Abstract: This tutorial explores the most salient and stable specifications in each of the three major areas of the emerging Web services framework. They are the simple object access protocol, the Web Services Description Language and the Universal Description, Discovery, and Integration directory, which is a registry of Web services descriptions.

1,470 citations

Book
03 Jan 1992
TL;DR: A Transaction Manager Development Facility for Non Standard Database Systems and Concepts and Applications of Multilevel Transactions and Open Nested Transactions and Using Polytransactions to Manage Interdependent Data are presented.
Abstract: 1 Transaction Management in Database Systems 2 Introduction to Advanced Transaction Models 3 A Cooperative Transaction Model for Design Databases 4 A Flexible Framework for Transaction Management in Engineering Environments 5 A Transaction Model for Active Distributed Object Systems 6 A Transaction Model for an Open Publication Environment 7 The ConTract Model 8 Dynamic Restructuring of Transactions 9 Multidatabase Transaction and Query Processing in Logic 10 ACTA: The Saga Continues 11 A Transaction Manager Development Facility for Non Standard Database Systems 12 The S-Transaction Model 13 Concepts and Applications of Multilevel Transactions and Open Nested Transactions 14 Using Polytransactions to Manage Interdependent Data

713 citations

Journal ArticleDOI
01 May 2003
TL;DR: In this article, the authors survey the main techniques, systems, products, and standards for B2B interactions and propose a set of criteria for assessing the different interaction techniques, standards, and products.
Abstract: Business-to-Business (B2B) technologies pre-date the Web. They have existed for at least as long as the Internet. B2B applications were among the first to take advantage of advances in computer networking. The Electronic Data Interchange (EDI) business standard is an illustration of such an early adoption of the advances in computer networking. The ubiquity and the affordability of the Web has made it possible for the masses of businesses to automate their B2B interactions. However, several issues related to scale, content exchange, autonomy, heterogeneity, and other issues still need to be addressed. In this paper, we survey the main techniques, systems, products, and standards for B2B interactions. We propose a set of criteria for assessing the different B2B interaction techniques, standards, and products.

452 citations

Journal ArticleDOI
TL;DR: The maturation of database management system (DBMS) technology has coincided with significant developments in distributed computing and parallel processing technologies as discussed by the authors, and the end result is the development of distributed database management systems and parallel DBMS that are now the dominant data management tools for highly data-intensive applications.
Abstract: The maturation of database management system (DBMS) technology has coincided with significant developments in distributed computing and parallel processing technologies. The end result is the development of distributed database management systems and parallel database management systems that are now the dominant data management tools for highly data-intensive applications. With the emergence of cloud computing, distributed and parallel database systems have started to converge. In this chapter, we present an overview of the distributed DBMS and parallel DBMS technologies, highlight the unique characteristics of each, and indicate the similarities between them. We also discuss the new challenges and emerging solutions.

438 citations

Frequently Asked Questions (11)
Q1. What have the authors contributed in "Ensuring required failure atomicity of composite web services" ?

In this paper, the authors propose a transactional approach to ensure the failure atomicity, of a CS, required by partners. 

The current Web services technologies ensure communication interoperability which is a part of the problem when considering the building of reliable Web services compositions [16]. 

The main contribution of their approach is that is able to incorporate different interactions patterns into the same structured transaction, and besides it can validate CSs according to designers transactional requirements. 

Each TCS adopts the activation dependencies defined by the skeleton’s patterns and may extend them by specifying additional transactional dependencies. 

A main problem that remains is how to ensure a correct composition and a reliable execution of a composite service (CS) with regards to partners transactional requirements. 

when an advanced transaction model specifies global transaction structure, sub transactions properties, inter sub transaction dependencies, mechanisms of handing-over, success and failure criteria, and so on, it implicitly defines its ATS. 

In addition, it can coordinate services implemented with different technologies since the authors use only services transactional features (and not interested in how they are implemented). 

From a transactional point of view, the authors consider a CS as a structured transaction, Web services as sub transactions and interactions as inter sub transactions dependencies. 

As workflows in the past, services composition requirements either exceed or significantly differ from those of ATMs [6] in terms of modelling, coordination [22] and transactional requirements. 

The TCS skeleton illustrated in figure 3.a uses an AND-join pattern to define activation dependencies between services OI, PCC and CA. 

If the initial TCS is not valid, designers can (i) select new services (with eventually new transactional properties) and (ii) augment the same skeleton with new dependencies.