2. Basic concepts
A Web service is defined by the [2] as "a software system designed to support interoperable machine-tomachine
interaction over a network". Web Services are frequently just Web APIs that can be accessed over a
network, such as the Internet, and executed on a remote system hosting the requested services. SOAP,
originally defined as Simple Object Access Protocol, is a protocol specification for exchanging structured
information in the implementation of Web Services in computer networks. It relies on Extensible Markup
Language (XML) as its message format and usually relies on other Application Layer protocols, most notably
Remote Procedure Call (RPC) and HTTP for message negotiation and transmission. SOAP forms the
foundation layer of the Web Services protocol stack providing a basic messaging framework upon which
abstract layers can be built [1].
The Web Services Description Language is an XML-based language that provides a model for describing Web
Services. The WSDL defines services as collections of network endpoints, or ports. The WSDL specification
provides an XML format for documents for this purpose. The abstract definition of ports and messages are
separated from their concrete use or instance, allowing the reuse of these definitions [6].
The Web Services Interoperability Organization (WS-I) is an industry consortium chartered to promote
interoperability amongst the stack of Web Services specifications. WS-I does not define standards for Web
Services; rather, it creates guidelines and tests for interoperability.
The [2] Web service definition encompasses many different systems, but in common usage the term refers to
clients and servers that communicate over the HTTP protocol used on the Web. Such services tend to fall into
one of two camps: Big Web Services and RESTful Web Service