Skip to main content

Overview

ART is built upon a powerful publish/subscribe (pub/sub) architecture, which serves as the foundation for enabling real-time communication between multiple parties. Channels act as the core abstraction for message exchange, allowing applications to transmit and receive events with minimal overhead.

By leveraging ART’s developer-friendly ADKs, available in multiple programming languages and frameworks, one can seamlessly integrate real-time messaging into his applications without managing the complexities of networking or synchronization.


The Publish/Subscribe Model

At the heart of ART Channels lies the publish/subscribe model, an efficient communication pattern where Producers (publishers) send messages to a named channel, and Consumers (subscribers) connected to that channel automatically receive the messages in real time.

This model decouples the message producers from consumers, allowing developers to build scalable and modular applications. To participate in this communication loop, clients only need to maintain their channel subscription while ART ensures reliable, event-driven communication across distributed systems.


What Are Channels?

Figure 1: Channels Overview

Figure 1: Channels Overview

In ART, Channels are the named communication pathways that act as virtual partitions for organizing real-time data flow. Each channel isolates a specific concern, allowing different parts of an application to exchange events independently and securely.

ART Channels form the core of the platform's real-time communication system. Channels ensure that data is delivered and received instantly, enabling seamless synchronization across all connected users and devices.

To successfully send or receive real-time updates using channels, it’s essential to understand the core concepts involved:

  • Subscribing to Channels: Applications or users can subscribe to a specific channel to begin receiving real-time updates.
  • Publishing Messages: Messages can be pushed to a channel through events, instantly notifying all active subscribers.
  • Listening to events: Once subscribed, active clients can listen to the events and automatically receive any data published to that channel.

ART Channels utilize modern communication protocols such as WebSockets and HTTP/2, enabling low-latency, full-duplex (bi-directional) data exchange. These technologies ensure lightning-fast message delivery and equip your application to adapt to future web standards effortlessly.


Key Capabilities

ART Channels empower your applications with essential real-time communication features, including:

  • Separation of concerns: There are different channel types for different types of messaging needs all open for use.
  • Presence Tracking: Monitor user status and activity.
  • End-to-End Security: Encrypted transport and optional peer-to-peer encryption for sensitive data.
  • Low Latency Delivery: Optimized protocols (WebSockets, HTTP/2) ensure near-instant message exchange.
  • Role-Based Access Control (RBAC): Fine-grained read/write permissions per channel, managed through roles.
  • Scalability: Channels can handle thousands of concurrent connections and message streams

Types of Channels

ART supports multiple types of channels, each optimized to accommodate different real-time communication scenarios. These channel types provide the flexibility to choose the best fit for your application, whether you're building a one-on-one chat, a live broadcast, an encrypted messaging, or a large-scale group collaboration. The type of channel can be chosen according to the need during cannel configuration.

ART offers five distinct channel types:

  1. Targeted Channel: Ideal for one-to-one messaging or sending messages to specific users within a channel.

  2. Broadcast Channel: Optimized for broadcasting updates to a large number of subscribers with a single message push.

  3. Encrypted Channel: Guarantees end-to-end encryption for all messages, ensuring data integrity and privacy.

  4. Group Channel: Designed for multi-user group chats and collaborative features where multiple users can interact.

  5. Shared Object Channel: Enables real-time synchronization of shared data and objects across all connected clients.