SlideShare a Scribd company logo
Streaming to a new Jakarta EE
@myfear
Streaming to a New Jakarta EE
Jakarta EE Technical Directions
Eclipse Foundation survey of over 1800 developers
Top
3
Critical areas cited for improvement:
1. Better support for microservices
2. Native integration with Kubernetes
3. A faster pace of innovation
Top Frameworks for building microservices include: Jersey,
Spring, Eclipse MicroProfile, Node.js & Kubernetes
67% Currently building microservices or planning to <1 yr
40%
Say large memory requirements most challenging
aspect of working with Java EE
#1 Reason Java EE chosen for Java applications is stability
60%
Say Foundation should prioritize better support for
microservices
https://jakarta.ee/news/2018/04/24/jakarta-ee-community-survey/
5
Oracle
GlassFish 5.X
Eclipse
GlassFish 5.1
Eclipse
GlassFish “Next”
Java EE 8
Java EE 8 Jakarta EE 8
Sources,
TCKs
Jakarta EE Next
High Level Roadmap for Jakarta EE
https://blogs.eclipse.org/post/tanja-obradovic/how-eclipse-foundation-specification-process-efsp-different-java-community
JakartaEE The New Home of Cloud Native Java
https://www.youtube.com/watch?v=1Amshn3s-hg
Ivar Grimstad (Cybercom Sweden)
Dimitris Andreadis (Red Hat)
Dmitry Kornilov (Oracle)
Gaël Blondelle (Eclipse Foundation)
Kevin Sutter (IBM)
Markus Eisele (@lightbend )
Ondro Mihályi (Payara)
Monoliths have allowed us to take
consistency for granted
With a single database, the world is easy
Transactions give us an illusion of a single, consistent,
current state
• We can think of our data as a static thing
• It sits there at rest, waiting for our operation
• Failure is handled
• No partial updates
• Consistency is enforced
• Concurrency is handled
• No uncommitted reads
Monoliths
Monoliths
Transaction 1
Transaction 2
In microservices, our consistent view of the
world breaks down
Microservices
Many databases, the world is hard
There are now many states, all constantly changing
• Different services have different ideas of current state
• Our data is in motion, not at rest, not static
• Failure is not handled for us
• Partial updates likely
• No enforcement of consistency
• Concurrency is inherent
• Operations take time to propagate
C
F
A
B
G
E
D
Microservices
??
? ?
?
?
What worked in monoliths will not work
in microservices
What worked in monoliths
CRUD
• Depends on consistent single state
Relying on transactions
• Depends on a single database
REST
• Depends on failure and consistency being handled in the
database
What worked in monoliths
What’s needed for microservices
Events
• Events convey facts
• Facts remain true regardless of what else happens in the system
At least once messaging
• Ensures events can be reliably propagated throughout the system
Stream-centric view
• Our data is the events
• Some may be at rest, some are in motion
• No single state
• Rather, system is constantly converging, propagating
• Control this, using streams
Streams
A B
By modelling a system using streams, we
embrace events, no longer need a single
state, and can take eventual consistency
for granted
Enter Reactive Streams
http://www.reactive-streams.org
Reactive Streams
Allows streaming between multiple technologies
Not for end users, rather it’s the glue that connects things
• Created by Lightbend and others (Netflix, Red Hat, etc. 2013)
• Allows asynchronous propagation of messages, with asynchronous
backpressure
• Backpressure necessary to control resource usage
• Tens of compatible, TCK verified implementations
• Added to JDK9 as the java.util.concurrent.Flow API
• Requires a high level API for end user control and manipulation of
streams
https://developer.lightbend.com/blog/2017-08-18-introduction-to-reactive-streams-for-java-developers/index.html
But there are already APIs for that?!
• InputStream and OutputStream in the JDK
• NIO Channel’s
• Servlet 3.1 ReadListener and WriteListener
extensions
• JDBC ResultSet
• JSR 356 @OnMessage annotations,
• Message Driven Beans and JMS,
• CDI events using @Observes
• Java collection Stream and Iterator based APIs
• JDK9 Flow API.
Reactive Streams
22
Kafka
myTopic
.subscribe()
Akka Streams
.map(kafkaMessage ->
new WebSocketMessage(
kafkaMessage.getPayload()
)
)
WebSocket
response
.send(publisher)
Reactive
Streams
Reactive
Streams
Messages
Backpressure
https://developer.lightbend.com/blog/2018-02-06-reactive-streams-ee4j/index.html
https://www.lightbend.com/blog/in-support-of-jakarta-ees-quest-to-accelerate-cloud-native-java
What can Reactive Streams offer Jakarta EE?
MicroProfile
Working with Reactive Streams requires a high level library like Akka Streams
MicroProfile Reactive Streams Operators
• Provides specification for a set of operators for Reactive Streams manipulation
• map, filter, flatMap, etc.
• Heavily draws on Akka Streams, RxJava 2 and Reactor
• Uses java.util.stream for inspiration in naming and scope
• 1.0-RC2 recently released
• Long term hope is for inclusion in the JDK
• Three implementations under active development
https://github.com/eclipse/microprofile-reactive-streams
MicroProfile Reactive Messaging
• API for connecting to common messaging sources
• Kafka, AMQP, JMS, WebSockets
• Based on MicroProfile Reactive Streams Operators
• Uses annotations on CDI Beans to declare message subscribers and
publishers
• API and TCK currently under development
• Two implementations being simultaneously developed
• Aiming for inclusion in MicroProfile 2.2
https://github.com/eclipse/microprofile-reactive-messaging
https://github.com/jroper/streaming-new-
jakartaee
Online Auction
Demo app is an ebay clone.
This technology doesn’t exist in a usable form yet, but…
• Lagom, a Reactive Microservices framework, implements
these principles
• James Roper implemented support for the specs in their
current state on top of Lagom
• The online auction demo app has been ported to use the
new specs
Summary
• Monoliths have allowed us to take consistency for granted
• In cloud native microservices, our consistent view of the world breaks down
• What worked in monoliths will not work in microservices
• By modelling a system using streams, we
• Embrace events
• No longer need a single state
• Can take eventual consistency for granted
• Lightbend is working with Eclipse MicroProfile to:
• Build new specs for streaming
• Make streaming architectures standard
Next Steps! Learn more!
Project Site:
http://www.microprofile.io
Reactive Streams:
http://www.reactive-streams.org
Demo GitHub Repo:
https://github.com/jroper/streaming-new-jakartaee
Wanna learn more about
Streaming Architectures?
http://bit.ly/fast-data-architecture
Written for architects and developers that must
quickly gain a fundamental understanding of
microservice-based architectures, this free O’Reilly
report explores the journey from SOA to
microservices, discusses approaches to
dismantling your monolith, and reviews the key
tenets of a Reactive microservice:
• Isolate all the Things
• Act Autonomously
• Do One Thing, and Do It Well
• Own Your State, Exclusively
• Embrace Asynchronous Message-Passing
• Stay Mobile, but Addressable
• Collaborate as Systems to Solve Problems
http://bit.ly/ReactiveMicroservice
The detailed example in this report is based on
Lagom, a new framework that helps you follow the
requirements for building distributed, reactive
systems.
• Get an overview of the Reactive Programming
model and basic requirements for developing
reactive microservices
• Learn how to create base services, expose
endpoints, and then connect them with a
simple, web-based user interface
• Understand how to deal with persistence, state,
and clients
• Use integration technologies to start a
successful migration away from legacy systems
http://bit.ly/DevelopReactiveMicroservice
http://bit.ly/SustainableEnterprise
• Understand the challenges of starting a greenfield
development vs tearing apart an existing brownfield
application into services
• Examine your business domain to see if microservices
would be a good fit
• Explore best practices for automation, high availability,
data separation, and performance
• Align your development teams around business
capabilities and responsibilities
• Inspect design patterns such as aggregator, proxy,
pipeline, or shared resources to model service
interactions
Streaming to a New Jakarta EE

