This information is for a release that is no longer supported by the Globus Toolkit. The currently supported versions of the Globus Toolkit are 4.2 (recommended) and 4.0.

WS Information Services: System Administrator's Guide

Overview
Configuring the Index Service
Registering a Resource Service to and Index Service
Using Service Data Providers
Testing Service Data Aggregation
>Index Service Configuration File
Server Configuration File

Index Service Configuration File

In relation to your WS installation and configuration, each persistent Index Service instance you create requires the following:

This page describes how to configure the Index Service configuration file.

To use the capabilities of the Index Service for your particular operational needs and environment, you need to configure it for the Grid services and Service Data Providers you intend to use, the kind of service data you want to aggregate, and the service data notifications and subscriptions you desire.  You perform this configuration with the Index Service configuration file, index-service-config.xml.

The index-service-config.xml file is included in your GT3.2 installation and resides by default in <gt3-install-location>/etc.  The default contents of this file are described in Index Service Configuration File Contents below.

Note: If you modify this file, you need to restart the Index Service (by restarting the container that is hosting it).

This page contains the following topics:

Index Service Configuration File: Functions

The functions of the Index Service configuration file are as follows:

  • Specifies the Service Data Providers (core, custom, and ported from Pre-WS) to be enabled for each service referencing this configuration file.
     
  • Specifies which (if any) of the enabled providers are to be executed at startup and/or when the configuration file is reread, along with any parameters relevant to the provider’s execution.
     
  • Specifies notification and subscription of service data to other service instances, which allows for aggregation of service data from multiple services.

Index Service Configuration File: Default Contents

The following describes the default contents of the Index Service configuration file, index-service-config.xml.  The sections of this file are described in detail in subsequent topics:

<?xml version="1.0" encoding="UTF-8" ?>
<serviceConfiguration xmlns:ogsi="http://www.gridforum.org/namespaces/2003/03/OGSI"
xmlns:aggregator="http://www.globus.org/namespaces/2003/09/data_aggregator" 
xmlns:provider-exec="http://www.globus.org/namespaces/2003/04/service_data_provider_execution"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"> 

<installedProviders> 
 <providerEntry class="org.globus.ogsa.impl.base.providers.servicedata.impl.SimpleSystemInformationProvider" /> 
 <providerEntry class="org.globus.ogsa.impl.base.providers.servicedata.impl.AsyncDocumentProvider" /> 
 <providerEntry class="org.globus.ogsa.impl.base.providers.servicedata.impl.ScriptExecutionProvider" />
 <providerEntry class="org.globus.ogsa.impl.base.providers.servicedata.impl.HostScriptProvider" />
</installedProviders>

<executedProviders>
 <provider-exec:ServiceDataProviderExecution>
  <provider-exec:serviceDataProviderName>SystemInformation</provider-exec:serviceDataProviderName>
  <provider-exec:serviceDataProviderImpl>org.globus.ogsa.impl.base.providers.servicedata.impl.SimpleSystemInformation</provider-exec:serviceDataProviderImpl>
  <provider-exec:serviceDataProviderArgs> </provider-exec:serviceDataProviderArgs>
  <provider-exec:serviceDataName xmlns:mds="http://glue.base.ogsa.globus.org/ce/1.1">mds:Host</provider-exec:serviceDataName>
  <provider-exec:refreshFrequency>60</provider-exec:refreshFrequency>
  <provider-exec:async>true</provider-exec:async>
 </provider-exec:ServiceDataProviderExecution>
</executedProviders>

<!-- Sample Configuration of Service Data Aggregation relationships using Subscription -->
<dataAggregations>
<!-- 
  The sample below will cause the default Index Service instance (the sink) 
  to subscribe to the "Cluster" SDE on the default MasterForkManagedJobFactoryService 
  (the source), essentially publishing the aggregated "Cluster" SDE from 
  the default MasterForkManagedJobFactoryService as part of the default 
  Index Service's ServiceData.
