Skip to content

Concepts

PUB / SUB (a.k.a Channels)

Real-time event driven messaging

Many modern applications and framework are rapidly supporting event based interaction. Coupled with real-time messaging infrastructure, applications can easily tap into events that they are interested in to deliver engaging digital experience.

Event-driven approach simplifies consuming the data as events in real-time and acting on it. Events makes the technology stack irrelevant because, the business can now use the stack that is relevant to delivering a business experience as most of the widely used technology stack can consume and generate events.

dataBridges delivers a very simple and elegant pub / sub eventing infrastructure called Channels.

  • Channels are event streams grouped together.
  • Application can subscribe to a channel and start receiving all event messages that is part of the channel.
  • dataBridges library supports powerful event binding to process channel messages.
  • Channels can be created on-the-fly and are super simple and easy to create. This allows applications to create and consume channel messages based on application state. This is a very powerful messaging feature.

dataBridges delivers following powerful types of pub / sub channel services allowing product owners to design, engineer powerful real-time digital services.

Channel Type
Public Public channel is used to send and receive messages that are to be publicly available. For example, lets take a case of election news coverage | live games coverage | Company intranet outbound call real-time dashboard. dashboard can plug-in real-time dataBridges pub/sub and start publishing real-time information to audience.
Private Private channels is restricted channel.
Lets continue with the above example of news coverage | lives game coverage | company intranet dashboard.
News portal agency can deliver more frequent updates only for registered users. They create private messaging channel that publishes live update more frequently than public channels.

Similarly company intranet dashboard can deliver separate data information to authorised users apart from the real-time messages that is being published using public channel. Here the developer need not write separate complex code-set, but just connects to public and private channels each feeding information to the same dashboard user interface

dataBridges implements a simple but powerful trust-token process to allow applications tap into private channels. trust-token works on widely understood JWT tokens. Application needs to get a valid trust-token (JWT) from its usual authorization system (currently used web application, Auth services etc) and pass this JWT to get access to private channels. The best part of the trust-token process is that the company continues using its existing authentication and authorization systems to hand out the trust-token JWT.
Presence Presence channels is a specialized private channel with additional feature of presence awareness. Subscribing to presence channel allows application to be notified of members joining / leaving the channel.

Presence channels are very useful where you need the application to be aware of all the participants connected to a channel (chat applications, collaborative apps, Multi-player games, Notification and Signaling, Activity streams etc.)

Presence channel implements the same simple but powerful trust-token process to allow applications tap into presence channels.
System System channel is a specialized Presence channel to build command and control applications.

Using System channel to create command and control server applications to send messages to devices and application using dataBrdiges library in **trust-safe manner **, build smart update configuration system and implement **trust-safe ** actions for remote and automated management. System channel allows application to send and receive messages with the server application (using dataBrdiges server library).

dataBridges channel services gives you powerful messaging pathways to build powerful real-time capabilities in your applications.