Software Links
Getting Started
- Doc Structure
- A Globus Primer
- Globus Is Modular!
- Quickstart
- Installing GT
- Platform Notes
- Migrating from GT2
- Migrating from GT3
Reference
- PDF version
- Best Practices
- Coding Guidelines
- API docs
- Public Interfaces
- Resource Properties
- Samples
- Glossary
- Performance Studies
Common Runtime
Security
Data Mgt
Information Svcs
Execution Mgt
Table of Contents
The first major structural change is that an RPProvider package was created within the UsefulRP package. The intent of this new package was to provide some basic and flexible ways to insert arbitrary data into the Index service that are exposed as RPs. In particular, this package has a set of 'producers' that are used to get data into the Index service. For the first draft of the changes, we now have the following producers:
External Process Element Producer - this producer executes any arbitrary command or script that emits XML and it will be published as an RP.
File Element Producer - this producer publishes the contents of a file on local disk to the Index service as an RP.
JVM Info Element Producer - this producer is a useful testing mechanism that emits information about the host JVM as an RP.
Scheduler Info Element Producer - this producer executes the scheduler (batch) provider script for GRAM. This is a replacement for the inflexible code that previously executed the scheduler provider script.
URL Element Producer - this producer retrieves data from a configurable web based site and publishes the retrieved data into the Index as an RP.
The above producers allow flexibility regarding what data can be published in the Index service, how to publish that data done and exposing data as RPs from a variety of sources.
TODO: make a similar section for each producer
To use the External Process Element Producer, add an entry in the following form to your
$GLOBUS_LOCATION//etc/globus_wsrf_mds_index/rp-provider-config.xml file.
<ns1:resourcePropertyName xsi:type="xsd:QName"
xmlns:mds="http://mds.globus.org/glue/ce/1.1"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">mds:MyTestRP</ns1:resourcePropertyName>
<ns1:resourcePropertyImpl xsi:type="xsd:string"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">org.globus.mds.usefulrp.rpprovider.SingleValueResourcePropertyProvider</ns1:resourcePropertyImpl>
<ns1:resourcePropertyElementProducers xsi:type="ns1:resourcePropertyElementProducerConfig">
<ns1:className xsi:type="xsd:string"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">org.globus.mds.usefulrp.rpprovider.producers.ExternalProcessElementProducer</ns1:className>
<ns1:arguments xsi:type="xsd:string"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">/PATH/TO/MY/PROGRAM</ns1:arguments>
<ns1:arguments xsi:type="xsd:string"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">DUMMY-ARGUMENT</ns1:arguments>
<ns1:transformClass xsi:type="xsd:string"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">org.globus.mds.usefulrp.rpprovider.transforms.MyCustomTransformClass</ns1:transformClass>
<ns1:transformArguments xsi:type="xsd:string"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">transformDummyArgument</ns1:transformArguments>
<ns1:period xsi:type="xsd:int" xmlns:xsd="http://www.w3.org/2001/XMLSchema">300000</ns1:period>
</ns1:resourcePropertyElementProducers>
Configuration settings for the External Process Element Producer
resourcePropertyNameSpecifies the name of the RP that you'd like the data to be accessed by.
resourcePropertyImplDescribes how the RP will be handled. The SingleValueResourcePropertyProvider is suitable for most uses.
resourcePropertyElementProducersThis element is required and wraps the following elements. For this type of RPProvider, the className must be specified as org.globus.mds.usefulrp.rpprovider.producers.ExternalProcessElementProducer.
Configuration settings for resourcePropertyElementProducers
- first argument
The first arguments element is the name of the script or program that you'd like to have executed. This script or program is expected to generate XML data that will be included in the Index.
- second argument
The second arguments element is an arbitrary piece of data that will be provided to the process specified in the first argument as a (command line) argument.
transformClassThis element is optional (and may be excluded), but is provided in the case that you would like a post processing transform to occur on the output of the data generated by the process.
transformArgumentsIf the transformClass element was specified, the transformArguments element may be specified, which will be provided to the transformClass as a (command line like) argument.
elementThe period element is required and specifies the interval at which to re-execute this external process and update the information it generates in the Index service.
To use the File Element Producer, add an entry in the following form to your $GLOBUS_LOCATION//etc/globus_wsrf_mds_index/rp-provider-config.xml file.
<ns1:resourcePropertyName xsi:type="xsd:QName"
xmlns:frp="http://my.ns.domain/file"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">frp:MyFileRP</ns1:resourcePropertyName>
<ns1:resourcePropertyImpl xsi:type="xsd:string"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">org.globus.mds.usefulrp.rpprovider.SingleValueResourcePropertyProvider</ns1:resourcePropertyImpl>
<ns1:resourcePropertyElementProducers
xsi:type="ns1:resourcePropertyElementProducerConfig">
<ns1:className xsi:type="xsd:string"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">org.globus.mds.usefulrp.rpprovider.producers.FileElementProducer</ns1:className>
<ns1:arguments xsi:type="xsd:string"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">/PATH/TO/MY/XML/FILE</ns1:arguments>
<ns1:transformClass xsi:type="xsd:string" xsi:nil="true"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"/>
<ns1:period xsi:type="xsd:int"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">60</ns1:period>
</ns1:resourcePropertyElementProducers>