¿Qué significa que el software sea reactivo?

En el 2014 Gartner escribió que era obvio que la antigua arquitectura de 3 capas es obsoleta.

Años atrás hablábamos de la arquitectura de 3 capas, un proyecto en un servidor y un trafico “moderado”, hoy hablamos de programas que sirven muchos clientes, entre ellos web, móvil, otros programas (API), IoT entre otros.

Según Ericsson Mobility Report, se espera que Internet de las cosas (IoT) sobrepase los teléfonos móviles y sea la categoría más grande de dispositivos conectados en 2018.

En Setiembre del 2014 apareció el manifiesto reactivo con el fin de aclarar la confusión de aquel entonces sobre el término “reactivo” y a la vez construir una base sólida para un estilo de desarrollo que cumpla con las características que el software moderno (alineado a la demanda de hoy) debe tener.

¿Entonces, que significa que el software sea reactivo?

En lineas generales y de acuerdo al manifiesto podemos decir:

  • Que el sistema responda de manera oportuna (a diferencia de sistemas que toman varios segundos y en algunos casos hasta minutos en responder al usuario)
  • Que el sistema permanezca responsivo cuando enfrenta fallas (en contraste a que el sistema deje de funcionar por completo y requiera intervención humana)
  • Que el sistema se mantenga responsivo bajo variaciones en la carga de trabajo (en contraste a detenerse por completo o que el servidor devuelva un código de error por sobre carga)
  • Capaz de enviar, recibir y enrutar mensajes en diferentes condiciones de la red (la comunicación entre componentes se realiza a través de mensajes lo que asegura el bajo acoplamiento)

Muchas de las soluciones reactivas han existido desde 1970, el hecho que no hayan sido tan populares en aquel entonces como lo están siendo ahora se debe a varios factores, entre ellos la necesidad de utilizar mejor los recursos y la escalabilidad.

Que los sistemas sean reactivos hoy es una necesidad, no podemos resolver los problemas de hoy con las técnicas y herramientas de ayer.

 

Más información en:
https://www.oreilly.com/learning/why-reactive

¿Qué significa que el software sea reactivo?

Agregue un comentario

Su dirección de correo no se hará público. Los campos requeridos están marcados *