WS-Agreement variant WSAG+ValueTypes
About this document
Created by Josef Spillner on 25.04.2011.
Updated on 14.06.2011 to account for basic comparison operators and a summary of differences to WSAG+TEXO.
Based on previous work by Torsten Schiefer.
Introduction
The Web Services Agreement Specification, WS-Agreement [0], defines a contract language
description and management protocol between a provider and a consumer of a service.
Both contract templates and stateful negotiated agreements can be modelled. The states
range from offered over created (active or violated) to expired.
The extensible XML dialect chosen for WS-Agreement, which omits the precise definition of
service level objectives, has led to several proposals of WS-Agreement extensions for
certain contexts, such as multimedia services.
However, for the domain of contract-driven service execution, a simple yet non-ambiguous
specialisation of WS-Agreement is needed. Hereby we specify the ValueTypes extension
to WS-Agreement. It is of low expressivity due to its restriction to single values and value ranges (referring to [1]),
but likewise it is of low complexity for software developers.
We differentiate between guaranteeable, quantifiable non-functional properties and service configuration options
with functional or behavioural effects of interest to the user. Only the former are considered in this specification.
SLO Specification
WS-Agreement is extended by "value-type" objectives (dubbed WSAG+VT). The objectives refer to non-functional
properties which are typed and have a numeric value. The objectives can be mapped from public service descriptions
to agreement templates and agreements.
The objective specifications are typically placed below the
/wsag:Agreement/wsag:Terms/wsag:All/wsag:GuaranteeTerm subtrees.
The following standard WS-Agreement clauses will be used.
- ./@wsag:Name: Obligatory. Constructed from the XML-normalised name of the non-functional property and the suffix _GUARANTEE.
- ./@wsag:Obligated: Obligatory. In the usual case, this is set to ServiceProvider.
- ./wsag:GuaranteeTerm/wsag:ServiceLevelObjective/wsag:KPITarget/wsag:KPIName: The XML-normalised name of the non-functional property.
- ./wsag:GuaranteeTerm/wsag:ServiceLevelObjective/wsag:KPITarget/wsag:CustomServiceLevel: The "value-type" objectives as defined below.
The objectives are of three different types in the template, optionally specified with a metric and combined with an operator.
All types are mapped to the regular fixed single-value wsag:CustomServiceLevel statement for the actual agreement during the negotiation process.
- vt:Fix: A fixed numeric value.
- vt:Options: A list of numeric values, from which one must be chosen during negotiation.
- vt:Range: An interval of numeric values, from which one concrete value must be chosen during negotiation. The interval is specified using minimum and maximum numbers
as well as a step size through the attributes "MinValue", "MaxValue" and "Interval".
Comparison Operators and Units
A comparison operator should be given for all numeric SLOs in the form of wsag:CustomServiceLevel/vt:Operator.
If no operator is specified, equality is assumed.
The following comparison operator values are available:
- gt - greature than (>)
- gte - greature than or equal (>=)
- eq - equal (=)
- lte - less than or equal (<=)
- lt - less than (<)
For unit specifications, the regular mechanism of using /wsag:Agreement/wsag:Terms/wsag:All/wsag:ServiceProperties/wsag:VariableSet applies.
Within this section, all expressions of ./wsag:Variable/wsag:@Name refer to SLO names whereas ./wsag:Variable/@wsag:Metric identifies
a measurement or aggregation unit.
XML Schema
The following schema formalises the "value-type" objectives.
The schema is also available for download.
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:vt="http://www.example.org/value-types"
targetNamespace="http://www.example.org/value-types" attributeFormDefault="qualified" elementFormDefault="qualified">
<xs:import namespace="http://www.w3.org/2001/XMLSchema" schemaLocation="http://www.w3.org/2001/XMLSchema.xsd"/>
<xs:complexType name="ValueType">
<xs:attribute name="ActValue" type="xs:anySimpleType" use="required"/>
<xs:attribute name="Metric" type="xs:string" use="optional"/>
</xs:complexType>
<xs:element name="Range" type="vt:RangeType"/>
<xs:complexType name="RangeType">
<xs:complexContent>
<xs:extension base="vt:ValueType">
<xs:sequence>
<xs:element name="MinValue" type="xs:decimal" minOccurs="1" maxOccurs="1"/>
<xs:element name="MaxValue" type="xs:decimal" maxOccurs="1" minOccurs="1"/>
<xs:element name="Interval" type="xs:decimal" maxOccurs="1" minOccurs="1"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="Options" type="vt:OptionType"/>
<xs:complexType name="OptionType">
<xs:complexContent>
<xs:extension base="vt:ValueType">
<xs:sequence>
<xs:element name="Option" type="xs:string" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="Fix" type="vt:ValueType"/>
</xs:schema>
Implementations
This is a continuously extended list of software artefacts implementing the WSAG+VT specification.
Compatibility Concerns
The WS-Agreement extensions developed within the TEXO research project (WSAG+TEXO) add technical and non-technical information from
the Service Level module of the Unified Service Description Language (USDL) to SLA templates and thus to SLAs.
From a technical perspective, it represents a subset of WSAG+VT. Operator and unit specifications are identical.
However, value specifications are limited to value for single values and pairs of fromValue and toValue
for ranges. Enumerations cannot be expressed in WSAG+TEXO.
WSAG+TEXO uses wsag:Target within wsag:KPITarget for its SLO specifications, whereas WSAG+VT uses wsag:CustomServiceLevel.
It is currently not possible to negotiate a range of values into a narrower range and attach an in-range/out-of-range
comparison operator to it.
Furthermore, priorities and preferences cannot currently be specified. Several scientific works would benefit from these
extensions.
References
- [0] WS-Agreement Specification: http://www.ogf.org/documents/GFD.107.pdf
- [1] J. Spillner: Methodik und Referenzarchitektur zur inkrementellen Verbesserung der Metaqualität einer vertragsgebundenen, heterogenen und verteilten Dienstausführung. Dissertation, 2010.