La programación reactiva
se está comiendo el
mundo del desarrollo, si
aún no sabes de qué
trata, este es el espacio
para enterarte.
@juusechec
Programación
Reactiva
-
Frameworks
Java
¿Qué he hecho?
- Jorge Useche @juusechec
- Ing. Elect. UDistrital
- Líder de Desarrollo Digital en BdB
- Miembro co-iniciador QGIS Colombia
- Miembro Honorario GLUD
- Ex-Director(X2) GLUD
- Programador en todas las capas (2011-Pres.)
https://pixelcoblog.com/la-digital-dbd-una-cuenta-de-ahorro-cien-por-ciento-digital-en-5minutos/
Apasionado por la ciencia,
cultura y tecnologías
(Hardware y Software)
libres.
Contexto
Aplicación grande Antes:
- 10’s de servidores
- Segundos respuesta
- Horas de mantenimiento offline
- GB de datos
Aplicación grande Ahora:
- Móviles
- Clusters de nube
- Procesadores multi-core
- Expectativa de respuesta milisegundos
- 100% online
- https://www.reactivemanifesto.org/es
Contexto
Aplicación grande Antes:
- 10’s de servidores
- Segundos respuesta
- Horas de mantenimiento offline
- GB de datos
Aplicación grande Ahora:
- Móviles
- Clusters de nube
- Procesadores multi-core
- Expectativa de respuesta milisegundos
- 100% online
El Manifiesto de Sistemas Reactivos
Queremos sistemas Responsivos, Resilientes, Elásticos y Orientados a Mensajes.
Les llamamos “Sistemas Reactivos”.
Flexibles
Bajo
Acoplamiento
Escalables
Tolerantes a
Fallos
El Manifiesto de Sistemas Reactivos
“Es tiempo de aplicar estos principios de diseño conscientemente
desde el inicio, en vez de re-descubrirlos cada vez”.
https://www.reactivemanifesto.org/es
Glosario de Términos
...
Reactive Programming
Es un paradigma de programación asíncrona que gira alrededor de los flujos de
datos y la propagación del cambio.
“Esos programas que propagan todos los cambios que afectan los datos y los
flujos de datos a todas las partes interesadas (usuarios finales, componentes y
subpartes, otros programas relacionados de alguna manera).”
https://learning.oreilly.com/library/view/reactive-progra
mming-in/9781788473026/c840012e-86d9-4a31-9b65
-d6e37f0f0fc2.xhtml
ReactiveX (RX, ReactiveExtensions)
API que facilita el manejo de flujos de datos y eventos.
API para programación asíncrona con observables streams (flujos observables).
RxJS
Es la implementación de ReactiveX para Javascript.
RxJava
Es la implementación de ReactiveX para Java.
Project Reactor
Reactive Core es un biblioteca reactiva de cuarta generación, basada en la
especificación de Reactive Streams, para construir aplicaciones non-blocking
applications en la JVM.
Spring Reactor es el framework de programación reactiva de Spring. Los
conceptos fundamentales que el Framework soporta son las clases Flux y Mono.
Spring WebFlux
- Usa Reactor
- Reemplazo de Spring Web MVC
- Puede co-existir con Spring Web MVC
- Controladores de Spring MVC con WebClient reactivo
- Stack Web Non-blocking para manejar concurrencia con un un número
pequeño de hilos y escalar con pocos recursos de hardware
- Diseñado para ser usado en netty (y otros…)
¿Integrarlo con otras aplicaciones?
Veamos algo
de código...
Programación reactiva explicada
https://www.slideshare.net/nicolaferraro/integ
rating-applications-the-reactive-way
....
Recomendaciones:
- Sigue instruyéndote, el mejor maestro es la experiencia, somos artesanos
del software
Todas estas ideas hay
que estudiarlas y
utilizarlas cuando
tenga sentido
We are hiring!
@juusechec

Programación reactiva con java

  • 1.
    La programación reactiva seestá comiendo el mundo del desarrollo, si aún no sabes de qué trata, este es el espacio para enterarte. @juusechec
  • 2.
  • 3.
    ¿Qué he hecho? -Jorge Useche @juusechec - Ing. Elect. UDistrital - Líder de Desarrollo Digital en BdB - Miembro co-iniciador QGIS Colombia - Miembro Honorario GLUD - Ex-Director(X2) GLUD - Programador en todas las capas (2011-Pres.) https://pixelcoblog.com/la-digital-dbd-una-cuenta-de-ahorro-cien-por-ciento-digital-en-5minutos/
  • 4.
    Apasionado por laciencia, cultura y tecnologías (Hardware y Software) libres.
  • 5.
    Contexto Aplicación grande Antes: -10’s de servidores - Segundos respuesta - Horas de mantenimiento offline - GB de datos Aplicación grande Ahora: - Móviles - Clusters de nube - Procesadores multi-core - Expectativa de respuesta milisegundos - 100% online - https://www.reactivemanifesto.org/es
  • 6.
    Contexto Aplicación grande Antes: -10’s de servidores - Segundos respuesta - Horas de mantenimiento offline - GB de datos Aplicación grande Ahora: - Móviles - Clusters de nube - Procesadores multi-core - Expectativa de respuesta milisegundos - 100% online
  • 7.
    El Manifiesto deSistemas Reactivos Queremos sistemas Responsivos, Resilientes, Elásticos y Orientados a Mensajes. Les llamamos “Sistemas Reactivos”. Flexibles Bajo Acoplamiento Escalables Tolerantes a Fallos
  • 8.
    El Manifiesto deSistemas Reactivos “Es tiempo de aplicar estos principios de diseño conscientemente desde el inicio, en vez de re-descubrirlos cada vez”. https://www.reactivemanifesto.org/es
  • 9.
  • 10.
    Reactive Programming Es unparadigma de programación asíncrona que gira alrededor de los flujos de datos y la propagación del cambio. “Esos programas que propagan todos los cambios que afectan los datos y los flujos de datos a todas las partes interesadas (usuarios finales, componentes y subpartes, otros programas relacionados de alguna manera).” https://learning.oreilly.com/library/view/reactive-progra mming-in/9781788473026/c840012e-86d9-4a31-9b65 -d6e37f0f0fc2.xhtml
  • 11.
    ReactiveX (RX, ReactiveExtensions) APIque facilita el manejo de flujos de datos y eventos. API para programación asíncrona con observables streams (flujos observables).
  • 12.
    RxJS Es la implementaciónde ReactiveX para Javascript.
  • 13.
    RxJava Es la implementaciónde ReactiveX para Java.
  • 14.
    Project Reactor Reactive Corees un biblioteca reactiva de cuarta generación, basada en la especificación de Reactive Streams, para construir aplicaciones non-blocking applications en la JVM. Spring Reactor es el framework de programación reactiva de Spring. Los conceptos fundamentales que el Framework soporta son las clases Flux y Mono.
  • 15.
    Spring WebFlux - UsaReactor - Reemplazo de Spring Web MVC - Puede co-existir con Spring Web MVC - Controladores de Spring MVC con WebClient reactivo - Stack Web Non-blocking para manejar concurrencia con un un número pequeño de hilos y escalar con pocos recursos de hardware - Diseñado para ser usado en netty (y otros…)
  • 16.
  • 18.
  • 19.
  • 20.
    .... Recomendaciones: - Sigue instruyéndote,el mejor maestro es la experiencia, somos artesanos del software
  • 21.
    Todas estas ideashay que estudiarlas y utilizarlas cuando tenga sentido
  • 22.