More Related Content

PDF
Voxxed Athens 2018 - Java EE is dead Long live jakarta EE!
PDF
Bootstraping real world Jakarta EE/MicroProfile microservices with Maven Arch...
PDF
How Class Data Sharing Can Speed up Your Jakarta EE Application Startup
PDF
Writing Java EE microservices using WildFly Swarm
PDF
Lessons Learned from Real-World Deployments of Java EE 7 at JavaOne 2014
PDF
Taking the friction out of microservice frameworks with Lagom
PDF
Microservices with Spring Cloud
PDF
Microservices with WildFly Swarm - JavaSI 2016
Voxxed Athens 2018 - Java EE is dead Long live jakarta EE!
Bootstraping real world Jakarta EE/MicroProfile microservices with Maven Arch...
How Class Data Sharing Can Speed up Your Jakarta EE Application Startup
Writing Java EE microservices using WildFly Swarm
Lessons Learned from Real-World Deployments of Java EE 7 at JavaOne 2014
Taking the friction out of microservice frameworks with Lagom
Microservices with Spring Cloud
Microservices with WildFly Swarm - JavaSI 2016

What's hot (20)

PPTX
JavaEE Microservices platforms
PPTX
Developing Java EE applications with NetBeans and Payara
PPTX
Deploying Elastic Java EE Microservices in the Cloud with Docker
PPTX
JPA 2.1 on Payara Server
PPTX
Reactive Web Development with Spring Boot 2
PDF
Should i break it?
PPT
Packing It In: Images, Containers and Config Management
PDF
Introduction to Micronaut - JBCNConf 2019
PDF
Gradual migration to MicroProfile
PDF
Micronaut Deep Dive - Codeone 2019
PPT
Spring Boot. Boot up your development. JEEConf 2015
PDF
How would ESBs look like, if they were done today.
PDF
EJB 3.2 - Java EE 7 - Java One Hyderabad 2012
PDF
Monitor Micro-service with MicroProfile metrics
PDF
Micronaut Deep Dive - Devoxx Belgium 2019
PPTX
High performance java ee with j cache and cdi
PPTX
Introduction to ASP.NET 5
PDF
Java one kubernetes, jenkins and microservices
PDF
Stay productive while slicing up the monolith
PDF
Architecting for failure - Why are distributed systems hard?
JavaEE Microservices platforms
Developing Java EE applications with NetBeans and Payara
Deploying Elastic Java EE Microservices in the Cloud with Docker
JPA 2.1 on Payara Server
Reactive Web Development with Spring Boot 2
Should i break it?
Packing It In: Images, Containers and Config Management
Introduction to Micronaut - JBCNConf 2019
Gradual migration to MicroProfile
Micronaut Deep Dive - Codeone 2019
Spring Boot. Boot up your development. JEEConf 2015
How would ESBs look like, if they were done today.
EJB 3.2 - Java EE 7 - Java One Hyderabad 2012
Monitor Micro-service with MicroProfile metrics
Micronaut Deep Dive - Devoxx Belgium 2019
High performance java ee with j cache and cdi
Introduction to ASP.NET 5
Java one kubernetes, jenkins and microservices
Stay productive while slicing up the monolith
Architecting for failure - Why are distributed systems hard?
Ad

