Bringing Reactive to Enterprise Java Developers Julien Ponge, - - PowerPoint PPT Presentation

bringing reactive to enterprise java developers
SMART_READER_LITE
LIVE PREVIEW

Bringing Reactive to Enterprise Java Developers Julien Ponge, - - PowerPoint PPT Presentation

Bringing Reactive to Enterprise Java Developers Julien Ponge, Thomas Segismont and Clement Escoffier Red Hat Hello! We work on Eclipse Vert.x , a toolkit for writing asynchronous and reactive applications on the JVM 2 Reactive Summit 2018


slide-1
SLIDE 1

Bringing Reactive to Enterprise Java Developers

Julien Ponge, Thomas Segismont and Clement Escoffier Red Hat

slide-2
SLIDE 2

Reactive Summit 2018 2

Hello!

We work on Eclipse Vert.x, a toolkit for writing asynchronous and reactive applications on the JVM

slide-3
SLIDE 3

Reactive Summit 2018 3

(sal pu)

50% off with mlponge code

slide-4
SLIDE 4

Reactive Summit 2018 4

slide-5
SLIDE 5

Reactive Summit 2018 5

Vert.x MicroProfile Jakarta EE

Introducing reactive to the EE world

...without breaking everything!

slide-6
SLIDE 6

Times change quickly

slide-7
SLIDE 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

slide-8
SLIDE 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

slide-9
SLIDE 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

slide-10
SLIDE 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

slide-11
SLIDE 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

slide-12
SLIDE 12

Reactive and MicroProfile

slide-13
SLIDE 13

Reactive Summit 2018 13

Traction from: Lightbend, Red Hat, Oracle, IBM

Reactive Microprofile specifications

Reactive Streams Operators Reactive Messaging Concurrency

slide-14
SLIDE 14

Reactive Summit 2018 14

JAX-RS and reactive

S t r e a m d a t a a s S S E

slide-15
SLIDE 15

Reactive Summit 2018 15

Reactive Messaging (and data streaming)

slide-16
SLIDE 16

Reactive Summit 2018 16

Reactive Messaging (and data streaming)

M a n u e l , p r e a n d p

  • s

t p r

  • c

e s s i n g

slide-17
SLIDE 17

Reactive Summit 2018 17

Reactive Stream Operators

C

  • m

p

  • s

e a n d t r a n s f

  • r

m

slide-18
SLIDE 18

Demos*

* no rabbits were harmed in the making of this.

slide-19
SLIDE 19

Reactive Summit 2018 19

Step #1

RestEasy, server-sent events and reactive streams Server {sleeping, awake, eating}

slide-20
SLIDE 20

Reactive Summit 2018 20

Step #2

Introducing MicroProfile Reactive Messaging HealthDataBean (temperature, heartbeat, pressure) Neo (sleeping, awake, eating) Processor state Health data Heartbeat

slide-21
SLIDE 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

slide-22
SLIDE 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

slide-23
SLIDE 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

slide-24
SLIDE 24

Before we wrap up...

slide-25
SLIDE 25

Reactive Summit 2018 25

slide-26
SLIDE 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

slide-27
SLIDE 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

slide-28
SLIDE 28

Reactive Summit 2018 28

(sal pu #2)

50% off with mlponge code

slide-29
SLIDE 29

Q&A

@jponge @tsegismont @clementplop

slide-30
SLIDE 30

THANK YOU

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