Hoy os queremos presentar Thunder, un nuevo producto desarrollado por Solid Stack. Thunder es básicamente un procesador y planificador de tareas para sistemas operativos Windows.

Thunder

 

Como se puede ver en la imagen superior, este producto software está compuesto por las siguientes partes:

  • API, el punto de entrada/salida para la integración de software ya existente. Permite, por ejemplo, añadir nuevas tareas a procesar o consultar el resultado de tareas ya finalizadas.
  • Scheduler, componente encargado de añadir de forma automática las tareas que necesitemos que se ejecuten periódicamente.
  • Manager, el corazón del producto, en él recae la responsabilidad de la ejecución de las tareas.
  • Base de datos donde persistir todos los datos involucrados tanto de las tareas como de la configuración del propio sistema.

Aunque la idea original fue que tuviese entidad propia y conformase un núcleo compacto y desacoplado del resto de la solución, siempre formó parte de otro producto software más grande que desarrollamos hace ya algunos años. Finalmente, con el desarrollo posterior de diferentes soluciones de software en la que necesitábamos de ‘algo’ que generase un resultado a partir de unos datos iniciales, decidimos retomar el código escrito, mejorarlo y crear lo que siempre tuvimos en mente: Thunder, un producto de software compacto y desacoplado cuya única función es ejecutar y planificar las tareas que se le encomienden.

¿Qué tipo de tareas puede ejecutar? Literalmente cualquiera que necesitemos o se nos pase por la cabeza: exportación de datos, manipulación de ficheros, comunicación con software de terceros…

¿Cómo se crean nuevas tareas? Mediante la implementación de una serie interfaces bien definidas.

Entre las tecnologías utilizadas se encuentran .NET Framework 4.6.1, SQL Server y ASP.Net y, entre sus muchos puntos fuertes, destacaría los siguientes:

  • Completamente optimizado, estable y muy probado a lo largo de los años.
  • Escalable tanto vertical (una máquina más grande) como horizontalmente (desplegado en muchas máquinas).
  • Compatible para su despliegue en servidores locales y en Microsoft Azure.
  • Detallado sistema de log y control inteligente de errores.
  • Totalmente configurable y personalizable (tiempos de ejecución, borrado, definición de diferentes pools de tareas etc)
  • Fácilmente integrable en cualquier sistema ya en explotación mediante el desarrollo de tareas y el uso de su API.
  • Uso de sistema CRON para programación automáticas de tareas.
  • Con la potencia que nos ofrece C# y todo su ecosistema de librerías propias y de terceros.

 

Ofrecemos este producto con la seguridad que nos da haber procesado cientos de millones de tareas hasta el momento.