jueves, 5 de mayo de 2016

Ejemplo de un servicio para la ejecución de procesos con RabbitMQ y .NET

Introducción


Cada vez más en el mundo de software y más concretamente el mundo de software empresarial, se necesitan patrones que permiten conectar diferentes plataformas heterogéneas, ya no solo entre diferentes compañías, sino entre diferentes productos de la misma compañía. Un ejemplo sería la necesidad de comunicar los procesos de negocios de productos tan heterogéneos como son: un sistema e-commerce y los procesos de negocio del ERP. Por no decir, que la incorporación de los ERP en la nube provoca que estos mismos procesos sean atacados masivamente desde cualquier dispositivo, (anteriormente impensable), como aplicaciones móviles, almacenes inteligentes, etc.

Esto provoca que el software lo tengamos que imaginar como un conjunto de flujos de procesos que no se conocen (desacoplados), y que para comunicarse entre ellos, más que una pila de llamadas, utilicen mensajes que permitan pensar en entrega de datos no bloqueantes, utilizando mecanismos de publicación y subscripción a través de colas. Esto permite, no solo de disponer de procesos desacoplados, sino que permite una escalabilidad mayor, ya que una de las cualidades de estos mensajes es que son asíncronos y existe una separación total de los procesos que envían el mensaje y los procesos que lo reciben.

En esta misma línea el factor de escalabilidad es crítico, pensemos que con la llegada de internet, ya no se puede pensar en pequeño, recientemente el termino big data está impresionando, en un mundo globalizado, todo es grande. Cuando empezamos a diseñar una aplicación, hoy en día, tenemos casi que pensar en diseñar arquitecturas que en poco tiempo, nos permitan escalar de una forma exponencial. Pensemos en Facebook, su curva de crecimiento ha sido exponencial en muy poco tiempo. Si sus ingenieros no hubieran pensado de esta forma, seguramente Facebook siendo una gran idea, hubiera desaparecido. El cliente cada vez es más sabio respecto a las tecnologías, como consecuencia, más exigente. Como decía el dramaturgo Friedrich Durrrenmat, “el mundo no ha cambiado por la política, sino por la tecnología”.

El ejemplo  que voy a desarrollar puede servir como base para crear un servicio de procesos de alto rendimiento que funcionen como un procesador de lógica de negocio desatendido que se encuentre disponible 24 horas al día

Leer más

No hay comentarios:

Publicar un comentario