OpenFin

What is FDC3?

FDC3 stands for the Financial Desktop Connectivity and Collaboration Consortium, and is an industry standard enabling desktop application interoperability. FDC3 aims to lower developer costs and transform user workflows.

FDC3 was established by OpenFin in 2017 and contributed to the Fintech Open Source Foundation (FinOS) in May 2018 to accelerate industry-wide adoption. FDC3 envisions a world driven by small apps with targeted features that can automatically share context and indicate intent to one another. The ultimate goal of the FDC3 project is to enable a user experience on the financial desktop on par with what we enjoy on mobile devices.

When to use FDC3

FDC3 is all about (re)usability and low-touch integration. Applications that are FDC3-enabled can take part in a workflow on the desktop without any coding or manual integration. This allows replacement of one application with another application serving the same functions to the desktop (in FDC3 terms - supporting the same Intents and Context). In this sense, FDC3 is advantageous for every application. However, it's useful for applications that need to connect to an application that is already using FDC3 or applications that may need to interoperate with other applications in the future.

Key Resources

Working Groups

FDC3 currently has 4 active working groups. These typically meet every 2 weeks. Each working group has an area on the FINOS Wiki site where meeting information and other resources are posted as well as a mailing list.

API

The role of FDC3 API standards is to establish a baseline interface for interoperability between applications and support a consistent developer interface for working with FDC3.

View more information here about the FDC3 API working group or join the fdc3-api@finos.org Google group.

App Directory

The FDC3 App Directory provides a trusted identity for financial desktop apps and enables service discovery - allowing multiple directories to federate through standard interfaces.

View more information here about the FDC3 API working group or join the [email protected] Google group.

Context Data & Intents

The combined Context Data & Intents working group defines a standard set of nouns and verbs that can be used to put together common cross-application workflows on the financial desktop.

View more information here about the FDC3 API working group or join to the [email protected] Google group.

Use Cases

The Use Cases group works to ensure that the FDC3 standards satisfy a set of foundational requirements defined and validated by the working group participants.

View more information here about the FDC3 API working group or join the [email protected] Google group.

General Business

There is a quarterly FDC3 meeting across all participants. There is a general FDC3 mailing list: [email protected]

Contributions

There are a number of ways you can get involved with and contribute to the FDC3 project. These include:

  • Joining and participating in working groups
  • Participation via mailing lists
  • Contributions through Github
  • Issues
    • Pull requests
    • Attendance and participation at FDC3/FINOS events

Hadouken

OpenFin has also contributed the Hadouken Program into FINOS. This houses all of the open source code projects that make up the OpenFin OS. The FDC3 service project is a critical part of that. It provides rich FDC3 interop functionality that is available to any app on the desktop connected to the OpenFin bus. Like all Hadouken projects, the FDC3 service is open source with governance backed by some of the largest firms in the financial industry.

Using FDC3 in OpenFin

The FDC3 Service

FDC3 functionality is provided as an OpenFin Desktop Service. These are singleton processes that provide functionality to all applications running on an OpenFin enabled desktop. You can read more about OpenFin Desktop Services here.

Getting Started

Using the FDC3 service is simple.

  1. First, require it in your app manifest:
    "services":[
        {"name":"layouts"},
        {"name":"fdc3"}
    ]

This will ensure that the Desktop Service gets started as a dependency of your app.

  1. Next, include the Client API. The Client API is available as an npm module here.
//import the client module
import * as fdc3 from "openfin-fdc3"

You can also use a script directly from the OpenFin CDN:

<script src="https://cdn.openfin.co/services/openfin/fdc3/0.1.0/openfin-fdc3.js">
</script>

The script will declare an fdc3 global containing the API.

  1. Finally, use the API.
//add a context listener
fdc3.addContextListener(function(ctx){ 
    doSomething(ctx);
});

fdc3.broadcast(ctx);

API

The current API docs can be found here.

The FDC3 service supports all standard FDC3 1.0 APIs. It also adds some additional functionality to support contextual linking (color channel) workflows with the ContextChannels API. OpenFin is currently working with the FDC3 API working group to standardize these APIs and we are committed to complying with the standards as they solidify.

Updated 6 months ago


FDC3


Suggested Edits are limited on API Reference Pages

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