SEARCH

SEARCH BY CITATION

Keywords:

  • service substitution;
  • SOA;
  • software component;
  • rule;
  • Web service

SUMMARY

High availability of software components has long been studied. For a software system, when unavailability of a component has caused a suspension of the system, the system has to be recovered or resumed as soon as possible. To substitute an unavailable software component with a backup copy is therefore unavoidable in achieving high availability of software systems. In this paper, in comparison with using redundancies, we take an alternative approach that steps away from the physical code equivalence of the software but focuses more on the equivalence in using the function unit without concerning about the implementation itself. We investigate the problem of Web service availability in service-oriented software systems and then report a framework for Web service availability in such systems using automated and rule-based Web service substitution. The framework takes a novel approach to manage the runtime replacement of services, combining (i) an approach that classifies services using co-occurrence of terms in various tags of the service descriptions, (ii) an approach to establish the compatibility and substitution of service operation interfaces and (iii) a middleware for handling service replacements. Our approach is designed to address the problem of Web service availability from the client side and assumes that the client has no control of the Web service providers. This is a completely distributed approach in comparison with other related work and presents a valuable benefit of client orientation. As two additional distinguishing characteristics, our framework also meets the challenges of (i) semantic heterogeneity of Web services in identifying substitute service and (ii) transparency and independence in handling unavailability at the level of Web services. We show in our experiments that the service substitute identification based on the proposed framework achieves a best precision of 85%. We demonstrate our implementation of the middleware for service unavailability handling in the framework. We also present experiments on service substitution within a demo business application in the presence of unavailability. Copyright © 2012 John Wiley & Sons, Ltd.