Data Sharing Between Applications
io.Connect provides four specialized APIs for inter-application communication, each optimized for different data flow patterns. All mechanisms work identically across Browser and Desktop environments, and support web, .NET, Java, and COM applications.
Overview
Every data sharing mechanism in io.Connect routes through the platform's managed messaging infrastructure. This ensures governance, cross-technology reach, and real-time performance regardless of which communication pattern you choose.
Comparison
| Mechanism | Model | Persistence | Control | FDC3 Equivalent |
|---|---|---|---|---|
| Shared Contexts | Stateful Broadcast | Yes — survives publisher disconnect | Programmatic | App Channels |
| Channels | User-driven Broadcast | Yes — per channel | End User (via Channel Selector) | User Channels |
| Interop Methods | Request / Response (RPC) | No — stateless | Programmatic | — |
| Interop Streams | Pub / Sub | No — active connection required | Programmatic | — |
| Intents | Action-based (verb + context) | No — fire and handle | User or Programmatic | FDC3 Intents |
When to Use Each
Shared Contexts
Use Shared Contexts when multiple applications need to stay in sync with the same piece of state. For example, when a user selects a client in a list app and a portfolio app, order ticket, and activity log should all update automatically. The data persists in the platform even if the publishing app disconnects.
Channels
Use Channels when the user should control which applications are linked. Channels provide color-coded grouping (Red, Green, Blue, etc.) via a built-in Channel Selector UI. Traders commonly use Channels to link a chart and blotter to the same instrument while keeping other windows independent.
Interop Methods
Use Methods for point-to-point, request/response communication. A caller invokes a named method on a remote app and receives a result — ideal for querying data on demand, triggering actions, or building service-oriented architectures.
Interop Streams
Use Streams for real-time data feeds where a publisher pushes updates to multiple subscribers. Streams support branching — a single stream can serve different data subsets to different subscribers (e.g., different instrument prices per subscriber).
Intents
Use Intents for late-binding workflow orchestration where the caller specifies what action to perform (e.g., ViewChart) without needing to know which application will handle it. If multiple handlers are registered, the Intent Resolver UI lets the user choose.
Explore Each Mechanism
Shared Contexts
Named global state objects for cross-app synchronization. Data persists even after the publisher disconnects.
Channels
Color-coded contexts with Channel Selector UI. Users choose which apps to link.
Interop Methods & Streams
RPC-style request/response and real-time streaming between applications.
Intents
Late-binding workflows using the "verb-noun" paradigm with Intent Resolver UI.