Reactive Applications

988
-1

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
988
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
16
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Reactive Applications

  1. 1. reactive applications new kids for your building blocks 09/2013 twitter.com/MikeBild
  2. 2. la, la, la, la, la, la tonight • quick • hard • dirty Reactive
  3. 3. developers • translating the reactive concepts into code • use Rx / RxJS for example • https://gist.github.com/MikeBild/6725003 yeah
  4. 4. why • unstructured information • real-time analytics and intelligence • high user interaction and collaboration • clusters vs. elasticity • big-data vs. high-frequency
  5. 5. why • historical analysis • triggered finite state machines • data synchronization • more and more connected devices • business domain complexity
  6. 6. working software • is useful information output that • fits business domain • fits non-functional requirements
  7. 7. new challenges • cause - effect • time correlation • information/data correlation
  8. 8. reactive manifesto • it‘s a concept • technology agnostic • pros and cons • event / message centric
  9. 9. 4 building blocks • Event-Driven • Scalable • Resilient • Responsive and Interactive
  10. 10. react to ... • events • time • load • failures • users
  11. 11. how • RxJava | Java, Clojure, Scala, Groovy, JRuby • Rx.NET | C#, F#,VB • RxJS | JavaScript | NodeJS • ReactiveCocoa | Objective-C • RxCpp | C++ • more and more
  12. 12. glorious • NetFlix • GitHub for Windows / Mac • more and more
  13. 13. events • things that have happened • events represent state changes • data structure • implicit and explicit information • payload
  14. 14. event-driven • events • sources • analytics & abstracting • handling
  15. 15. event-driven • highly decoupled • ever non-blocking • reactive from top to bottom • input - processing - output • asynchronous Event-Stream(s)
  16. 16. translate into code • event sources structure • create and compose • transform, filter, aggregate, group, combine
  17. 17. scalable • easy to expand or update on demand • elastic scale out and scale in • helps to manage risk
  18. 18. scalable • location transparent • message passing style • abstraction for opportunities • local context or distributed within same semantic
  19. 19. translate into code • composing • scheduling • tasks
  20. 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
  21. 21. translate into code • state • resources • catch errors • retry • compensation
  22. 22. responsive • react to a stimulus • high user to system interaction • „always ready“
  23. 23. responsive • permanent connection between user and system • collaborative environment • real-time feedback
  24. 24. translate into code • throttle, delay time • analytics • filter • transform
  25. 25. design • isolated / autonomous blocks • async event-driven message passing • location transparent • ever responsive • explicit failure management @reactivemanifesto.org
  26. 26. conclusion What does that mean here? @reactivemanifesto.org
  27. 27. reactive applications • Observable Models • Event Streams • Stateful Clients
  28. 28. reactive applications • react from top to buttom to top • observe data changes • execute logic • store state • real-time update UI
  29. 29. thanks • http://www.reactivemanifesto.org/ • https://github.com/Reactive-Extensions/RxJS-DOM • https://github.com/Reactive-Extensions/RxJS • http://mywebbasedcomputer.com/users/johngslater/tech/rx/bubbleDiagrams.html • https://github.com/Netflix/RxJava • https://github.com/blog/1127-github-for-windows • https://netflix.com
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×