Web services

From GridInfo

Jump to: navigation, search

The Grid community has been migrating towards Web Services as a means to provide communication between loosely coupled services in a heterogeneous environment. The use of XML for communication and interface descriptions does provide us with many advantages over application defined communication protocols: clients of a Web Service can be written independently, based on its interface, without the need to understand the actual inner-workings of the service and in a manner fully independent of platform, programming language and data encoding format; hence considerably facilitating integration with other systems on the Grid.

Web Services are essentially a collection of XML-based protocols and standards, which define the ways in which services should be described (through the Web Service Description Language - WSDL), how they can be accessed and how communications should be formatted (Simple Object Access Protocol – SOAP), and finally how these may be discovered by client applications. The reliance on the eXtensible Markup Language (XML) as a common formatting language ensures a degree of platform, programming language and system independence. As such clients and services developed independently can, through conformance to these standards, be made to interoperate.

Advantages

There are several advantages to Web Services that should be noted here:

  • Loose coupling: The use of published WSDL interfaces and XML-based communication protocols favours a ‘black-box’ approach to development. Most of the details of the inner-workings of the service are abstracted away from the client, which considerably facilitates the independent development of clients capable of remotely invoking specific Web Services.
  • Development kits: Numerous development kits (such as gSOAP, Axis, etc.) and transport protocol bindings are available, providing support for a wide range of platforms and programming languages. There are also several hosting environments available such as Tomcat, J2EE containers, which can be used to deploy and manage Web services.
  • Web Service compatible applications and standards: As Web Services have become increasingly popular for business-to-business interaction, numerous industry tools and standards are available that can be exploited in a grid setting. For instance, the industry standard BPEL can be used to compose interactions between grid services according to user defined workflows as we demonstrate in section 6.
  • Hosting Environments: Numerous hosting environments are available which will provide additional management capabilities for your web services (resource management, activation, deployement, etc.).
  • Firewall management: Often used as a ‘selling point’ for Web Service technology is its ability to traverse many proxies and firewalls unhindered. SOAP messages can be bound to the HTTP protocol; often allowed through firewalls for web browsing purposes. Whilst this may not necessarily be desirable from a security standpoint, it should be noted that Web Services enable session management over a single port, considerably facilitating the administration of firewalls.

Links

Apache Axis Web Service development kit

GSOAP Web Service development kit

W3C Web Services activity

Personal tools