Overview

This section gives you an overview of the WSAG4J programming model, which allows you to extend the WSAG4J framework with new SLAs, service instantiation and service monitoring strategies. Extending the WSAG4J framework with a new SLA basically requires three steps:

  1. definition of a SLA template
  2. implementation of a service instantiation and termination strategy
  3. implementation of a service monitoring strategy

    These steps basically translate to the WSAG4J programming model, which consists of three parts:

    wsag4j programming model

Programming Model

The agreement template is a core component in the WSAG4J programming model. It describes the service to provide, the service properties and defines how these properties are resolved from the agreement offer respectively from the agreement monitoring data. Moreover, the template defines guarantees and compensations using the service properties and finally it defines validation rules for agreement offers in form of creation constraints. As you already see, a template is more than a pure description of a service, is also defines SLA management processes such as agreement offer validation and service level monitoring.

Essentially, an agreement template contains data (service description) and functionality (i.e. creation constraints or guarantees). In WSAG4J each agreement that is instantiated must be based on a known template. Before the agreement is instantiated, the agreement offer (agreement creation request) is validated against the rules defined in the template creation constraints. Agreements are only created for valid offer, invalid offers are automatically rejected. Since creation constraints are automatically enforced when an agreement is created, the definition of creation constraints results in the execution of a validation process at agreement creation time.

Agreement template is interpreted by the WSAG4J engine at runtime. Each template in WSAG4J is complemented by plugins for SLA negotiation and instantiation. For more information on SLA template design and implementation refer to the following sections: