2009-05-26 7 views
12

Deseo obtener más información sobre cómo crear aplicaciones basadas en CEP. Así que miré a mi alrededor y encontré varios productos (visión general aquí: http://rulecore.com/CEPblog/?page_id=47).¿Qué producto de CEP para comenzar?

Pero como hay bastantes en este momento, no sé cuál es el mejor para empezar. Y, en general, solo consideraría el disponible de forma gratuita. El resto es un poco caro para uso privado;)

Esper es gratis, pero sin el estudio Esper parece bastante tedioso desarrollar una aplicación cep. Streambase ofrece una versión de prueba gratuita, pero no pude averiguar cuánto tiempo puede usar esto (aunque solo sea por un mes, no es útil para una investigación más larga). La suite Oracle CEP parece bastante completa, pero en la escena de cep, hasta donde puedo ver, es la menos reconocida en comparación con Esper o Streambase.

¿Tiene alguna pista sobre cuál es la mejor manera de comenzar con el desarrollo de cep? ¿Vale la pena dedicar tiempo a trabajar en la documentación del oráculo o es mejor comenzar con Esper o Streambase?

Saludos,

Andreas

+0

Tengo curiosidad - que quería jugar con Esper, pero no pude pensar en nada más que trivial. ¿Qué tipo de cosas estás planeando construir? –

+1

Tengo la intención de agrupar tweets en algún tipo de evento básico (por ejemplo, tweets con ciertas etiquetas, nombres de usuario, ubicaciones, etc.), alimentar estos eventos en un cep e intentar definir patrones razonables en esas transmisiones. Esper parece bastante bueno, pero es bastante tedioso cuando tiene que escribir muchas cosas de apoyo (registro, registro de declaraciones, mapeo de eventos, etc.) usted mismo. Una edición comunitaria del estudio Esper sería genial para facilitar esto. –

+0

Bueno, me gustaría poder ofrecer algo más que "buena suerte", pero realmente no puedo. Aparte de una cosa, que publiqué como respuesta. –

Respuesta

10

¡Las herramientas actuales de CEP no resuelven problemas idénticos! Entonces, dependiendo de lo que le guste hacer, le gustaría usar diferentes herramientas. En resumen, mis opciones personales serían:

Para construir algoritmos basados ​​en datos, codificación en un tipo de SQL con extensiones - El motor Coral8 de Aleri. Libre para pruebas y desarrollo (estaba de todos modos antes de comprar por Aleri)

Para la detección de patrones de eventos (situaciones), sin codificación (estilo declarativo), pero la configuración utilizando XML - RuleCore, prueba libre suscripción al servicio (web)

Para una mezcla de ambos con bajo nivel de control y codificación en Java - Esper, GPL.

Para crear lógica de cálculo basada en datos utilizando el estilo gráfico de cajas y flechas de la GUI: StreamBase.

2

creo que la mejor opción es comparar las soluciones que están libremente disponibles y luego hacer algo con ellos.

No estoy seguro de cuáles son sus objetivos finales, si es para aprender una tecnología que usa en el trabajo o simplemente para jugar con algo genial, pero para mí en un proyecto como este, el factor decisivo sería cuál herramienta que puedo usar para hacer algo que pueda compartir con el mundo.

En este caso, mis opciones probablemente serían Esper o OpenESB. De esa manera, podría poner el proyecto en un currículum (especialmente si estaba solicitando un trabajo que utilizara herramientas CEP) y compartirlo con el mundo.

1

¿habría algún interés en una suscripción gratuita al servicio ruleCore (Cloud, SaaS o como se llaman hoy en día)? Se ejecutaría en hardware más pequeño y menos confiable (sin clúster) y probablemente solo se pueda usar para probar pequeñas cosas de bajo rendimiento. Si [email protected] recibe un par de solicitudes de este tipo, estoy seguro de que está en la lista de tareas ...

12

CEP de Microsoft que ofrece StreamInsight que se parece mucho al modelo de programación reactiva del Rx Framework y LINQ.

A Hitchhiker's Guide to StreamInsight Queries es un buen lugar para comenzar.

Some Code Examples

yo recomendaría usar LINQPad que se puede conectar a Stream Insight como un lienzo para sus consultas.

+0

¿Hay algún consejo oficial sobre la conexión establecida entre StreamInsight y el RX-Framework? – pointernil

+1

@pointernil, hay [ahora] (http://blogs.msdn.com/b/streaminsight/archive/2012/03/30/a-high-level-streaminsight-2-1-preview.aspx) – Benjol

+0

@ Benjol gracias por la actualización. En realidad, estaba cuestionando la parte "aprovecha ... el marco de Rx"; ¿Es realmente cierto que StreamInsight está utilizando las bibliotecas RX para su núcleo interno? ¿Reutilizando algunos conceptos? Por supuesto. ¿Proporciona una superficie API compatible con Rx? Seguro Por qué no. ¿Usando RX en el kernal interno? Hmmm no estoy tan seguro;) – pointernil

1

Para detectar patrones de eventos, encontré que rulecore es bastante fácil de usar. Solo intenté detectar patrones de baja y mediana complejidad y eso funcionó bien. Lleva un tiempo acostumbrarse a los conceptos, pero en realidad es un sistema muy pequeño, por lo que no fue tan malo. Y debe gustarle XML, ya que todo se hace usando XML.

Si está intentando crear una aplicación comercial, entonces StreamBase sería mejor. Pero para controlar cosas, rulecore se siente mejor.

0

Me gustaría empezar con la prueba gratuita de Aleri Coral8 (actualmente Sybase)

+0

Ahora es Sybase CEP R4 – BozoJoe

1

Si tiene corrientes continuas (se alimenta de mercado, los sensores de la IO, Twitter, noticias, etc.), la tecnología de entonces flujo de procesamiento es la elección correcta para tú. El procesamiento de flujo/análisis de transmisión es solo una parte de las diferentes soluciones de CEP (secuencias, reglas, patrones, etc.).

Mientras tanto, hay varias opciones de código abierto para el procesamiento de flujo. Apache Storm, Apache Spark o Apache Samza, pero también potentes productos patentados como IBM InfoSphere Streams, TIBCO StreamBase o Software AG's Apama.

Echa un vistazo a mi blog artículo, respectivamente, para más detalles sobre las diferentes soluciones de procesamiento de flujo y streaming de análisis (de código abierto y propietario):

Comparison of Stream Processing and Streaming Analytics Alternatives (Apache Storm, Spark, IBM InfoSphere Streams, TIBCO StreamBase, Software AG Apama)

Cuestiones relacionadas