viernes, 7 de febrero de 2014

WSO2 BAM/CEP: Escenario 1 de aplicación para eventos complejos.


El BAM de WSO2 en su versión 2.4.0 ya viene con las funcionalidades del CEP de WSO2 incluidas.
Esto permite no solo capturar eventos para mostrarlos posteriormente usando el dashboard del BAM,si no que los eventos se capturan en tiempo real usando las funcionalidades del CEP y se pueden procesar para la toma de decisiones también en tiempo real.

Como ejemplo les muestro una gráfica generada por el BAM del flujo de eventos recibidos.


Y debajo pueden ver como es el comportamiento de la cantidad de request/response/fault de los eventos recibidos.


  El escenario implementado para esta entrada es realmente sencillo a manera de "Hola Mundo" y estos son los pasos de manera general: 
  • Configurar el AS de WSO2 para que publique los eventos del consumo de los servicios para el BAM. 
  • Invocar a un servicio desplegado en el AS para que el BAM reciba un evento, de esta manera se crea automáticamente un Stream tal y como se muestra en la siguiente figura.


  En este caso se crea automáticamente el Stream de nombre “bam_service_data_publisher” versión 1.0.0 
  • Crear un plan de ejecución que extraiga de cada evento que arribe el tiempo de respuesta del servicio y si es menor que determinada cantidad de milisegundos inserte el evento en un nuevo Stream, usando los atributos especificados.




Como pueden ver uso el Stream de entrada y si en un evento el response_time es mayor que 1s se selecciona el nombre del servicio, el nombre de la operación y el tiempo de respuesta y se insertan en un Stream nuevo.
Este Stream nuevo la herramienta nos permite crearlo muy fácilmente y es el que se llama “OutMediationStatsStream”
  
  • Creamos un adaptador de salida de tipo email.


Que tiene la siguiente configuración.

  • Ahora se crea un formateador de eventos, que usará el adaptador de salida previamente creado y nos permite formatear el evento de salida tal y como se muestra en las siguientes imágenes.



  • Ahora ya se puede probar la configuración creada, para ello solo es necesario invocar a un servicio desplegado en el AS y observar los resultados.
En nuestro caso usamos el SOAPUI para generar una prueba de carga.

Y estamos usando el servicio Echo, con la operación echoString.
Les muestro nuevamente las gráficas generadas:


Y un ejemplo de un correo enviado:
Se ha detectado el consumo de servicio echo, en la operacion echoString con un tiempo de respuesta de 2502 el cual se encuentra por encima del valor establecido

En otras entradas estaremos viendo planes de ejecución más complejos que usen diferentes tipos del filtros y ventanas para capturar escenarios complejos, así como diferentes formas de generar los eventos y de generar las salidas como respuesta a los eventos complejos.



0 comentarios:

Publicar un comentario