Similar to Streaming to a New Jakarta EE (20)

PDF
Streaming to a new Jakarta EE / JOTB19
PDF
Reactive Integrations - Caveats and bumps in the road explained
PDF
Migrating From Java EE To Cloud-Native Reactive Systems
PDF
Migrating from Java EE to cloud-native Reactive systems
PDF
Java in the age of containers - JUG Frankfurt/M
PDF
170215 msa intro
PDF
Case Study: Migrating Hyperic from EJB to Spring from JBoss to Apache Tomcat
PPT
Cloud compiler - Minor Project by students of CBPGEC
PPTX
Do You Need A Service Mesh?
PPTX
Do I Need A Service Mesh.pptx
PDF
Java in the Age of Containers and Serverless
PDF
Meteor + React
PDF
oraclewls-jrebel
PDF
Utilizing JSF Front Ends with Microservices
PPTX
Decomposing the Monolith using Microservices that don't give you pain
PDF
SCaLE 16x - Application Monitoring And Tracing In Kubernetes
PDF
Stay productive_while_slicing_up_the_monolith
PDF
03 monoliths to microservices with java ee and spring boot
PPT
TransitioningToMicroServonDocker_MS
PDF
The Meteor Framework
Streaming to a new Jakarta EE / JOTB19
Reactive Integrations - Caveats and bumps in the road explained
Migrating From Java EE To Cloud-Native Reactive Systems
Migrating from Java EE to cloud-native Reactive systems
Java in the age of containers - JUG Frankfurt/M
170215 msa intro
Case Study: Migrating Hyperic from EJB to Spring from JBoss to Apache Tomcat
Cloud compiler - Minor Project by students of CBPGEC
Do You Need A Service Mesh?
Do I Need A Service Mesh.pptx
Java in the Age of Containers and Serverless
Meteor + React
oraclewls-jrebel
Utilizing JSF Front Ends with Microservices
Decomposing the Monolith using Microservices that don't give you pain
SCaLE 16x - Application Monitoring And Tracing In Kubernetes
Stay productive_while_slicing_up_the_monolith
03 monoliths to microservices with java ee and spring boot
TransitioningToMicroServonDocker_MS
The Meteor Framework
Ad

