Abstract
In service-oriented computing, applications are often created by integrating third-party Web Services. Current integration approaches, however, require client applications to hardcode references to specific Web Services, thereby affecting adaptability and robustness. Moreover, support for client-side management is rarely provided. To enable the development of more flexible and robust applications, we propose to insert a new layer between the client applications and the Web Services: the Web Services Management Layer (WSML). This layer decouples Web Services from client applications and enables hot-swapping between semantically equivalent Web Services based on availability. This mechanism allows for dynamic switching between Web Services based on selection policies that encapsulate changing business requirements. In addition, with WSML, client-side management concerns (e.g., caching, billing and logging) can be decoupled from the applications. In this paper, we identify a list of requirements for WSML to realize dynamic integration and client-side service management, and provide support for service criteria to govern the selection, integration and composition of Web Services. We also show that dynamic Aspect-Oriented Programming (AOP) is well suited to implement the core functionality of WSML.
Similar content being viewed by others
References
Andrews, T., Curbera, F., Dholakia, H., et al.: Business process execution language for web services (WS-BPEL), Specification 1.1, May 2003. Available at: http://www.siebel.com/bpel
Ankolenkar, A., Burstein, M., Hobbs, J.R., et al.: DAML-S: Web service description for the semantic web. In: Proceedings of the 1st International Semantic Web Conference (ISWC), pp. 348–363. Sardinia, Italia (2002) June
Apache.: Apache Axis 1.1. Available at: http://ws.apache.org/axis
Appnel, T.: An introduction to WSIL, the web services inspection language, October 2002. Available at: http://www.onjava.com/pub/a/onjava/2002/10/16/wsil.html
Arsanjani, A., Hailpern, B., Martin, J., et al.: Web services promises and compromises. ACM Queue 1(1), (2003) March
Atkinson, B., Della-Libera, G., Hada, S., et al.: Web services security (WS-Security) v1.0, IBM Developer Works, April 2002. Available at: http://www-128.ibm.com/developerworks/webservices/library/ws-secure/
Bajaj, S., Box, D., Chappell, D., et al.: Web services policy framework specification v1.0 (WS-Policy), IBM Developer Works, September 2004. Available at: http://www-128.ibm.com/developerworks/library/specification/ws-polfram/
BEA.: BEA WebLogic Framework 8.1. Available at: http://www.bea.com/
Bechhofer, S., van Harmelen, F., Hendler, J., et al.: OWL web ontology language reference. W3C Recommendation, February 2004. Available at: http://www.w3.org/TR/owl-ref/
Bergmans, L., Aksit, M.: Composing crosscutting concerns using composition filters. Commun. ACM 44(10), 51–57 (2001) October
Berners-Lee, T., Hendler, J., Lassila, O.: The semantic web. Sci. Am. 284(5), 34–43 (2001) May
Bonér, J.: What are the key issues for commercial AOP use––how does AspectWerkz address them. In: Proceedings of the 3rd International Conference on Aspect-Oriented Software Development (AOSD). Lancaster, UK (2004) March
Cabrera, L.F., Copeland, G., Feingold, M., et al.: Web services coordination (WS-Coordination) v1.0, IBM Developer Works, August 2005. Available at: http://www-128.ibm.com/developerworks/library/specification/ws-tx/
Chinnici, R., Moreau, J.-J., Ryman, A., et al.: Web service description language (WSDL) v2.0, W3C, August 2005. Available at: http://www.w3.org/TR/wsdl20
Cibrán, M.A., D’Hondt, M., Jonckers, V.: Aspect-oriented programming for connecting business rules. In: Proceedings of the 6th International Conference on Business Information Systems (BIS). Colorado Springs, CO, USA (2003) June
Cibrán, M.A., D’Hondt, M., Suvée, D., et al.: Linking business rules to object-oriented software using JAsCo. In: Journal of Computational Methods in Sciences and Engineering vol. 5(1), pp. 13–27. IOS (2005)
Cibrán, M.A., Verheecke, B., Jonckers, V.: Modularizing client-side web service management aspects. In: Proceedings of the 2nd Nordic Conference on Web Services (NCWS). Växjö, Sweden (2003) November
Clement, L., Hately, A., von Riegen, C., et al.: UDDI specification version 3.0.2, OASIS, October 2004. Available at: http://uddi.org/pubs/uddi_v3.htm
D’Hondt, M., Jonckers, V.: Hybrid aspects for weaving object-oriented functionality and rule-based knowledge. In: Proceedings of the 3rd International Conference on Aspect-Oriented Software Development (AOSD). Lancaster, UK (2004) March
De Fraine, B., Vanderperren, W., Suvée, D., et al.: Jumping aspects revisited. In: Proceedings of the 4th Dynamic Aspects Workshop (DAW) at the 4th International Conference on Aspect-Oriented Software Development (AOSD). Chicago, USA (2005) March
De Win, B., Vanhaute, B., De Decker, B.: How aspect-oriented programming can help to build secure software. Informatica 26(2), 141–149 (2002)
Duftler, M.J., Mukhi, N.K., Slominski, A., et al.: Web services invocation framework (WSIF). August 2001. Available at: http://www.research.ibm.com/people/b/bth/OOWS2001/duftler.pdf
Eberhart, A.: Towards universal web service clients. In: Proceedings of the 2nd Euroweb Conference. Oxford, UK (2002) December
Elrad, T., Filman, R.E., Bader, A. (eds.): Special issue on aspect-oriented software development. Commun. ACM 41(10), (2001) October
Filman, R.E., Barrett, S., Lee, D., et al.: Inserting ilities by controlling communications. Commun. ACM 45(1), 116–122 (2002) January
Fleury, M., Reverbel, F.: The JBoss extensible server. In: Proceedings of the 4th Middleware International Conference. Rio de Janeiro, Brazil, LNCS 2672, Springer (2003) January
Gamma, E., Helm, R., Johnson, R., et al.: Design Patterns: Elements of Reusable Object-oriented Software. Addison-Wesley, Reading, MA (1995)
Gudgin, M., Hadley, M., Mendelsohn, N., et al.: Simple object access protocol (SOAP) v1.2. W3C Recommendation, June 2003. Available at: http://www.w3.org/TR/soap12-part1/
JAsCo version 0.7. Available at: http://ssel.vub.ac.be/jasco/
Johnson, R., Hoeller, J., Arendsen, A., et al.: Spring: Java/J2EE application framework v1.2.3. August 2005. Available at: http://static.springframework.org/spring/docs/1.2.x/spring-reference.pdf
Kiczales, G., Hilsdale, E., Hugunin, J., et al.: An overview of aspectJ. In: Proceedings of the 15th European Conference on Object-Oriented Programming (ECOOP). Budapest, Hungary (2001) June
Kiczales, G., Lamping, J., Mendhekar, A., et al.: Aspect-oriented programming. In: Proceedings of the 14th European Conference on Object-Oriented Programming (ECOOP). Jyväskylä, Finland (2000) June
Kreger, H., Bumpus, W.: Web services distributed management v1.0. OASIS, March 2005. Available at: http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=wsdm
Lieberherr, K., Orleans, D., Ovlinger, J.: Aspect-oriented programming with adaptive methods. Commun. ACM 44(10), 39–41 (2001) October
Malhotra, J.: Challenges in Developing Web Services-based E-business Applications. Whitepaper, InterKeel (2001)
Martin-Flatin, J.P., Doffoel, P.A., Jeckle, M.: Web services for integrated management: A case study. In: Proceedings of the 2nd European Conference on Web Services (ECOWS). Erfurt, Germany, LNCS 3250, Springer (2004) September
Maximilien, E.M., Singh, M.P.: Agent-based architecture for autonomic web service selection. In: Proceedings of the AAMAS workshop on Web Services and Agent-Based Engineering (WSABE). Melbourne, Australia (2003) July
McGuinness, D.L., Fikes, R., Hendler, J., et al.: DAML+OIL: An ontology language for the semantic web. IEEE Intell. Syst. 17(5), 72–80 (2002) September
McGuinness, D.L., van Harmelen, F.: OWL Web ontology language: Overview. W3C. Available at: http://www.w3.org/TR/2004/REC-owl-features-20040210/
Mezini, M., Ostermann, K.: Conquering aspects with Caesar. In: Proceedings of the 2nd International Conference on Aspect-Oriented Software Development (AOSD). Boston, MA, USA (2003) March
Microsoft.: Microsoft Visual Studio.NET 2003. Available at: http://msdn.microsoft.com/vstudio/previous/2003/
OMG. Common object request broker architecture (CORBA/IIOP) v3.0.3. OMG, January 2003. Available at: http://www.omg.org/docs/formal/04-03-01.pdf
Ossher, H., Tarr, P.: Using multidimensional separation of concerns to (Re)shape evolving software. Commun. ACM 44(10), 43–50 (2001) October
Parnas, D.L.: On the criteria to be used in decomposing systems into modules. Commun. ACM 15(12), 1053–1058 (1972) May
Pulvermüller, E., Speck, A., Coplien, J.O., et al.: Proceedings of the 1st Workshop on Feature Interaction in Composed Systems at the 15th European Conference on Object-Oriented Programming (ECOOP). Budapest, Hungary (2001) June
Ross, R.G.: Principles of the Business Rule Approach. Addison-Wesley, Reading, MA (2003)
Sivashanmugam, K., Verma, K., Shethet, A., et al.: Adding semantics to web services standards. In: Proceedings of the 1st International Conference on Web Services (ICWS). Las Vegas, USA (2003) June
Sun.: JavaOne. Available at: http://java.sun.com/javaone/
Sun.: Java API for XML-Based RPC (JAX-RPC) Specification 2.0. July 2004. Available at: http://java.sun.com/xml/downloads/jaxrpc.html
Suvée, D., Vanderperren, W., Jonckers, V.: JAsCo: An aspect-oriented approach tailored for component based software development. In: Proceedings of the 2nd International Conference on Aspect-Oriented Software Development (AOSD). Boston, MA, USA (2003) March
Szyperski, C.: Component Software: Beyond Object-oriented Programming. Addison-Wesley, Reading, MA (1998)
Szyperski, C.: Components and web services. Beyond objects column. Softw. Dev. 9(8), (2001) August
Tarr, P., Ossher, H., Harrison, W., et al.: N degrees of separation: Multi-dimensional separation of concerns. In: Proceedings of the 21st International Conference on Software Engineering (ICSE). Los Angeles, CA, USA (1999) May
Tosic, V., Pagurek, B., Patel, K.: WSOL––a language for the formal specification of classes of service for web services. In: Proceedings of the 1st International Conference on Web Services (ICWS). Las Vegas, CA, USA (2003) June
Vanderperren, W.: Combining Aspect-Oriented and Component-based Software Engineering. Ph.D. Thesis, Vrije Universiteit Brussel, Belgium (2004)
Vanderperren, W., Suvée, D.: Optimizing JAsCo dynamic AOP through HotSwap and Jutta. In: Proceedings of the 3rd Dynamic Aspects Workshop (DAW) at the 4th International Conference on Aspect-Oriented Software Development (AOSD). Lancaster, UK (2004) March
Vanderperren, W., Suvée, D., De Fraine, B., Jonckers, V.: Aspect-oriented programming in JAsCo. SSEL Technical Report, Available at: http://ssel.vub.ac.be/jasco/
Vanderperren, W., Suvée, D., Jonckers, V.: Combining AOSD and CBSD in PacoSuite through invasive composition adapters and JAsCo. In: Proceedings of the 2003 Net.ObjectDays International Conference (NODe). Erfurt, Germany (2003) September
Verheecke, B., Cibrán, M.A., Jonckers, V.: AOP for dynamic configuration and management of web services. In: Proceedings of the 1st International Conference on Web Services-Europe (ICWS-Europe). Erfurt, Germany, LNCS 2853, Springer (2003) September
Verheecke, B., Cibrán, M.A., Jonckers, V.: Aspect-oriented programming for dynamic web service monitoring and selection. In: Proceedings of the 2nd European Conference on Web Services (ECOWS). Erfurt, Germany, LNCS 3250, Springer (2004) September
Verspecht, D., Vanderperren, W., Suvée, D., Jonckers, V.: JAsCo.NET: Capturing crosscutting concerns in .NET web services. In: Proceedings of the 2nd Nordic Conference on Web Services (NCWS). Växjö, Sweden (2003) November
Von Halle, B.: Business Rules Applied. Wiley, New York (2001)
Web Services Interoperability Organization (WS-I). Home page: http://www.ws-i.org/
Web Services Management Layer (WSML) version 0.5.0. Available at: http://ssel.vub.ac.be/wsml/
Weiss, G.: Multi-agent Systems, a Modern Approach to Distributed Artificial Intelligence. MIT, Cambridge, MA (1999)
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Cibrán, M.A., Verheecke, B., Vanderperren, W. et al. Aspect-oriented Programming for Dynamic Web Service Selection, Integration and Management. World Wide Web 10, 211–242 (2007). https://doi.org/10.1007/s11280-006-0017-2
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11280-006-0017-2