Data Flow Model
Understanding how data flows between applications is key to building effective io.Connect solutions. All communication is routed through the platform's managed messaging hub, ensuring governance, cross-technology reach, and real-time performance.
Browser Environment Flow
┌────────────────────────────────────┐
│ Browser Window │
│ │
│ ┌──────────┐ ┌──────────────┐ │
│ │ Platform │ │ Platform Hub │ │
│ │ App │──▶│ Message Bus │ │
│ └──────────┘ └──────┬───────┘ │
│ │ │
│ ┌───────────────┼────┐ │
│ ▼ ▼ ▼ │
│ ┌──────────┐ ┌─────────────┐ │
│ │ Client A │ │ Client B │ │
│ │ (iframe) │ │ (iframe) │ │
│ └──────────┘ └─────────────┘ │
└────────────────────────────────────┘Communication Patterns
1. Shared Context Update
App A Platform Hub App B
│ │ │
│── contexts.update() ────▶│ │
│ │── callback(data) ────▶│
│ │ │
│ (data persists in hub even if App A disconnects)2. Channel Broadcast
App A (Red Channel) Platform Hub App B (Red Channel)
│ │ │
│── channels.publish() ──▶│ │
│ │── subscribe cb() ───▶│
│ │ │
│ App C (Blue Channel) │
│ (does NOT receive data) │3. Interop Method Invocation
App A (Caller) Platform Hub App B (Server)
│ │ │
│── interop.invoke() ────▶│ │
│ │── handler(args) ────▶│
│ │◀── return value ──── │
│◀── result ──────────────│ │4. Intent Resolution
App A (Raiser) Platform Hub App B & C (Handlers)
│ │ │
│── intents.raise() ─────▶│ │
│ │── find handlers ────▶│ (multiple)
│ │ │
│ Intent Resolver UI │
│ (user picks App B) │
│ │── context ──────────▶│ App B
│ │ │Key Principles
- All communication routes through the hub — the platform manages all inter-app messaging
- Contexts persist — shared context data survives publisher disconnection
- Channels are user-driven — the user controls which apps are linked
- Interop is targeted — you can invoke specific servers or broadcast to all
- Intents are decoupled — the raiser doesn't need to know the handler