Constructing Web Services with the Globus Toolkit Version 4

This article introduces a new way of building enterprise software by leveraging grid computing concepts implemented by the Globus Toolkit version 4 (GT4). GT4 is an open source implementation of the Open Grid Services Infrastructure (OGSI). The implementation is intended to serve as a proof of concept for OGSI, and to be used as a reference for other implementations. This article addresses only the GT4 Java core services, which provide a run-time environment capable of hosting grid services written in Java. The run-time environment mediates between the application and the underlying network, and transport protocol engines.

Grid Definition

A grid is a collection of distributed computing resources available over a local or wide area network that appear to an end user or application as one large virtual computing system. Grid computing is an approach to distributed computing that spans not only locations but also organizations, machine architectures, and software boundaries to provide increased power, collaboration, and information access to everyone connected to a grid. Distributed resources, such as cycles, storage, and information, can be accessed from and provided to any location in the grid. The vision is to create virtual dynamic organizations through secure, coordinated resource sharing among individuals, institutions, and resources.

Globus Toolkit Version 4

In this article, we will only focus on the GT4 Java core services (Figure 1). These services offer a run-time environment capable of hosting grid services. The run-time environment mediates between the user-defined application services and the GT4 core services, underlying network, and transport protocol engines. GT4 Core also provides development support, including programming models for exposing and accessing grid service implementations such as GRAM (Grid Resource Allocation Management). One of the compelling reasons to use GT4 is that it builds upon existing web services standards and technologies like SOAP and WSDL. All of the grid service interfaces are exposed in WSDL format. GT4 provides software libraries that support security, discovery, resource management, invocation, communication, exception handling, data management, etc.

Figure 1. GT4 Java architecture

Figure 1 show the major architectural components of the server side of GT4. This is just a subset of the functionality that GT4 provides and that we use for this article. The GT4 architecture consists of a grid container to manage all of the deployed web services throughout their lifecycles. The GT4 grid container uses Apache AXIS as its web services engine to handle all of the SOAP message processing, JAX-RPC handler processing, and web services configuration.