• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Reactive Applications
 

Reactive Applications

on

  • 679 views

 

Statistics

Views

Total Views
679
Views on SlideShare
679
Embed Views
0

Actions

Likes
0
Downloads
9
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Reactive Applications Reactive Applications Presentation Transcript

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