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:
-
One service descriptor entry in the server configuration file,
server-config.wsdd. -
One Index Service configuration file,
index-service-config.xml.
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:
- Functions
- Default Contents
- serviceConfiguration
- installedProviders
- executedProviders
- dataAggregations
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.
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.
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.
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.
