Play2
Non blocking, composable reactive web programming with Iteratees and Promises in Play2
Monday, June 18, 12
Play2 Non blocking, composable reactive web programming with - - PowerPoint PPT Presentation
Play2 Non blocking, composable reactive web programming with Iteratees and Promises in Play2 Monday, June 18, 12 @sadache @hguergachi @guillaumebort Monday, June 18, 12 www.zenexity.com Web Oriented Architectures Monday, June 18, 12 What
Non blocking, composable reactive web programming with Iteratees and Promises in Play2
Monday, June 18, 12
Monday, June 18, 12
www.zenexity.com
Monday, June 18, 12
web applications with Java & Scala.
friendly architecture for highly-scalable applications
and Iteratee IO.
Monday, June 18, 12
Monday, June 18, 12
Partitioning
Monday, June 18, 12
get x get y
Execution Thread
get x get y
Execution Thread
get x get y
Execution Thread
get x get y
Execution Thread
get x get y
Execution Thread
Monday, June 18, 12
get x get y
Execution Thread
get x get y
Execution Thread
get x get y
Execution Thread
get x get y
Execution Thread
get x get y
Execution Thread
Monday, June 18, 12
his task
Monday, June 18, 12
Monday, June 18, 12
Blocking Style (ex: NIO)
Promises
Monday, June 18, 12
Monday, June 18, 12
Action { rq => AsyncResult(f.map(a => Ok(a)) }
Monday, June 18, 12
Monday, June 18, 12
Blocking Style (ex: NIO)
(MongoDb), SQL (async MySQL), disruptor, actors, …)
Monday, June 18, 12
Monday, June 18, 12
public abstract int read() throws IOException Reads the next byte of data from the input
This method blocks until input data is available
Monday, June 18, 12
Monday, June 18, 12
Monday, June 18, 12
Step[E,A] Done[E,A] Cont[E,A] Error[E]
Input[E] => Iteratee[E,A]
Step[E,A] Done[E,A] Cont[E,A] Error[E]
Input[E] is either El[E] or EOF
is an adapter
Monday, June 18, 12
Promise[Step[E,A]]
Done[E,A] Cont[E,A] Error[E]
Monday, June 18, 12
Monday, June 18, 12
Monday, June 18, 12
Monday, June 18, 12
Monday, June 18, 12
Monday, June 18, 12
Monday, June 18, 12