reactivoVivimos en un entorno tremendamente cambiante donde los requerimientos de las aplicaciones varían constantemente.

Hace unos pocos años una aplicación grande tenía decenas de servidores, con tiempos de respuesta en segundos y gigabytes de datos. Hoy en día las aplicaciones están desplegados en todo tipo de dispositivos, desde móviles a clusters basados ​​en la nube que corren con miles de procesadores multinúcleo. En el lado del cliente, la rápida proliferación de los teléfonos inteligentes y el auge de la llamada “Internet de las cosas” incrementan el número de usuarios concurrentes y se espera que los sistemas sean capaces de soportarlo y manejarlo adecuadamente.

Los usuarios en la actualidad esperan que los tiempos de respuesta sean de milisegundos o microsegundos y de un 100% de disponibilidad. La necesidad de almacenamiento de datos está creciendo considerablemente expandiéndose hacia los petabytes

En este contexto se espera que nuestras aplicaciones sean “reactivas”, es decir tener componentes activos y listos para recibir eventos.

Las características de una aplicación reactiva son :

  • Dirigida por Eventos : Permitir el procesamiento paralelo , asíncrono de mensajes y eventos con facilidad .
  • Escalable : Poder escalar dentro y a través de los nodos elásticamente para proporcionar potencia de computación bajo demanda cuando sea necesario .
  • Resistente : La capacidad para recuperarse y repararse a sí mismo de forma automática con el fin de asegurar la continuidad aplicación sin fallas.
  • Sensible : Respuestas en tiempo real que proporcionen información instantánea sobre la base de las interacciones del usuario y de otros estímulos.

Es evidente que debemos considerar usar nuevas tecnologías y nuevos paradigmas de programación para poder satisfacer estos niveles de sofisticación para poder tener aplicaciones reactivas.

En este escenario los lenguajes de programación funcional han empezado a tener auge, debido a que pueden ayudarnos a satisfacer dichos requerimientos. Entre los más conocidos lenguajes de programación funcionales tenemos a: Scheme, Erlang, Haskell, Scala, Closure, F#, Lisp, entre otros.

Por lo pronto ya empecé a ver un par de ellos, espero traerles mis experiencias en los próximos posts.

Más información

Benjamín

Soy Benjamín Gonzales B, desarrollador de Software con más de 10 años de experiencia, me apasiona todo lo relacionado a las nuevas tecnologías y el software libre. Me gusta investigar , leer y aprender cada día algo nuevo. Desarrollo en LINUX,PHP, JAVA, C#, Javascript, MySql, SqlServer, entre otros y actualmente ando experimentando con lenguajes funcionales como: Erlang, Clojure y Scala. Y otros no funcionales como GO.

Latest posts by Benjamín (see all)

Aplicaciones Reactivas
Compartir
Tweet about this on TwitterShare on Facebook1Share on Google+1Share on LinkedIn0Email this to someonePin on Pinterest0Share on Tumblr0Share on Reddit0Share on StumbleUpon0
Etiquetado en:                                                

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *