¿Qué es Siddhi CEP?

El concepto de CEP (Complex Event Processing) siempre me ha parecido muy interesante (y poco explotado en las aplicaciones actuales).

En el mundo Java el más conocido es Esper que ofrece funcionalidades especialmente interesantes.

Me disponía a escribir un Post sobre cómo usar Esper junto a Storm para crear una solución de procesamiento de eventos “Big Data” y en tiempo real cuando me he topado con Siddhi (así que habrá que esperar para este post ;)).

Siddhi CEP es un motor Complex Event Processing Engine (CEP) Java, ligero y open source (bajo licencia Apache Software License v2.0).

El proyecto arrancó en la Universad de Moratuwa, Sri Lanka y ahora forma parte del Core de v2 (en versiones anteriores funcionaba sobre Drools Expert o sobre Esper).

Siddhi ofrece un API Java que permite crear queries de esta forma:

Actualmente el proyecto de Sourceforge está cerrado y toda la documentación/descargas/… están ya en el site de WSO2, de hecho su creador ahora forma parte de WSO2 :):

Ya dentro del WSO2 Complex Event Processor se han incorporado interesantes funcionalidades al CEP, fundamentalmente el lenguaje de queries SiddhiQL, muy semejante al EPL de Esper (basado en SQL):

Respuestas

  1. La verdad es que cuando estuve «cacharreando» con el CEP de WSO2 me defraudó un poquillo. A priori me llamó la atención que fuese la única opción opensource que permitiese el despliegue en HA (usando hazelcast por debajo, esto es un punto a su favor :-)), pero me sorprendió negativamente que no hubiese una forma directa de detectar la ausencia de eventos. El interfaz de uso que ofrece tampoco ayudó mucho. :-). Esperemos que sigan evolucionándolo, por lo menos para incluir la detección de ausencia de eventos.

    1. Muy interesante lo que comentas de la HA!!! de hecho nosotros tenemos pendiente integrar Hazelcast con Esper para darle esa capacidad 🙂

  2. Ahora a por el post de Storm y Esper!!!!!

Deja un comentario