--> 
<!--<aggregator:DataAggregation>
<ogsi:source>http://localhost:8080/ogsa/services/base/gram/MasterForkManagedJobFactoryService</ogsi:source>
<ogsi:sink>http://localhost:8080/ogsa/services/base/index/IndexService</ogsi:sink>
<ogsi:params>
 <aggregator:AggregationSubscription>
  <ogsi:serviceDataNames>
   <ogsi:name xmlns:ce="http://glue.base.ogsa.globus.org/ce/1.1">ce:Cluster</ogsi:name>
  </ogsi:serviceDataNames>
  <aggregator:lifetime>1200</aggregator:lifetime>
 </aggregator:AggregationSubscription>
</ogsi:params>
</aggregator:DataAggregation>--> 

<!-- 
  The sample below will invoke the aggregator operation provider of the 
  MasterForkManagedJobFactoryService instance (the sink) to subscribe to 
  the "Host" SDE on the default local Index Service (the source), essentially 
  publishing the "Host" SDE to the default MasterForkManagedJobFactoryService's 
  Service Data. Note that this "proxy subscription" behavior will only work
  when the target sink is a service that supports addDataAggregation using the
  SubscriptionAggregationSource implementation (see data_aggregator_port_type.gwsdl).
--> 
<!-- <aggregator:DataAggregation>
<ogsi:source>http://localhost:8080/ogsa/services/base/index/IndexService</ogsi:source>
<ogsi:sink>http://localhost:8080/ogsa/services/base/gram/MasterForkManagedJobFactoryService</ogsi:sink>
<ogsi:params>
 <aggregator:AggregationSubscription>
  <ogsi:serviceDataNames>
   <ogsi:name xmlns:ce="http://glue.base.ogsa.globus.org/ce/1.1">ce:Host</ogsi:name>
  </ogsi:serviceDataNames>
 <aggregator:lifetime>1200</aggregator:lifetime>
 </aggregator:AggregationSubscription>
</ogsi:params>
</aggregator:DataAggregation>-->

</dataAggregations>

</serviceConfiguration>

Top

Index Service Configuration File: serviceConfiguration

The serviceConfiguration section in index-service-config.xml specifies Grid service, Service Data Aggregator, and Service Data Provider namespaces.  This section in the default file is as follows:

<serviceConfiguration xmlns:ogsi="http://www.gridforum.org/namespaces/2003/03/OGSI" 
xmlns:aggregator="http://www.globus.org/namespaces/2003/09/data_aggregator" 
xmlns:provider-exec="http://www.globus.org/namespaces/2003/04/service_data_provider_execution" 
xmlns:xsd="http://www.w3.org/2001/XMLSchema">  

Note that namespaces (identified by URLs) are specified above for OGSI, Service Data Aggregator, Service Data Provider execution, and XML schema.  These namespaces are required so that the Apache Axis SOAP engine can properly render the XML entries in the file into runtime objects.

Top

Index Service Configuration File: installedProviders

The installedProviders section in the default index-service-config.xml file is as follows:

<installedProviders>
 <providerEntry class="org.globus.ogsa.impl.base.providers.servicedata.impl.SimpleSystemInformationProvider" />
 <providerEntry class="org.globus.ogsa.impl.base.providers.servicedata.impl.AsyncDocumentProvider" />
 <providerEntry class="org.globus.ogsa.impl.base.providers.servicedata.impl.ScriptExecutionProvider" />
 <providerEntry class="org.globus.ogsa.impl.base.providers.servicedata.impl.HostScriptProvider" />
</installedProviders>

This section specifies the core Service Data Providers as shown above, as well as any Java custom or ported Service Data Providers.  Every Java Service Data Provider specified in the executedProviders section (described below) must also be listed here in the installedProviders section; MDS2-style Unix information providers are excepted.

The only required attribute in the installedProviders section is class, under ProviderEntry, which provides a path to the class.  The class attribute contains a Java class name that implements one of the supplied Service Data Provider interfaces.

