Simon is a software development aficionado, especially interested in software design aspects (OOP, design patterns, software architecture), rich clients, what lies beyond code (continuous integration, (D)VCS, best practices), and also a bit of CompSci, concurrent programming... He is currently working in France as a SDK Software Engineer for Couchbase and is editor on InfoQ.com's French version.
You already have heard about RxJava but wish for a practical and concrete approach? You want to discover Functional Reactive Programming (FRP)? This workshop is made for you.
We'll discover ReactiveX by developing a client application that composes with multiple (not always reliable) services. We'll see which best practices to put in place so as to make it production-ready (retry, backpressure, exponential backoff...).
The application will eventually be connected to a NoSQL datastore, asynchronous and reactive itself.
Bring your favorite IDE, maven and JDK 8
In this talk, we'll discover Reactive Functional Programming through a real-world example of RxJava usage. Come and see how the java SDK for a NoSQL database was rewritten and rethought for an asynchronous experience and maximum performance.
We'll talk about the RxJava model and API, then go deeper and show how we leverage RxJava in our own API and how we expose Observables to the users of the Couchbase SDK.
Finally, we'll talk about the rest of the SDK's architecture, and notably how it relies on performance-oriented libraries like Netty and the LMAX Disruptor, to go async end-to-end.