The OpenFin Channels API permits communication between OpenFin applications via an asynchronous request-response messaging channel. Similar to the IAB, Channels permit communication between applications. However, Channels offer asynchronous methods for discovery, transfer of data, and lifecycle management. Asynchronicity allows the application to complete events outside of the main process flow permitting multiple actions at the same time. This helps to speed up the connection process between applications and eliminate manual tasking common with synchronous calls on the IAB.
With the Channels API, there is only one owner or “ChannelProvider” per channel, but multiple clients (“ChannelClients”) can connect to a channel. A request to connect to a channel as a client will return a promise that resolves if/when the channel has been created. Once the channel is established, both the provider and client can dispatch actions across the channel.
To learn more about the Channels API, visit our Channels API documentation.
The Channels API is recommended for developers who want to employ asynchronous calls into their workflow, employ two-way, secure communication between themselves and clients, or provide a service on OpenFin. By convention, OpenFin-developed services use the Channels API to provide an API to other applications running on the desktop. The service application (known as the service "Provider") creates a channel which clients can then connect to and send messages across. This is different from a regular IAB connection as a channel creates a pathway for both the provider and client to send and receive messages.
Updated about 1 year ago