More from J On The Beach (20)

PDF
Massively scalable ETL in real world applications: the hard way
PPTX
Big Data On Data You Don’t Have
PPTX
Acoustic Time Series in Industry 4.0: Improved Reliability and Cyber-Security...
PDF
Pushing it to the edge in IoT
PDF
Drinking from the firehose, with virtual streams and virtual actors
PDF
How do we deploy? From Punched cards to Immutable server pattern
PDF
Java, Turbocharged
PDF
When Cloud Native meets the Financial Sector
PDF
The big data Universe. Literally.
PDF
The TIPPSS Imperative for IoT - Ensuring Trust, Identity, Privacy, Protection...
PDF
Pushing AI to the Client with WebAssembly and Blazor
PDF
Axon Server went RAFTing
PDF
The Six Pitfalls of building a Microservices Architecture (and how to avoid t...
PDF
Madaari : Ordering For The Monkeys
PDF
Servers are doomed to fail
PDF
Interaction Protocols: It's all about good manners
PDF
A race of two compilers: GraalVM JIT versus HotSpot JIT C2. Which one offers ...
PDF
Leadership at every level
PDF
Machine Learning: The Bare Math Behind Libraries
PDF
Getting started with Deep Reinforcement Learning
Massively scalable ETL in real world applications: the hard way
Big Data On Data You Don’t Have
Acoustic Time Series in Industry 4.0: Improved Reliability and Cyber-Security...
Pushing it to the edge in IoT
Drinking from the firehose, with virtual streams and virtual actors
How do we deploy? From Punched cards to Immutable server pattern
Java, Turbocharged
When Cloud Native meets the Financial Sector
The big data Universe. Literally.
The TIPPSS Imperative for IoT - Ensuring Trust, Identity, Privacy, Protection...
Pushing AI to the Client with WebAssembly and Blazor
Axon Server went RAFTing
The Six Pitfalls of building a Microservices Architecture (and how to avoid t...
Madaari : Ordering For The Monkeys
Servers are doomed to fail
Interaction Protocols: It's all about good manners
A race of two compilers: GraalVM JIT versus HotSpot JIT C2. Which one offers ...
Leadership at every level
Machine Learning: The Bare Math Behind Libraries
Getting started with Deep Reinforcement Learning

Recently uploaded (20)

PPTX
Operating system designcfffgfgggggggvggggggggg
PPTX
Reimagine Home Health with the Power of Agentic AI​
PDF
Website Design Services for Small Businesses.pdf
PDF
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
PDF
Download FL Studio Crack Latest version 2025 ?
PPTX
Computer Software and OS of computer science of grade 11.pptx
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PDF
AutoCAD Professional Crack 2025 With License Key
PDF
Salesforce Agentforce AI Implementation.pdf
DOCX
Greta — No-Code AI for Building Full-Stack Web & Mobile Apps
PPTX
history of c programming in notes for students .pptx
PDF
wealthsignaloriginal-com-DS-text-... (1).pdf
PPTX
Weekly report ppt - harsh dattuprasad patel.pptx
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PPTX
Why Generative AI is the Future of Content, Code & Creativity?
PDF
iTop VPN Crack Latest Version Full Key 2025
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PPTX
Advanced SystemCare Ultimate Crack + Portable (2025)
PPTX
WiFi Honeypot Detecscfddssdffsedfseztor.pptx
PPTX
Patient Appointment Booking in Odoo with online payment
Operating system designcfffgfgggggggvggggggggg
Reimagine Home Health with the Power of Agentic AI​
Website Design Services for Small Businesses.pdf
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
Download FL Studio Crack Latest version 2025 ?
Computer Software and OS of computer science of grade 11.pptx
Internet Downloader Manager (IDM) Crack 6.42 Build 41
AutoCAD Professional Crack 2025 With License Key
Salesforce Agentforce AI Implementation.pdf
Greta — No-Code AI for Building Full-Stack Web & Mobile Apps
history of c programming in notes for students .pptx
wealthsignaloriginal-com-DS-text-... (1).pdf
Weekly report ppt - harsh dattuprasad patel.pptx
Design an Analysis of Algorithms II-SECS-1021-03
Why Generative AI is the Future of Content, Code & Creativity?
iTop VPN Crack Latest Version Full Key 2025
Navsoft: AI-Powered Business Solutions & Custom Software Development
Advanced SystemCare Ultimate Crack + Portable (2025)
WiFi Honeypot Detecscfddssdffsedfseztor.pptx
Patient Appointment Booking in Odoo with online payment

Streaming to a New Jakarta EE

  • 1. Streaming to a new Jakarta EE
  • 4. Jakarta EE Technical Directions Eclipse Foundation survey of over 1800 developers Top 3 Critical areas cited for improvement: 1. Better support for microservices 2. Native integration with Kubernetes 3. A faster pace of innovation Top Frameworks for building microservices include: Jersey, Spring, Eclipse MicroProfile, Node.js & Kubernetes 67% Currently building microservices or planning to <1 yr 40% Say large memory requirements most challenging aspect of working with Java EE #1 Reason Java EE chosen for Java applications is stability 60% Say Foundation should prioritize better support for microservices https://jakarta.ee/news/2018/04/24/jakarta-ee-community-survey/
  • 5. 5 Oracle GlassFish 5.X Eclipse GlassFish 5.1 Eclipse GlassFish “Next” Java EE 8 Java EE 8 Jakarta EE 8 Sources, TCKs Jakarta EE Next High Level Roadmap for Jakarta EE
  • 7. JakartaEE The New Home of Cloud Native Java https://www.youtube.com/watch?v=1Amshn3s-hg Ivar Grimstad (Cybercom Sweden) Dimitris Andreadis (Red Hat) Dmitry Kornilov (Oracle) Gaël Blondelle (Eclipse Foundation) Kevin Sutter (IBM) Markus Eisele (@lightbend ) Ondro Mihályi (Payara)
  • 8. Monoliths have allowed us to take consistency for granted
  • 9. With a single database, the world is easy Transactions give us an illusion of a single, consistent, current state • We can think of our data as a static thing • It sits there at rest, waiting for our operation • Failure is handled • No partial updates • Consistency is enforced • Concurrency is handled • No uncommitted reads Monoliths
  • 11. In microservices, our consistent view of the world breaks down
  • 12. Microservices Many databases, the world is hard There are now many states, all constantly changing • Different services have different ideas of current state • Our data is in motion, not at rest, not static • Failure is not handled for us • Partial updates likely • No enforcement of consistency • Concurrency is inherent • Operations take time to propagate
  • 14. What worked in monoliths will not work in microservices
  • 15. What worked in monoliths CRUD • Depends on consistent single state Relying on transactions • Depends on a single database REST • Depends on failure and consistency being handled in the database What worked in monoliths
  • 16. What’s needed for microservices Events • Events convey facts • Facts remain true regardless of what else happens in the system At least once messaging • Ensures events can be reliably propagated throughout the system Stream-centric view • Our data is the events • Some may be at rest, some are in motion • No single state • Rather, system is constantly converging, propagating • Control this, using streams
  • 18. By modelling a system using streams, we embrace events, no longer need a single state, and can take eventual consistency for granted
  • 20. Reactive Streams Allows streaming between multiple technologies Not for end users, rather it’s the glue that connects things • Created by Lightbend and others (Netflix, Red Hat, etc. 2013) • Allows asynchronous propagation of messages, with asynchronous backpressure • Backpressure necessary to control resource usage • Tens of compatible, TCK verified implementations • Added to JDK9 as the java.util.concurrent.Flow API • Requires a high level API for end user control and manipulation of streams https://developer.lightbend.com/blog/2017-08-18-introduction-to-reactive-streams-for-java-developers/index.html
  • 21. But there are already APIs for that?! • InputStream and OutputStream in the JDK • NIO Channel’s • Servlet 3.1 ReadListener and WriteListener extensions • JDBC ResultSet • JSR 356 @OnMessage annotations, • Message Driven Beans and JMS, • CDI events using @Observes • Java collection Stream and Iterator based APIs • JDK9 Flow API.
  • 22. Reactive Streams 22 Kafka myTopic .subscribe() Akka Streams .map(kafkaMessage -> new WebSocketMessage( kafkaMessage.getPayload() ) ) WebSocket response .send(publisher) Reactive Streams Reactive Streams Messages Backpressure
  • 24. MicroProfile Working with Reactive Streams requires a high level library like Akka Streams MicroProfile Reactive Streams Operators • Provides specification for a set of operators for Reactive Streams manipulation • map, filter, flatMap, etc. • Heavily draws on Akka Streams, RxJava 2 and Reactor • Uses java.util.stream for inspiration in naming and scope • 1.0-RC2 recently released • Long term hope is for inclusion in the JDK • Three implementations under active development https://github.com/eclipse/microprofile-reactive-streams
  • 25. MicroProfile Reactive Messaging • API for connecting to common messaging sources • Kafka, AMQP, JMS, WebSockets • Based on MicroProfile Reactive Streams Operators • Uses annotations on CDI Beans to declare message subscribers and publishers • API and TCK currently under development • Two implementations being simultaneously developed • Aiming for inclusion in MicroProfile 2.2 https://github.com/eclipse/microprofile-reactive-messaging
  • 27. Online Auction Demo app is an ebay clone. This technology doesn’t exist in a usable form yet, but… • Lagom, a Reactive Microservices framework, implements these principles • James Roper implemented support for the specs in their current state on top of Lagom • The online auction demo app has been ported to use the new specs
  • 28. Summary • Monoliths have allowed us to take consistency for granted • In cloud native microservices, our consistent view of the world breaks down • What worked in monoliths will not work in microservices • By modelling a system using streams, we • Embrace events • No longer need a single state • Can take eventual consistency for granted • Lightbend is working with Eclipse MicroProfile to: • Build new specs for streaming • Make streaming architectures standard
  • 29. Next Steps! Learn more! Project Site: http://www.microprofile.io Reactive Streams: http://www.reactive-streams.org Demo GitHub Repo: https://github.com/jroper/streaming-new-jakartaee
  • 30. Wanna learn more about Streaming Architectures? http://bit.ly/fast-data-architecture
  • 31. Written for architects and developers that must quickly gain a fundamental understanding of microservice-based architectures, this free O’Reilly report explores the journey from SOA to microservices, discusses approaches to dismantling your monolith, and reviews the key tenets of a Reactive microservice: • Isolate all the Things • Act Autonomously • Do One Thing, and Do It Well • Own Your State, Exclusively • Embrace Asynchronous Message-Passing • Stay Mobile, but Addressable • Collaborate as Systems to Solve Problems http://bit.ly/ReactiveMicroservice
  • 32. The detailed example in this report is based on Lagom, a new framework that helps you follow the requirements for building distributed, reactive systems. • Get an overview of the Reactive Programming model and basic requirements for developing reactive microservices • Learn how to create base services, expose endpoints, and then connect them with a simple, web-based user interface • Understand how to deal with persistence, state, and clients • Use integration technologies to start a successful migration away from legacy systems http://bit.ly/DevelopReactiveMicroservice
  • 33. http://bit.ly/SustainableEnterprise • Understand the challenges of starting a greenfield development vs tearing apart an existing brownfield application into services • Examine your business domain to see if microservices would be a good fit • Explore best practices for automation, high availability, data separation, and performance • Align your development teams around business capabilities and responsibilities • Inspect design patterns such as aggregator, proxy, pipeline, or shared resources to model service interactions