Bringing Reactive to Enterprise Application Developer // Reactive Summit 2018

Bringing Reactive to Enterprise Application Developer // Reactive Summit 2018

50a17cd98aab2cc4d8e144741e11b1b7?s=128

Julien Ponge

October 24, 2018
Tweet

Transcript

  1. Bringing Reactive to Enterprise Java Developers Julien Ponge, Thomas Segismont

    and Clement Escoffier Red Hat
  2. Reactive Summit 2018 2 Hello! We work on Eclipse Vert.x,

    a toolkit for writing asynchronous and reactive applications on the JVM
  3. Reactive Summit 2018 3 (s a l p u )

    50% off with mlponge code
  4. Reactive Summit 2018 4

  5. Reactive Summit 2018 5 Vert.x MicroProfile Jakarta EE Introducing reactive

    to the EE world ...without breaking everything!
  6. Times change quickly

  7. Reactive Summit 2018 7 ‘14 Java EE 8 ‘17 From

    Java EE to Jakarta EE ‘13 Java EE 7 ‘07 JAX-RS ‘09 CDI (Java EE 6) Microservices Docker Kubernetes Reactive manifesto ‘12 Vert.x Node.js MVC 1.0 ‘11 Kafka Serverless
  8. Reactive Summit 2018 8 Typical use-case CRUD Database with ORM

    Development model CDI (injection) JAX-RS (REST API) JPA, Bean Validation, JTA, Management... Execution model Servlets 1 thread per request Java EE: a feet in the past
  9. Reactive Summit 2018 9 Not cloud-friendly, not reactive Based on

    the concept of application server ➔ 1 server = many applications Does not fit the “cloud model” ➔ Small, lightweight applications ➔ Each service in its own process
  10. Reactive Summit 2018 10 Not cloud-friendly, not reactive Most of

    the model is synchronous except • Asynchronous servlets • CDI events Also: ➔ No stream support ➔ No back-pressure
  11. Reactive Summit 2018 11 A new hope? MicroProfile - the

    rogue child ➔ A new set of specs ➔ Microservice-friendly ➔ Very iterative ➔ Reactive working group! Jakarta EE ➔ New spec model ➔ Faster processes ➔ Growing interest for reactive
  12. Reactive and MicroProfile

  13. Reactive Summit 2018 13 Traction from: Lightbend, Red Hat, Oracle,

    IBM Reactive Microprofile specifications Reactive Streams Operators Reactive Messaging Concurrency
  14. Reactive Summit 2018 14 JAX-RS and reactive Stream data as

    SSE
  15. Reactive Summit 2018 15 Reactive Messaging (and data streaming)

  16. Reactive Summit 2018 16 Reactive Messaging (and data streaming) Manuel,

    pre and post processing
  17. Reactive Summit 2018 17 Reactive Stream Operators Compose and transform

  18. Demos* * no rabbits were harmed in the making of

    this.
  19. Reactive Summit 2018 19 Step #1 RestEasy, server-sent events and

    reactive streams Server {sleeping, awake, eating}
  20. Reactive Summit 2018 20 Step #2 Introducing MicroProfile Reactive Messaging

    HealthDataBean (temperature, heartbeat, pressure) Neo (sleeping, awake, eating) Processor state Health data Heartbeat
  21. Reactive Summit 2018 21 Step #3 Introducing MicroProfile Reactive Streams

    Operators HealthDataBean (temperature, heartbeat, pressure) Processor Health data Heartbeat HTTP Client (Vert.x) Snapshot service (latest data) Health data Health data 1 2
  22. Reactive Summit 2018 22 Step #4 Health data comes from

    MQTT Processor Health data Heartbeat HTTP Client (Vert.x) Snapshot service (latest data) Health data Health data 1 2 MQTT
  23. Reactive Summit 2018 23 Step #5 Event-driven and asynchronous microservices

    MQTT Kafka Collector service Snapshot service Web application Health data Events split by topic SSE HTTP Events
  24. Before we wrap up...

  25. Reactive Summit 2018 25

  26. Reactive Summit 2018 26 JAX-RS Vert.x CDI (Weld) RestEasy Reactive

    Messaging Vert.x-powered MQTT Apache Kafka Apache Camel AMQP 1.0 Reactive Stream Ops Vert.x + RxJava2 SmallRye
  27. Reactive Summit 2018 27 Roadmap • MicroProfile Reactive Stream Operators

    ◦ Approaching 1.0 ◦ Starting to infuse in the other MicroProfile specifications ◦ Integration in the next MicroProfile release (February 2019) • MicroProfile Reactive Messaging ◦ Data streaming and Event-driven microservice ◦ Integration in the next MicroProfile release (February 2019) • MicroProfile Concurrency ◦ Async context propagation
  28. Reactive Summit 2018 28 (s a l p u #2)

    50% off with mlponge code
  29. Q&A @jponge @tsegismont @clementplop

  30. THANK YOU plus.google.com/+RedHat linkedin.com/company/red-hat youtube.com/user/RedHatVideos facebook.com/redhatinc twitter.com/RedHat