Reactive Applications
- 2. la, la, la, la, la, la tonight
• quick
• hard
• dirty
Reactive
- 4. why
• unstructured information
• real-time analytics and intelligence
• high user interaction and collaboration
• clusters vs. elasticity
• big-data vs. high-frequency
- 5. why
• historical analysis
• triggered finite state machines
• data synchronization
• more and more connected devices
• business domain complexity
- 6. working software
• is useful information output that
• fits business domain
• fits non-functional requirements
- 11. how
• RxJava | Java, Clojure, Scala, Groovy, JRuby
• Rx.NET | C#, F#,VB
• RxJS | JavaScript | NodeJS
• ReactiveCocoa | Objective-C
• RxCpp | C++
• more and more
- 13. events
• things that have happened
• events represent state changes
• data structure
• implicit and explicit information
• payload
- 16. translate into code
• event sources structure
• create and compose
• transform, filter, aggregate, group, combine
- 17. scalable
• easy to expand or update on demand
• elastic scale out and scale in
• helps to manage risk
- 20. resilient
• no downtime - be stale or compensate
• failures/errors as a first class construct
• failures are business decisions
• react to manage failures
• monitor what possible
- 25. design
• isolated / autonomous blocks
• async event-driven message passing
• location transparent
• ever responsive
• explicit failure management
@reactivemanifesto.org