Definición de Reglas CEP (Ejemplos)

Para comprender el uso y definición de Reglas CEP vamos a crear un caso de ejemplo.

El ejemplo trata de definir una Regla CEP que cuando cierta medida supere un umbral se ejectute la regla. Para ello nos vamos a basar en la ontología existente en Sofia2, pt_espira.

Para esta ontología nos vamos a crear un Evento CEP para indicar los valores con los que vamos a trabajar en nuestra regla CEP:

EventoCEPA continuación definiremos la regla CEP como sigue:

ReglaCEPPara probarlo nos podemos implementar un Test Consumidor que esté suscrito a esta regla CEP:

TestConsumidorEspira

Es importante que el nombre de la salida de la regla coincida con lo que se definió en el Insert Into de la Regla CEP.

En el caso de que necesitemos insertar datos en la ontología podemos simular un proceso que los inserte de forma aleatoria:

TestProductorEspira

Si ejecutamos el test Consumidor obtendremos el siguiente resultado:

Mensaje REspuesta:com.indra.sofia2.ssap.ssap.body.SSAPBodyReturnMessage@1496fc2
>Suscripcion–>
{“body”:”{\”Subscription\”:\”SALIDAESPIRA-16751328-C870-4026-9E4D-604FEF2790D8\”,\”inEvents\”:{\”ID\”:\”guid_sec_3164\”,\”MEASURE\”:70.0,\”VELOCIDAD\”:\”70\”}}”,”direction”:”RESPONSE”,”messageId”:”d8702ac8-ceea-468c-9e8b-179d3f3aee75″,”messageType”:”INDICATION”,”ontology”:null,”sessionKey”:”4a009b3d-1a78-4dd9-aec0-0f0d2c6e121b”}
>Fin Suscripcion…

>Suscripcion–>
{“body”:”{\”Subscription\”:\”SALIDAESPIRA-16751328-C870-4026-9E4D-604FEF2790D8\”,\”inEvents\”:{\”ID\”:\”guid_sec_3164\”,\”MEASURE\”:30.0,\”VELOCIDAD\”:\”30\”}}”,”direction”:”RESPONSE”,”messageId”:”d8702ac8-ceea-468c-9e8b-179d3f3aee75″,”messageType”:”INDICATION”,”ontology”:null,”sessionKey”:”4a009b3d-1a78-4dd9-aec0-0f0d2c6e121b”}
>Fin Suscripcion…

>Suscripcion–>
{“body”:”{\”Subscription\”:\”SALIDAESPIRA-16751328-C870-4026-9E4D-604FEF2790D8\”,\”inEvents\”:{\”ID\”:\”guid_sec_3164\”,\”MEASURE\”:58.0,\”VELOCIDAD\”:\”58\”}}”,”direction”:”RESPONSE”,”messageId”:”d8702ac8-ceea-468c-9e8b-179d3f3aee75″,”messageType”:”INDICATION”,”ontology”:null,”sessionKey”:”4a009b3d-1a78-4dd9-aec0-0f0d2c6e121b”}
>Fin Suscripcion…

Como podemos observar, tenemos tres casos en los cuales se ha cumplido la regla CEP.

Continuando con el ejemplo podemos hacer que al cumplirse nuestra Regla CEP salte una regla Script que inserte en una ontología que nos creemos (en nuestro caso AlarmaEspira) los valores recibidos del evento y además envíe un correo electrónico.

Nuestra ontología AlarmaEspira tendrá el siguiente Schema XML:

AlarmaEspira

Nuestro Script de tipo Regla CEP asociado a la regla que hemos creado anteriormente, será el siguiente:

ScriptEspira-If

ScriptEspira-Then

Si volvemos a lanzar el test y todo va bien se habrá insertado los datos en la ontología AlarmaEspira. Si vamos a Herramientas -> Consulta a Base de Datos y lanzamos la query podemos observar que efectivamente los datos se han almacenado:

QueryAlarmaEspira

Definición de Reglas CEP (Ejemplos)

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s