The WS-Agreement protocol specifies the required services and operations to create and monitor service level agreements. The WS-Agreement model therefore defines two types of services, the agreement factory service and the agreement service. The agreement factory service is responsible for creating agreements between a service consumer and provider and for instantiating the associated service with the agreed QoS. The agreement service is responsible for monitoring the compliance of agreements and of the associated services. WS-Agreement specification specifies a set of interfaces in order to interact with the agreement factory service and the agreement service.
The WS-Agreement protocol is based on a single round “offer, accept” message exchange. The basic synchronous wsag:CreateAgreement operation defined in WS-Agreement directly captures this exchange, but additional asynchronous patterns are supported as well. The semantics of this abstract exchange is that the initiator sends an obligating offer, with explicit terms of agreement, which the responder may accept or reject by unilateral decision. The agreement relationship is in place as soon as the responder decides to accept, and the subsequent return messages inform the initiator of this decision