In the last few years, the cloud, IoT, Kubernetes, and machine learning have raised challenges in how we build and deploy software. Traditional CRUD applications are getting replaced by event-sourcing, putting data streams at the core of your system. This evolution makes Enterprise Java not necessarily suitable for facing this new reality.
But, in the past few years, a fresh impetus has emerged. Whether it’s Eclipse MicroProfile or Jakarta EE, there are multitudes of developers experienced in the Imperative programming model offered by the frameworks of Enterprise Java. We can’t afford to ignore that experience, but we also need to acknowledge advances with the Reactive programming model and, more widely, Reactive Systems. How do these two very different worlds co-exist? Can they co-exist?
In this lecture, you will learn how the models of Imperative and Reactive can be combined within a single application, and where each is best suited. We also look at ways in which Reactive can be utilized that doesn’t stray too far from our Imperative roots, such as how JAX-RS applications can stream data and embrace reactive programming!