Towards autonomic service-oriented applications
2009, International Journal of Autonomic Computing
Abstract
The integration of third-party web services can solve complex business problems and can reduce risks, costs and time-to-market. However, the task of the integrators is challenged by services that are maintained by different organisations, and that may evolve dynamically and autonomously. The impossibility of statically determining which service implementation will be bound at runtime may lead to unexpected failures. This paper presents a novel approach for designing self-adaptive service-oriented applications, which autonomously react to changes in the implementation of the services, automatically detect possible integration mismatches and dynamically execute suitable adaptation strategies. The solution proposed in this paper is based on a taxonomy of integration faults that helps developers anticipate potential mismatches between discovered web services and applications, and design test cases and adaptors for each mismatch. A simple tool facilitates the deployment of a runtime infrastructure that embeds the test cases and the adaptors, automatically runs the test cases against newly discovered web services, uses the test results to diagnose service mismatches and executes the adaptors to overcome the revealed problems without user intervention.
References (25)
- Baresi, L. and Guinea, S. (2005) 'Towards dynamic monitoring of ws-bpel processes', Proceedings of IEEE Conference on Service Oriented Computing (ICSOC), pp.269-282.
- Beyer, D., Chakrabarti, A. and Henzinger, T.A. (2005) 'Web service interfaces', Proceedings of World Wide Web Conference (WWW), ACM Press, May, pp.148-159.
- Cheng, S., Huang, A., Garlan, D., Schmerl, B.R. and Steenkiste, P. (2004) 'Rainbow: architecture-based self-adaptation with reusable infrastructure', Proceedings of IEEE Conference on Autonomic Computing (ICAC), May, pp.276-277.
- Christensen, E., Curbera, F., Meredith, G. and Weerawarana, S. (2001) 'Web Services Description Language (WSDL) 1.1', Technical report, World Wide Web Consortium W3C, March.
- Cobleigh, J.M., Osterweil, L.J., Wise, A. and Lerner, B.S. (2002) 'Containment units: a hierarchically composable architecture for adaptive systems', Proceedings of ACM SIGSOFT Symposium on Foundations of Software Engineering (FSE), ACM Press, pp.159-165.
- Dabrowski, C. and Mills, K. (2002) 'Understanding self-healing in service-discovery systems', Proceedings of Workshop on Self-Healing Systems (WOSS), ACM Press, pp.15-20.
- DAML (2004) 'OWL-S: an OWL-based web service ontology', http://www.daml.org/services/ owl-s/ (accessed January 2009).
- Denaro, G., Pezzè, M. and Tosi, D. (2005) 'Adaptive integration of third-party web services', Proceedings of IEEE Workshop on Design and Evolution of Autonomic Application Software (DEAS), St. Louis, Missouri, USA, May.
- Foster, H., Uchitel, S., Magee, J. and Kramer, J. (2004) 'Compatibility verification for web service choreography', Proceedings of IEEE International Conference on Web Services (ICWS), June, pp.738-741.
- George, S., Evans, D. and Davidson, L. (2002) 'A biologically inspired programming model for self-healing systems', Proceedings of IEEE Workshop on Self-Healing Systems (WOSS), November, pp.102-104.
- Haller, A., Cimpian, E., Mocan, A., Oren, E. and Bussler, C. (2005) 'WSMX -a semantic service-oriented architecture', Proceedings of the IEEE International Conference on Web Services (ICWS), July, pp.321-328.
- Kephart, J.O. and Chess, D.M. (2003) 'The vision of autonomic computing', IEEE Computer, January, Vol. 36, No. 1, pp.41-50.
- Lorenzoli, D., Mussino, S., Pezzè, M., Schilling, D., Sichel, A. and Tosi, D. (2006) 'A SOA-based self-adaptive personal mobility manager', In Proceedings of IEEE Conference on Service Computing, Chicago, Illinois, September, pp.479-486.
- McGuinness, D.L. and Van Harmelen, F. (2006) 'OWL web ontology language overview', http://www.w3.org/TR/owl-features/ (accessed January 2009).
- Oreizy, P.M., Gorlick, M., Taylor, R.N., Heimhigner, D., Johnson, G., Medvidovic, N., Quilici, A., Rosenblum, D.S. and Wolf, A.L. (1999) 'An architecture-based approach to self-adaptive software', IEEE Intelligent Systems, May-June, Vol. 14, No. 3, pp.54-62.
- Paolucci, M. and Wagner, M. (2006) 'Grounding OWL-S in WSDLS', Proceedings of the IEEE International Conference on Web Services (ICWS), September.
- Poladian, V., Sousa, J.P., Garlan, D. and Shaw, M. (2004) 'Dynamic configuration of resource-aware services', Proceedings of IEEE Conference on Software Engineering (ICSE), pp.604-613.
- Roman, D., Keller, U., Lausen, H., de Bruijn, J., Lara, R., Stollberg, M., Polleres, A., Feier, C., Bussler, C. and Fensel, D. (2005) 'Web service modeling ontology', Applied Ontologies, Vol. 1, No. 1, pp.77-106.
- Solanki, M., Cau, A. and Zedan, H. (2004) 'Augmenting semantic web service descriptions with compositional specification', Proceedings of World Wide Web Conference (WWW), New York: ACM Press, pp.544-552.
- Tosi, D. (2006) 'Self-managed solutions for SOA-based applications', PhD thesis, Università degli Studi di Milano Bicocca, October, pp.1-143.
- Valetto, G. and Kaiser, G. (2003) 'Using process technology to control and coordinate software adaptation', Proceedings of IEEE Conference on Software Engineering, pp.262-272.
- World Wide Web Consortium (W3C) (2005) 'WSDL-S: Web service semantics', http://www.w3.org/Submission/WSDL-S/ (accessed January 2009).
- Websites Amazon Web Services, http://aws.amazon.com (accessed January 2009). http://www.trynt.com/trynt-credit-card-validation-api (accessed January 2009). Kayak Travel Search Service, http://www.kayak.com/labs (accessed January 2009).
- Service API, http://devnet.map24.com/ (accessed January 2009).
- Nirvanix Developer Center, http://developer.nirvanix.com/ (accessed January 2009). Webservicex.net Home Page, http://www.webservicex.net (accessed January 2009). XMethods Web Services, http://xmethods.net (accessed January 2009).