Expanding upon the O’Reilly Radar article originally published by Jonas Bonér and Viktor Klang of Lightbend, this extended white paper defines and clarifies the different aspects of “Reactive” by looking at the differences between writing code in a Reactive Programming style, and the design of Reactive Systems as a cohesive whole. Aimed at Architects, Dev Team Leads and Managers, the main takeaways include:
- Since 2015, and particularly in 2016, there has been a huge growth in interest in Reactive—from both commercial middleware vendors and users.
- Reactive Programming is a distinct subset of Reactive Systems at the implementation level.
- Reactive Programming offers productivity for Developers—through performance and resource efficiency—at the component level for internal logic and dataflow management.
- Reactive Systems offers productivity for Architects and DevOps—through resilience and elasticity—at the system level, for building “Cloud Native” or other large-scale distributed systems.
- It is highly beneficial to use Reactive Programming within the components of a Reactive System.
- It is highly beneficial to use Reactive Systems to create the system around the components written using Reactive Programming.