...and Their Use In HTM.java's Network API (NAPI) Hi Everybody,
I wanted to share a one-page short but very well explained tutorial on composing asynchronous workflows using RxJava. Due to the availability of "Big Data", Multicore Processors, Cloud Computing and emerging concepts of Streaming Workflows; tools like "Hadoop", "Spark" etc. have come to the forefront as a means of optimizing concurrency and parallel architectures. Likewise, on a smaller scale, mastering the tools of Streaming Data utilization is essential in order to be ready when the future comes visiting upon us. Enter RxJava... As you may or may not know, HTM.java's Network API was constructed using RxJava Observables which are a way of composing units of work in such a way where they can be used asynchronously or non-asynchronously without blocking. This also allows you to seamlessly "tie in" the NAPI in your own applications using chains of Observable items. Unlike Java "Futures" which only return a single item, RxJava Observables (which also can use Futures) can return a "streaming" flow of items in a non-blocking fashion; this allows one to fully utilize any Threads in use by letting them be continuously active throughout their life cycle. Better yet, it is very lightweight has no outside dependencies and can be used with a multitude of languages!! Netflix, uses RxJava and is its original sponsor and creator. It is a very exciting new concept that is sweeping the Java developer ranks, and this is one of the best tutorials on the subject I have found. http://docs.couchbase.com/developer/java-2.0/observables.html Enjoy! David -- *With kind regards,* David Ray Java Solutions Architect *Cortical.io <http://cortical.io/>* Sponsor of: HTM.java <https://github.com/numenta/htm.java> [email protected] http://cortical.io
