Team-oriented Model for Composite Web Services Failure Recovery

Yi Gao Yuan · 2005

As far as Web services consumers are concerned, functionality is the most important attribute that determines the usefulness of a Web service. However, recent research shows that non-functional attributes such as robustness and availability are equally as important. Since without availability, even the service with the best functionality would serve no purpose to its potential clients. There are many factors that may cause these services to be unavailable and they can be grouped into three different categories: hardware failures, software failures, and human failures. Failures are inevitable in Web services, at both atomic service level and composite service level. A composite Web service is essentially a combination of smaller services to provide services that cannot be achieved by any single service. Of which, some of these smaller services can be composite services as well. As a result, a composite service is more susceptible to failures than an atomic service. This is due to its dependency on other services, which are external modules to the composite service. As a composite service only knows the external bindings of its constituent services and not their internal structures, combining the constituent services together, in the worst cases, may aggregate their failure occurrences. In this research, we are not interested in monitoring and detecting these failures like most researches do. Instead, we are more interested in how to recover from a composite service failure. Web services are intrinsically built in a redundant manner as profitable services often encourage competition from various companies. Redundancy and replication of Web services offers reliability since redundant services can be used as replacements or substitutes for similar services that failed in a service composition. Although there are ways to make atomic Web services robust at the service providers’ end, we want to provide failure recovery at a composition level as a service. In this research, we studied two main approaches towards composite service recovery, one is built on traditional distributed system failure recovery to maintain the ACID properties (i.e. backward failure recovery) and the other is based on exception handling in coordinated atomic actions (i.e. forward failure recovery). Both are proposed for consideration as standards. As service-oriented and agent-oriented research are often run in parallel, in this project, we evaluated a team-oriented agent language JACK Teams, which is reknowned for the ability to coordinate modular autonomous components in face of failure. This research

Read the paper · More papers on PaperTik