Welcome to OpenFin Docs

Explore our guides, resources and references for building with OpenFin

Get Started

Interoperability overview

Overview

OpenFin includes a fast, secure desktop messaging system that supports a number of different interoperability strategies, including pub/sub and topic-based messaging, direct connections between applications, and one-to-many connections. This form of messaging supports application to application messaging directly on the desktop.

This layer of messaging enables a conduit for

  • Sharing context between apps
  • Exposing your own client-side API
  • Fanning out low-latency data (e.g. real-time pricing)
  • Move large data across process boundaries (e.g. video)


Use Case Recommendations


Share Context between content in same renderer process

App A shares context between Windows / Views in the same origin


Share Context between content across renderer processes or native applications (e.g. Java, .NET)

App A shares context between App B or Windows / Views in a different origin


Send data from one app to another app across renderer processes

App A shares data to App B on a different renderer process


Expose your own client-side API

App A exposes a bespoke API that other apps on the desktop consume & interact with


Fanning out low-latency data (e.g. real-time pricing) in the same origin

Data cache receives data from server and multiple UIs update based on data cache in same origin

  • Web Standards - Object Reference, Broadcast Channel API
    Note: Same origin, different renderer = no Object Reference

Fanning out low-latency data (e.g. real-time pricing) in a different origin.

Data cache receives data from server and multiple UIs update based on data cache in different origins.

  • Channels API
    Note: Conflate data where possible in a webworker and have UI’s pull updates on UI refresh frequency via bespoke API (exposed via Channels API)

Move large data across process boundaries (video)

App A shares large data set to App B, Window or View across origin


When not to use

  • Straight through processing
  • When sending data from point A to point B is mission critical (e.g. guaranteed delivery ... you should be using a server-based approach)
  • Tick-level Market Data

Updated 25 days ago


Interoperability overview


Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.