GT 3.9.5 WS MDS Index Service: Developer's Guide

Introduction

The WS MDS Index Service collects information about grid resources and publishes that information as a service group. Client programs use resource property queries or subscription/notification to retrieve information from the index. Information can be added to the index via a number of different mechanisms: since the Index Service is implemented using the Aggregator Framework, any aggregator source can be used to provide information for the index.

Architecture and design overview

There are essentially two interfaces to the Index Service -- one for getting information into the index, and one for retrieving information from the index.

Information is retrieved from the Index Service as service group entries using the standard WS MDS Core APIs for resource property queries or subscription/notification.

Because the Index is implemented as an WS-MDS Aggregator Service, the programmatic interface for getting information into the index is to create an aggregator source -- see the WS-MDS Aggregator Developer's Guide for details.

Public interface

The semantics and syntax of the APIs and WSDL for the component, along with descriptions of domain-specific structured interface data, can be found in the public interface guide.

Usage scenarios

Retrieving information from an index service

Information is retrieved from the index using the standard Java WS Core API calls for getting resource property information: GetResourceProperty to request a single resource property by name, GetResourceProperties to request several resource properties by name, QueryResourceProperty to perform an XPath query on a resource property document, and the notification/subscription mechanism. See the Java WS Core Developer's Guide for details.

Adding information to an index

Information is added to an index by way of an aggregator source. The Globus Toolkit distribution includes several standard aggregator sources (see the Administrator's Guide for more details). To create your own custom information source, see the WS MDS Aggregator Developer's Guide.

Tutorials

Use of the index service is covered as part of the Build a Grid Service Tutorial

Feature summary

Features new in release 3.9.5

  • Based on WSRF rather than OGSI
    • Aggregated data is published through WS-Resource Properties mechanisms
    • The aggregator framework module (basis of the index service) collects data from monitored resources using WS-Resource Properties collection mechanisms, including the base WS-Resource Properties poll operations and WS-Notification.
  • Persistent configuration of aggregations has been refactored. The service no longer has its own config file for specifying aggregations. Instead a separate client is used to make appropriate registrations. This client may be started alongside the container for the equivalent effect. The client may also be deployed elsewhere to support resource-side configuration (providing similar functionality to the GT3.2 RegistryPublishProvider) or at a third location.

Other Supported Features

  • The index appears as a ServiceGroup (defined in WSRF) which lists registered resources alongside dynamically collected information from those resources. This information can be examined using (for example) XPath queries to discover resources that match desired constraints.

Deprecated Features

  • Support for Xindice and aggregated data persistence has been removed.
  • The ability to specify default aggregations in service config file has been removed (see item in 'New Features').
  • Non-ServiceGroupRegistration methods for managing aggregations have been removed; the equivalent functionality is available through the ServiceGroupRegistration port type which is available in both GT3.2 and GT 3.9.3.0 versions of the index service.

Tested platforms

Tested Platforms for WS MDS Index Service

  • Linux on i386
  • Windows XP

Backward compatibility summary

Protocol changes since GT version 3.2

  • Generally incompatible with the GT3.2 index service as the service has been remodelled to use WSRF instead of OGSI.

API changes since GT version 3.2

  • The aggregator framework API used internally has retained the general flavor of the GT3.2 aggregator framework API, but is not directly compatible with it.

Schema changes since GT version 3.2

  • Schemas used for configuration and publishing are conceptually similar but are not compatible, primarily due to WSRF remodelling.

Technology dependencies

The Index Service depends on the following GT components:

  • Java WS Core
  • WS MDS Aggregator

The Index Service depends on the following 3rd party software:

  • None

Security considerations

The security considerations for the Aggregator Framework also apply to the Index Service

Debugging

See the Debug section of the Java WS Core Developer's Guide for general information on logging, including which files to edit to set logging properties.

To turn on debug logging for the Index Service, add the line:

log4j.category.org.globus.mds.index=DEBUG

to the appropriate properties file. Since the Index Service is implemented using the aggregator framework, you may also want to turn on aggregator debugging by adding this line:

log4j.category.org.globus.mds.aggregator=DEBUG

Troubleshooting

General troubleshooting information can be found in the GT 3.9.5 Java WS Core Developer's Guide.

Related Documentation

Specifications for resource properties, service groups, and subscription/notification are available at http://www.globus.org/wsrf/.