Interop API

OpenFin’s Interop API is the next generation of OpenFin’s interoperability capabilities across the financial desktop.

The Interop API consists of two primary components; the interopBroker and the interopClient. These components comprise a hub and spoke model for sharing context and handling intents. The Broker is responsible for keeping track of the Interop state and directing messages to their proper locations. The Client is responsible for sending and receiving these messages between applications and views.

The Interop API is compatible with FDC3 by way of OpenFin's FDC3 support and allows you to use and comingle Interop API workflows and applications with multiple versions of FDC3 workflows and applications.

The Interop API is ideal for managing Context Groups and context workflows in a Platform.

Broker

The Interop Broker is the control center for the Interop API and requires no initialization. It available be default and sits alongside the Platform Provider, on a per Platform level (running inside the same renderer process. The Interop Broker is responsible for directing messages to the proper locations and keeping track of state for:

  • Context
  • Context Groups
  • Applications / Views interested in defined context

The Interop Broker’s state is serializable, which empowers applications providers the ability to save & restore state, along with the ability to share any and all of the Interop state for a Platform.

Broker usage

{
     "runtime": {
         "version": "19.89.59.24"
     },
     "platform": {
         "uuid": "platform_customization_local",
         "applicationIcon": "https://YOURSERVER/favicon.ico",
         "autoShow": false,
         "providerUrl": "http://YOURSERVER/provider.html",
         "interopBrokerConfiguration": {
             "contextGroups": [
                 {
                     "id": "green",
                     "displayMetadata": {
                         "color": "#00CC88",
                         "name": "green"
                     }
                 },
                 {
                     "id": "purple",
                     "displayMetadata": {
                         "color": "#8C61FF",
                         "name": "purple"
                     }
                 },
             ]
         }
     }
}

Client

The Interop Client is responsible for sending and receiving messages to the interopBroker and ability to set contexts for Context Groups.
It is comprised of 2 sections:

  • Content Facing APIs - APIs that send out and receive the context data that flows between applications.
    • addContextHandler(handler, contextType?)
    • setContext(context)
  • Context Grouping APIs - APIs that determine which entities the context data flows between.
    • getContextGroups()
    • joinContextGroup(contextGroupId, target?)
    • removeFromContextGroup(target?)
    • setContext(context)
    • getInfoForContextGroup(contextGroupId)
    • getAllClientsInContextGroup(contextGroupId)

Client usage

See the API reference for Class InteropClient.


Related topics