Declarative APIs are becoming common in Java thanks to the lambda syntax in Java 8. Most of us have been exposed to java.util.Stream API or CompletionStage by now. The declarative style is powerful at expressing logic that is neutral to asynchronicity and it allows concurrency to be handled independently.
A full reactive stack may not be in your future plans but reactive APIs, from R2DBC to the reactive WebClient, and to RSocket, keep showing up, and they make some pretty neat things possible, which can be incorporated inside or next to your existing applications. My goal in this session is to give a practical introduction in order to get you interested and more comfortable, and perhaps a little less afraid of using and working with Reactive APIs.