The following is a Coderland presentation about
our newest attraction, the Reactica roller coaster.
[Screams in the background]
Greetings, Coders! This is Doug Tidwell. As we see
the majestic Coderland Special rolling into the station with a
load of happy coders, bituminous coal, and
Da-RHEL, the best rhino there ever was, it's time for another
exciting announcement from Coderland. The park's extensive lineup of
attractions now includes Reactica, a state-of-the-art roller coaster
that takes guests through a terrifying journey
on perhaps the most futuristic coaster ever built.
Let's take a look at this 21st Century marvel in action.
[screams]
[more screams, a crash, and someone yelling "My Leg!"]
Clearly our engineers have outdone themselves
in building this next-generation ride.
As our early guests stared in slack-jawed wonder
at this spectacle, many of them asked about the wait time for
such a unique attraction. Your assignment,
should you choose to accept it, is to build a web interface that shows the
continuously updated wait time for the ride.
You'll use event data from the ride itself, including whenever the
coaster leaves the station, when it returns,
when the ride is shut down due to accidents, and of course,
whenever the wreckage is cleared and the ride reopens.
In addition to ride events, you'll also process events from park guests.
Every time the coaster leaves the station, the
status a few lucky guests changes from "waiting in line"
to "on the ride." A short time later, their status changes to "completed the ride."
Your web UI needs to reflect all of those changes.
You may have already recognized this
as a perfect scenario for reactive programming.
That's the focus of what we'll cover here.
The code uses the Eclipse Vert.x toolkit
to handle the events that move through the system.
Those events are delivered via the Red Hat AMQ message broker
and Red Hat Data Grid. The code uses the
event infrastructure to generate this web UI.
It shows the current wait time as well as a list
of the guests in line. This UI is displayed
on monitors in the station as guests move through the queue,
giving them constant feedback as to how the line is moving,
uh, IF the line is moving. For administrators,
there is a second UI to manage the ride.
We'll take a quick look at that as well.
There are three more videos to help you build this solution.
The first serves as a quick introduction to reactive programming and Vert.x,
then the second covers the different components and how they work together.
The third shows you the ride in action, so you can see how events are generated
by the ride and its riders and how those events are consumed
by the components that calculate the wait time.
We think this is a great introduction to reactive programming and
reactive systems. We had a lot of fun putting it together
and we hope you enjoy it. For Coderland, this is Doug Tidwell,
saying may all your bugs be shallow. Cheers.
[train noises]
[more train noise]
[train whistle]
[more train noises
[train fades into the distance]