Event Level Agreement

Version 1 by Nicolas Salatge
on Mar 20, 2012 13:16.

compared with
Key
This line was removed.
This word was removed. This word was added.
This line was added.

Changes (1)

View Page History

h2. Description

Event Level Agreement (ELA) extends and reuse Service Level Agreements (SLA) to express policies at the Event producers and consumers levels.

Here are some samples of ELA which can/should be expressed in the PLAY platform. It would be nice to try to classify these policies according to the fact that they are alterable or not (i.e. alterable if the policy value can be updated at any time, unalterable otherwise):

|| # || Property || Per Subscription || Comment ||
| 1 | Frequency | Yes | It may be possible for an event consumer to define the maximum or minimum number of notifications it can receive in a window period. For example : 'at most 10 messages / second' or 'at least 10 messages / second'
| 2 | Maximum number of different event sources | No | What is the limit of the platform in terms of listening to different event sources? |
| 3 | Trust | Yes | The level of trust of an event source |


h2. WS-Agreement

The goal of this section is to show that the [WS-Agreement|wsstar:WS-Agreement] standard can be used without any extension to define ELA between event consumers and providers.
{code:title=ELA on frequency.xml|borderStyle=solid}
<?xml version="1.0" encoding="UTF-8"?>
<agreement xmlns:ns1="http://schemas.ggf.org/graap/2007/03/ws-agreement"
xmlns:ns2="http://docs.oasis-open.org/wsrf/bf-2" xmlns:ns3="http://www.w3.org/2005/08/addressing"
xmlns:ns4="http://upmc.fr/ns/ws-qml" xmlns:ns5="http://www.semeuse.org/monitoring"
xmlns:ns6="http://com.ebmwebsourcing.sla/agreementExtensions"
ns1:AgreementId="1">
<ns1:Name>FiremanELA</ns1:Name>
<ns1:Context>
<ns1:AgreementInitiator xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:type="ns3:EndpointReferenceType">
<ns3:Address>http://www.example.org/prefect/@PrefetEndpoint</ns3:Address>
</ns1:AgreementInitiator>
<ns1:AgreementResponder xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:type="ns3:EndpointReferenceType">
<ns3:Address>http://www.example.org/fireman/@FiremanEndpoint</ns3:Address>
</ns1:AgreementResponder>
<ns1:ExpirationTime>2009-10-09T15:10:10.250+02:00
</ns1:ExpirationTime>
<tns:alertDefinition name="alert0" id="alert0"
xmlns:tns="http://com.petalslink.common.alerting.definition/1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<tns:to name="to0.name" id="to0">
<tns:lastname>salatge</tns:lastname>
<tns:firstname>nicolas</tns:firstname>
<tns:partner>CLIENT</tns:partner>
<tns:protocol id="protocol0" name="soap-notification"
type="http://com.petalslink.common.alerting.definition.protocol/soap-notification/1.0">
<soap-notif:binding id="binding0"
xmlns:soap-notif="http://com.petalslink.common.alerting.definition.protocol/soap-notification/1.0"
xmlns:tns1="http://com.petalslink.common.alerting.definition/1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://com.petalslink.common.alerting.definition.protocol/soap-notification/1.0 ../../../../wscad-impl/src/main/resources/schema/wscad/extensions/protocols/soap-notification.xsd ">
<soap-notif:soap-address>http://localhost:9600/AlertService</soap-notif:soap-address>
</soap-notif:binding>
</tns:protocol>
<tns:format>CAP</tns:format>
</tns:to>
</tns:alertDefinition>
</ns1:Context>
<ns1:Terms>
<ns1:All>
<ns1:ServiceDescriptionTerm ns1:Name="term_1"
ns1:ServiceName="responderService" xmlns:ns3="http://www.w3.org/2005/08/addressing">
</ns1:ServiceDescriptionTerm>
<ns1:ServiceReference ns1:Name="term_1"
ns1:ServiceName="responderService" />
<ns1:ServiceProperties ns1:Name="term_1"
ns1:ServiceName="responderService">
<ns1:VariableSet>
<ns1:Variable ns1:Metric="http://wwww.w3.org/2007/ont/unit#s"
ns1:Name="frequency">
<ns1:Location xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:type="ns6:Location">
<ns4:QoS-dimension ontology=""
semantic-concept="http://www.nca.or.kr/2006/wsqdl/QualityFactor/MeasureFactor/frequency" />
</ns1:Location>
</ns1:Variable>
</ns1:VariableSet>
</ns1:ServiceProperties>
<ns1:GuaranteeTerm ns1:Name="FiremanGuarantee">
<ns1:ServiceScope ns1:ServiceName="Fireman">
topic:CardiacRyhtm
</ns1:ServiceScope>
<ns1:ServiceLevelObjective>
<ns1:KPITarget>
<ns1:KPIName>frequency</ns1:KPIName>
<ns1:CustomServiceLevel
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="frequency"
operator="&amp;lt;" xsi:type="ns4:ConstraintType">
<ns4:value floatValue="10">
<ns4:unit name="notification/minute" />
<ns4:type name="decimal"
semantic-concept="http://www.w3c.org/2001/XMLSchema:decimal" />
</ns4:value>
</ns1:CustomServiceLevel>
</ns1:KPITarget>
</ns1:ServiceLevelObjective>
</ns1:GuaranteeTerm>
</ns1:All>
</ns1:Terms>
</agreement>
{code}