Reactive Streams — JavaScript Interfaces Project

By Oleh Dokuka

Netifi is seeking to transform development of microservices and cloud-native applications with our next-generation platform but we know we can’t do it alone. That would impossible for a startup. We’re actively involved developing and promoting the open source RSocket protocol helping applications talk to each other. Also, I’m participating on the Reactive Streams Project in another industry initiative to provide a standard for asynchronous stream processing with non-blocking backpressure. Specifically, our working group is defining a minimal set of object properties for observing a stream of elements within a JavaScript runtime environment. The goal is to deliver a specification that allows different implementations to interoperate within that same runtime environment.

The code is offered in the Public Domain for free use by interested parties who want to create compatible implementations. This work is performed in the reactive-streams-js repository and code contributions are welcome from anyone. I serve as Netifi’s representative among other gatekeepers on the project from Kaazing, Lightbend, Netflix, Pivotal, Red Hat and Twitter. We have completed the first draft of the spec and merged that into the Reactive Streams project. Now, we are working on a test compatibility kit so that implementations can be checked for conformance with the spec.

Looking at the big picture, adoption of microservices depends on handling streams of data in an asynchronous system. We intend for our work on the spec to help accelerate that adoption by enterprises looking to use microservices, along with those building cloud-native applications. It’s important to have support for reactive streams in every language and we expect to close that gap in JavaScript with this project.