The Web Services paradigm is promising because it excels in uniting systems that were previously thought to be incompatible. Hence, a growing number of applications are built as interconnected, cooperating services, where the business logic of each service is typically implemented in an object-oriented programming language. But current object-oriented programming languages do not integrate well with the Web Services paradigm. Various frameworks were proposed to increase transparency, but these APIs fail to provide appropriate abstractions for guiding service selection and for handling service failures. Hence, they make the programmer responsible for dealing with infrastructural technicalities, resulting in ad-hoc solutions that comprise error-prone and obfuscated code.In this paper, we evaluate the Web Service Invocation Framework (WSIF), a popular API for writing web service clients in Java. We show how the weaknesses of WSIF can be solved by integrating it with ServiceJ, our Java extension that introduces language features for interacting with remote services. By directly integrating support for web services in object-oriented programming languages, we allow programmers to focus on the implementation of the business logic, rather than on technical challenges such as locating services, installing service communication protocols, and detecting service failures.
展开▼