An optional handler parameter can be used to indicate a user-supplied custom callback method where the resulting data will be sent for any post-processing.  See the Custom Data Handlers section of Creating New WS Service Data Providers for details.

Top

Index Service Configuration File: executedProviders

The executedProviders section in the default index-service-config.xml file is as follows:

<executedProviders>
 <provider-exec:ServiceDataProviderExecution>
 <provider-exec:serviceDataProviderName>SystemInformation</provider-exec:serviceDataProviderName>
 <provider-exec:serviceDataProviderImpl>org.globus.ogsa.impl.base.providers.servicedata.impl.SimpleSystemInformation</provider-exec:serviceDataProviderImpl>
 <provider-exec:serviceDataProviderArgs> </provider-exec:serviceDataProviderArgs>
 <provider-exec:serviceDataName xmlns:mds="http://glue.base.ogsa.globus.org/ce/1.1">mds:Host</provider-exec:serviceDataName>
 <provider-exec:refreshFrequency>60</provider-exec:refreshFrequency>
 <provider-exec:async>true</provider-exec:async>
 </provider-exec:ServiceDataProviderExecution>
</executedProviders>

One or more piece(s) of service data is produced by each execution of each Service Data Provider specified in this section.

Each execution of a Service Data Provider here may use the same individual provider in the installedProviders section multiple times, such as the ScriptExecutionProvider.

The serviceDataProviderArgs parameter supplies parameters to the Service Data Providers specified in this entry.

The serviceDataName parameter specifies the name of the new service data to create.  If no name is specified, the name will be created from the tag name of the root element of the XML document resulting from the provider execution.  The name may be qualified with a namespace, using standard XML QName syntax.  For example:

<provider-exec:serviceDataName xmlns:ns="http://www.globus.org/example">ns:SystemInformation</provider-exec:serviceDataName>

The refreshFrequency parameter indicates how often (in seconds) to run this Service Data Provider.

The async parameter indicates that the Service Data Provider specified should attempt to run asynchronously if it is capable of doing so.

Every Java Service Data Provider specified in this section must also be specified in the installedProviders section (described above) of the configuration file; MDS2-style Unix information providers are excepted.

Top

Index Service Configuration File: dataAggregations

The dataAggregations section in the default index-service-config.xml file specifies the Grid services and the Service Data from those services that is to be aggregated by the Index Service.

<aggregator:DataAggregation>
 <ogsi:source>http://localhost:8080/ogsa/services/base/gram/MasterForkManagedJobFactoryService</ogsi:source>
 <ogsi:sink>http://localhost:8080/ogsa/services/base/index/IndexService</ogsi:sink>
 <ogsi:params>
  <aggregator:AggregationSubscription>
   <ogsi:serviceDataNames>
    <ogsi:name xmlns:ce="http://glue.base.ogsa.globus.org/ce/1.1">ce:Cluster</ogsi:name>
   </ogsi:serviceDataNames>
   <aggregator:lifetime>1200</aggregator:lifetime>
  </aggregator:AggregationSubscription>
 </ogsi:params>
</aggregator:DataAggregation>

The ogsi:source parameter specifies the service to which the subscription will be made.

The ogsi:sink parameter specifies the service to which the messages will be delivered - if is not found, the handle of the Index Service that is processing the configuration file will be used.

The ogsi:params parameter is an extensibility element (XSD Any) which is set by default in to be the AggregationSubscription type.

The aggregator:AggregationSubscription is a type defined for creating aggregations based specifically on Service Data subscriptions. Other aggregation types are theoretically possible, but are not currently used by the Index Service..

The ogsi:serviceDataNames parameter of the AggregationSubscription specifies an array of  QNames of the service data elements to which the Index Service will subscribe.

The aggregator:lifetime parameter of the AggregationSubscription specifies the lifetime of the subscription, in seconds.

The above example shows the Index Service subscribing to the GRAM MasterForkManagedJobFactory service in order to aggregate information about the Cluster resources available.

Top