Records (realtime datastore)

Records are the documents in deepstreamHub’s realtime datastore. A record is identified by a unique id and can contain any kind of JSON data. Clients and backend processes can create, read, write, update and observe the entire record as well as paths within it. Any change is immediately synchronized amongst all connected subscribers.

Records can be arranged in lists and collections and can contain references to other records to allow for the modelling of relational data structures.

Events (publish-subscribe)

Events are deepstreamHub’s publish-subscribe mechanism. Clients and backend processes can subscribe to event-names (sometimes also called “topics” or “channels”) and receive messages published by other endpoints.

RPCs (request-response)

Remote Procedure Calls are deepstreamHub’s request-response mechanism. Clients and backend processes can register as “providers” for a given RPC, identified by a unique name. Other endpoints can request said RPC.

deepstreamHub will route requests to the right provider, load-balance between multiple providers for the same RPC, and handle data-serialisation and transport.

You can make a request using .make():

handleClick(e) {
// read the value from the input field
// and convert it into a number
var data = {
a: parseFloat(this.state.a),
b: parseFloat(this.state.b)
};
// Make a request for `multiply-number` with our data object
// and wait for the response
this.rpc.make('multiply-number', data, function( err, resp ){
//display the response (or an error)
this.setState({displayResponse: resp || err.toString()});
}.bind(this));
}

Where to go next?

To learn how to use deepstreamHub with any other frontend frameworks, head over to the tutorial section. To learn how to use the JavaScript SDK with NodeJS rather than in a browser, head over to the getting started with NodeJS tutorial.

deepstreamHub is funded with resources from the Pro FIT program. The Pro FIT project is co-financed with funds from the European Fund for Regional Development (EFRE) with the goal to research, develop and market enterprise-ready deepstreamHub features.