Intermediate OOCSI topics
So, you went through the OOCSI basics and you want more? Sure thing. Here we will explain a few intermediate topics of the OOCSI system.
Quick intro? You got it.
Ok, so the intermediate section of learning about OOCSI is structured into sharing data, awareness and presence, filters and transformations, and the call-response pattern. Let’s go.
Sharing data with OOCSI variables
In the first video we talk about sharing data in OOCSI by means of “variables”. Variables make data exchange easy, because you don’t have to prepare and capture data at the event or message level; you can just let the code share data in certain variables automatically. So, when the value of the variable changes all other OOCSI clients linked to this variable will get updated. This works in our Java, Python and JavaScript clients. Now that we have variables, we can make them a little smarter: give them reference values, constraints (limit their range), smoothen and throttle them, and use them as generators to create a steady stream of values.
Awareness, filtering and transformations on OOCSI channels
In the second video, we explain how to track presence (of clients) on OOCSI channels automatically. Then we go into the message filtering facilities that allow for easy filtering of messages on a channel, directly on the server. You can use simple expressions of message data, e.g., temperature > 25
and only receive the messages with matching data items. You can also let the OOCSI server compute aggregates for you, for instance, the average of the last 30 events. The same expressions can be used to create transformations, that is, new data attributes that are computed automatically. And of course, you can combine both filtering and transformations.
The call-response pattern for synchronous messaging
The last intermediate video shows how to communicate with OOCSI in a synchronous way. So, not fire-forget, but waiting for a response from a client or channel. You can implement a responder on an OOCSI client and use this communicate synchronously with this client.
Are you ready for more? Head over to the advanced topics!