Ensuring required failure atomicity of composite Web services
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
Citations
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....
[...]
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....
[...]
85 citations
Cites methods from "Ensuring required failure atomicity..."
...[5] utilize accepted termination states (ATS) properties as a criterion of correct execution....
[...]
70 citations
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
22,762 citations
1,470 citations
713 citations
452 citations
438 citations
Related Papers (5)
Frequently Asked Questions (11)
Q2. What is the main problem of the current Web services technologies?
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].
Q3. What is the main contribution of the approach?
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.
Q4. What are the main characteristics of a TCS?
Each TCS adopts the activation dependencies defined by the skeleton’s patterns and may extend them by specifying additional transactional dependencies.
Q5. What is the main problem that remains?
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.
Q6. What is the ATS property for a transactional model?
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.
Q7. How can it be used to coordinate services?
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).
Q8. What is the definition of a transactional web service?
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.
Q9. What are the main limitations of the workflow engine?
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.
Q10. What is the relation between the TCS skeleton and the service?
The TCS skeleton illustrated in figure 3.a uses an AND-join pattern to define activation dependencies between services OI, PCC and CA.
Q11. What is the definition of a valid TCS?
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.