Live Coding Reactive Systems w/Eclipse Vert.x and OpenShift

Do you know the battery level in your smartphone is controlled by reactive software; which is software that reacts to a set of external events, such as requests, failures, availability of services, etc? This was what I recently addressed as a slideless session consisting of pure, live coding at the Red Hat Summit this past May.

The goal was to develop two microservices completely asynchronous focusing on responsiveness in 40 minutes running inside of OpenShift. I wanted to build a reactive system, a distributed application that focused on being responsive even while there are a lot of flaws through a lot of users, and also the state of responses it faced failures, such as the services relied on are gone for whatever reason.  So based on personal experience, I developed a very simple shopping list application. You can always put a list on the refrigerator but it’s not always up-to-date and is usually my fault although I’m pretty sure my wife continues to add items to it but does not tell me besides my way is cooler.

What I wanted folks to take away from this session is that Vert.x is about freedom; you can use Vert.x with multiple languages including Java, JavaScript, Groovy, Ruby, Ceylon, Scala and Kotlin. Vert.x gives the freedom back to the developer allowing them to choose the language they wish to use for their task(s). Working with Vert.x you’re on your own, so yes, there are big responsibilities, you may fail, you may do things differently, but you can also be much more creative at the same time, which is nice for the developer within you.

Download the Eclipse Vert.x cheat sheet, this cheat sheet provides step by step details to let you create your apps the way you want to.