Guarantee terms are defined in a WS-Agreement template and specify guarantees that are associated with a service provisioning process. A guarantee may specify a Qualifying Condition (optional) and a Service Level Objective (SLO) (required). The Qualifying Condition defines a precondition that must be met before a guarantee is evaluated. The SLO basically defines a condition that must be fulfilled in order to fulfill a guarantee. Both, Qualifying Conditions and Service Level Objectives are defined as boolean expressions over a set of service properties. Service Properties are measurable properties associated with a service. These properties can be regarded as variable definitions that are associated with a particular agreement. They are defined in an agreement template and specify a name and a location. The service property name is the unique name of the variable that is used to define the Qualifying Conditions and Service Level Objectives of the agreement guarantees. The location element defines how the value of the service property (the variable value) is resolved in the agreement properties document at runtime. WSAG4J uses the XQuery language in the location element. The following picture shows how static service properties (properties that are specified in the agreement offer) and dynamic service properties (properties that refer to service term states) are resolved from an agreement properties document.
Agreed Service Properties refer to values that are defined in the agreement offer. These are the target values of the service provisioning process, for example the requested minimal availability of a service or the requested minimal response time. Actual Service Properties refer to values in the dynamic agreement resource properties that are generated by the agreement monitoring components, for example to the service term states. Actual Service Properties therefore represent the current state of the provided service, e.g. the availability of the service during the last 7 days or the average service response time during the last 7 days.
The Agreement monitoring process essentially consist of 3 steps:
Monitoring of the associated services is the initial step in the agreement monitoring cycle. The WSAG4J framework supports service monitoring by custom monitoring handlers that can be registered with a particular agreement instance. For more information on service monitoring refer to the agreement monitoring documentation.
After the agreement Service Term States were updated by the WSAG4J monitoring components, the agreement Service Properties are resolved to their actual values. The variables defined in the service properties are then used to evaluate expressions in the guarantee term definitions. The WSAG4J framework uses the Java Expression Language (JEXL) to define service level objectives and qualifying conditions for guarantees.
For a full guide on how guarantee evaluation works, go to the Guarantee Evaluation Example.