Services and WSDL

1. WSDL information for the Aggregator Framework

The trigger service inherits its WSDL interface from the Aggregator Framework module, included below:

1.1. Protocol overview

The Aggregator Framework builds on the WS-ServiceGroup and WS-ResourceLifetime specifications. Those specifications should be consulted for details on the syntax of each operation.

Each Aggregator Framework is represented as a WS-ServiceGroup (specifically, an AggregatorServiceGroup).

Resources may be registered to an AggregatorServiceGroup using the AggregatorServiceGroup Add operation. Each registration will be represented as a ServiceGroupEntry resource. Resources may beregistered to an AggregatorServiceGroup using the service group add operation, which will cause an entry to be added to the service group.

The entry will include configuration parameters for the aggregator source; when the registration is made, the following will happen:

  1. The appropriate aggregation source and sinks will be informed,
  2. the aggregator source will begin collecting data and inserting it into the corresponding service group entry,
  3. and the aggregator sink will begin processing the information in the service group entries.

The method of collection by source and processing by the sink is dependent on the particular instantiation of the aggregator framework (see per-source documentation for source information and per-service documentation for sink information - for example the Index Service and the Trigger Service.)

1.2. Operations

1.2.1. AggregatorServiceGroup

  • add: This operation is used to register a specified resource with the Aggregator Framework. In addition to the requirements made by the WS-ServiceGroup specification, the Content element of each registration must be an AggregatorContent type, with the AggregatorConfig element containing configuration information specific to each source and sink (documented in the System Administrator's Guide).

1.2.2. AggregatorServiceGroupEntry

  • setTerminationTime: This operation can be used to set the termination time of the registration, as detailed in WS-ResourceLifetime.

1.3. Resource properties

1.3.1. AggregatorServiceGroup Resource Properties

  • Entry: This resource property publishes details of each registered resource, including both an EPR to the resource, the Aggregator Framework configuration information, and data from the sink.
  • RegistrationCount: This resource property publishes registration load information (the total number of registrations since service startup and decaying averages)

1.4. Faults

The Aggregator Framework throws standard WS-ServiceGroup, WS-ResourceLifetime, and WS-ResourceProperties faults and does not define any new faults of its own.

2. Additional WSDL information for the Trigger Service

2.1. Trigger Service Resource Properties

In addition to the resource properties for the Aggregator Framework, the Trigger Service exposes the following:

TriggerName
This resource property allows one to arbitrarily name the trigger. This is used to assist one in managing many triggers.
TriggerStatus
This resource property is used to indicate the current status of the trigger. There are two states allowed: enabled and disabled.
MemberEPR
This resource property reveals the monitored service that the trigger is associated with
TriggerID
This resource property is a unique ID assigned to the trigger. It is essentially the EPR's Resource Key.
MatchingRule
This resource property is the XPath expression that will be used in evaluating incoming aggregator data. The trigger will fire (if enabled) if the expression is "true" (in a boolean sense). But if "EnableBoolean" is set to "false", then if the MatchingRule returns any data, the trigger will fire. This is consistent with pre-4.2 trigger functionality.
NamespaceMappings
This resource property allows one to use namespaces in the MatchingRule.
ActionScript
This resource property is the name of the action script that should be fired when the trigger evaluation is "true". The action script is located in the $GLOBUS_LOCATION/libexec/trigger/ directory.
EnableBoolean
This resource property is by default true, meaning that it is set up to evaluate XPath queries as "true" or "false", firing only when "true". If this property is set to "false", then the trigger will fire only if the MatchingRule evaluation returns any data
EnableBoolean
This resource property is by default true, meaning that it is set up to evaluate XPath queries as "true" or "false", firing only when "true".
MinimumFiringInterval
The action script will not be executed more than once in this number of seconds. If unspecified, there will be no minimum interval.
MinimumMatchTime
The MatchingRule must be true for this number of seconds before the ActionScript will be executed. If unspecified, there is no minimum time period that the rule must match and the rule will be eligible to fire immediately after the MatchingRule becomes true.
StartTime
The trigger will not fire, nor will the TriggerService perform any evaluations before the StartTime, if indicated. If a start time is not indicated, the TriggerService will begin immediately performing evaluations, if the trigger is active (i.e. TriggerStatus is set to "enabled")
EndTime
The TriggerService will not perform any evaluations after the EndTime, if indicated. If an end time is not indicated, the TriggerService will continue performing evaluations (of "active" triggers) until an EndTime is specified, otherwise until the container is shutdown. After an EndTime has passed, the TriggerService will basically be doing nothing, but you may whenever you wish change the EndTime, and the trigger evaluations will then begin again until the EndTime again is reached.
InvalidityStartTime
The trigger will not fire, nor will the TriggerService perform any evaluations after the InvalidityStartTime, if indicated. If an InvalidityStartTime is indicated, an InvalidityEndTime must also be specified. During this time period, the TriggerService will not perform any evaluations, if the trigger is active (i.e. TriggerStatus is set to "enabled")
InvalidityEndTime
This parameter requires an InvalidityStartTime, and during the time period between the InvalidityStartTime and InvalidityEndTime, the TriggerService will not perform any evaluations. If there is an EndTime specified, then trigger evaluations will begin after the InvalidityEndTime until the EndTime.
ActionScriptInputFullOriginal
This parameter, if set to "true" will pass the original trigger message input (to which the matching rule was applied) to the action script. The default behavior is to always pass the entire input message to the action scripts. For action scripts which do not need to consume the unmodified input, this variable may be set to "false" in order to increase performance. [For users familiar with previous versions of the Trigger Service, if you set ActionScriptInputFullOriginal to "true", this is equivalent to setting disableUnmodifiedActionScriptInput to "false", in other words it will pass the original trigger message input (to which the matching rule was applied) to the action script.]
ActionScriptInputXPathQueryResult
If this value is present and set to true, the service will pass the filtered output result of the XPath MatchingRule as additional input to the stdin of the action script, in addition to the original input to which the matching rule was applied. The default behavior if unspecified is true, meaning the Xpath query result will be passed as input to the action script. [For users familiar with previous versions of the Trigger Service, if you set ActionScriptInputXpathQueryResult to "true", this is equivalent to setting enableFilteredActionScriptInput to "true".]

The following resource properties are not editable; they are trigger run-time statistics.

RuleLastCheckedAt
This resource property reveals when the MatchingRule was last checked/evaluated.
ConditionTrueSince
This resource property reports since when the MatchingRule evaluated against the incoming aggregator data results in true
ActionFiredAt
This resource property reveals exactly when the trigger was last fired.