Skip to content

finos/backplane

Repository files navigation

backplane npm nuget FINOS - Incubating codeql vulnerabilities check(js) vulnerabilities check(.net) ossf best practices floss license(js) license

backplane logo

Desktop Agent bridge aka 'Backplane' is a component which allows different desktop agents to connect and communicate through websockets.

Where FDC3 Desktop Agent API addresses interoperability between apps running within the context of a single Desktop Agent (DA), facilitating cross-application workflows, FDC3 Desktop Agent Backplane addresses the interconnection of Desktop Agents (DAs) such that apps running under different Desktop Agents can also interoperate, allowing workflows to span multiple Desktop Agents

Why Backplane?

Imagine a business workflow that involves applications which are not running under same desktop agent, how can we make applications interoperate across different desktop agents? This is where DA Backplane comes into picture.

The power and benefits of FDC3 based interoperability can be harnessed to full potential only if it is not just limited to boundaries of desktop agent but across desktop.

✔️ Workflows can be spanned to multiple desktop agents (DAs) on desktop.

✔️ Workflows can be spanned across multiple machines, provided they are operated by same user.

Quick Start

See the guide here: quick start.

Hello World!

See how multi machine interop set up is done: multi machine desktop agent(finsemble) bridging

Demo

Below is a short demonstration of how backplane is used to connect two desktop agents(finsemble), running on different machines, to share context among apps running in context of those desktop agents.

This demonstrate how backplane can help you harness the benefits of FDC3 based interoperability to next level where interop breaks the boundry of not just desktop agents but single desktop too to span workflows across multiple desktop agents and machines.

demo_gif

Usage example

See readme files.

Check the samples available under samples folder: samples

Backplane

A desktop service which act as a message bus between multiple desktop agents for sending/receiving FDC3 compliant data. See more here: backplane.

Client libraries provide API to connect and communicate with backplane.

Backplane client JS

Javascript client which allows web based desktop agents to connect and communicate with backplane.

See more here: backplane-client-js.

Backplane client .NET

For desktop agent build in .NET, this client library exposed API to connect and communicate with backplane.

see more here: backplane-client-net

Development setup

IDE

  1. Visual Studio 2022.
  2. VS code.

Build

Roadmap

  1. Provide/enhance developer documentation.
  2. Evolve the implementation to meet the emerging FDC3 specifications for Desktop Agent Bridging Draft.
  3. Deprecate interim DA to Bridge integrations as vendor support for standard enables direct bridge connections
  4. Provide examples for multi host discovery implementations in line with concrete use cases.
  5. Update system topology to include use of standalone Desktop Agent in line with emerging standard.

Contributing

For any questions, bugs or feature requests please open an issue

To submit a contribution:

  1. Fork it (https://github.com/finos/backplane/fork)
  2. Create your feature branch (git checkout -b feature/fooBar)
  3. Read our contribution guidelines and Community Code of Conduct
  4. Commit your changes (git commit -am 'Add some fooBar')
  5. Push to the branch (git push origin feature/fooBar)
  6. Create a new Pull Request

NOTE: Commits and pull requests to FINOS repositories will only be accepted from those contributors with an active, executed Individual Contributor License Agreement (ICLA) with FINOS OR who are covered under an existing and active Corporate Contribution License Agreement (CCLA) executed with FINOS. Commits from individuals not covered under an ICLA or CCLA will be flagged and blocked by the FINOS Clabot tool (or EasyCLA). Please note that some CCLAs require individuals/employees to be explicitly named on the CCLA.

Need an ICLA? Unsure if you are covered under an existing CCLA? Email help@finos.org

License

Copyright (C) 2022 Backplane open source project

Distributed under the Apache License, Version 2.0.

SPDX-License-Identifier: Apache-2.0.