Engineering the Future of Software
November 13–14, 2016: Training
November 14–16, 2016: Tutorials & Conference
San Francisco, CA

An introduction to Reactive applications, Reactive Streams, and options for the JVM

Stephen Pember (Toast)
10:45am–12:15pm Wednesday, 11/16/2016
Reactive and its variants
Location: California West Level: Advanced
Average rating: ***..
(3.50, 2 ratings)

Prerequisite knowledge

  • A basic familiarity with designing and implementing web applications
  • Experience with streams or pipeline-based programming

What you'll learn

  • Understand how Reactive Streams function and the power they can bring to an application


The term “reactive” has lately become a buzzword, with a variety of definitions around the Web. When you hear “reactive,” what do you think of? Reactive Streams? The Reactive Manifesto? ReactJS? These terms may seem unrelated, but they share a common core concept.

Reactive applications and Reactive programming result in flexible, concise, performant code and are a superior alternative to the old, standard thread-based imperative programming model. The Reactive approach has gained popularity recently for one simple reason: we need alternative designs and architectures to meet today’s demands. However, it can be difficult to shift one’s mind to think in Reactive terms due to how accustomed we’ve become to the imperative style.

Stephen Pember explores the various definitions of Reactive and Reactive programming with the goal of providing techniques for building efficient, scalable applications. Steve dives into the key concepts of Reactive Streams and examines some sample implementations—including how ThirdChannel is currently using reactive libraries in production code. Steve looks at some of the open source options available in the JVM—including Reactor, RxJava, and Ratpack—giving you an idea of where to begin with the reactive ecosystem. If Reactive is new to you, this should be an excellent introduction.

Photo of Stephen Pember

Stephen Pember


Steve Pember is a principal engineer and team lead at Toast, a creator of systems and point of sale devices for managing restaurants. Previously, he was a director of engineering, a CTO, and a principal consultant, all the while pushing for and building reactive, event-driven, microservices-based platforms. Steve is obsessed with highly scalable distributed systems, software architecture, and alternative data storage techniques like event sourcing, and he loves telling the world about them.