A Step-by-Step Guide from Traditional Java EE to Reactive Microservice Design

Photo of Ondro Mihályi by Ondro Mihályi

A workshop given at JPrime conference in May 2018.

Have you wondered how you can improve the design of your applications to improve its performance? You probably heard that reactive design can help achieve better response time and make your applications more flexible. But you’re asking: Do I need to rewrite my applications from scratch? Do I need to learn a new framework for all that? The answer is no, especially if your application is built on top of Java EE and Java 8.


Together, we will explore how we can migrate parts of an existing Java EE application step-by-step, in order to increase its response time, throughput, and make it more flexible and robust. We will show you by example how to apply reactive design to a traditional codebase. We will then split the application into several microservices and deploy them to a cloud environment. In the end, we’ll compare the performance and the flexibility after the redesign to find out about pros and cons of our approach.


Instructions: Instructions for the Hands-On-Lab.pdf


Main repository: https://github.com/OndrejM-demonstrations/ReactiveWay-cargotracker-ext


Subrepository (with the Monolith project): https://github.com/OndrejM-demonstrations/ReactiveWay-cargotracker


Complete resources offline (Instructions, Work and Example project): https://drive.google.com/file/d/1orkovvJI9hHDb2zSMzW0KF4hT2f6Uyt-/view?usp=sharing


 Payara Server & Payara Micro  Download Here