Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Desktop Agent Bridging Discussion group - 9th March 2022 #611

Closed
7 of 9 tasks
kriswest opened this issue Mar 2, 2022 · 16 comments
Closed
7 of 9 tasks

Desktop Agent Bridging Discussion group - 9th March 2022 #611

kriswest opened this issue Mar 2, 2022 · 16 comments
Labels
Desktop Agent Bridging Desktop Agent Bridging Discussion Group help wanted Extra attention is needed indexed When a meeting attendance is being tracked meeting

Comments

@kriswest
Copy link
Contributor

kriswest commented Mar 2, 2022

Group overview

Discussion group for developing proposals for producing bridges between FDC3 implementations (aka Desktop Agents), allowing applications running on one Desktop Agent, to integrate with FDC3 applications running on a second Desktop Agent for the same user.

The interop between applications running on different Desktop Agents aka Platforms would ideally cover

  • Channels
  • Raising and resolving Intents
  • Launching Applications

Relevant issue tags

Meeting Date

Wednesday 9th Mar 2022 - 9am EST / 2pm GMT

WebEx info

More ways to join

  • Join by video system:
  • Join by phone
    • +1-415-655-0003 US Toll
    • +44-20319-88141 UK Toll
  • Access code: 2556 495 5451

Meeting notices

  • FINOS Project leads are responsible for observing the FINOS guidelines for running project meetings. Project maintainers can find additional resources in the FINOS Maintainers Cheatsheet.

  • All participants in FINOS project meetings are subject to the LF Antitrust Policy, the FINOS Community Code of Conduct and all other FINOS policies.

  • FINOS meetings involve participation by industry competitors, and it is the intention of FINOS and the Linux Foundation to conduct all of its activities in accordance with applicable antitrust and competition laws. It is therefore extremely important that attendees adhere to meeting agendas, and be aware of, and not participate in, any activities that are prohibited under applicable US state, federal or foreign antitrust and competition laws. Please contact legal@finos.org with any questions.

  • FINOS project meetings may be recorded for use solely by the FINOS team for administration purposes. In very limited instances, and with explicit approval, recordings may be made more widely available.

  • A Discussion Group has no direct decision-making power regarding the FDC3 standard - rather it is intended that anything they propose or work on will result in proposals (via Github issues and PRs) for the Standards Working Group participants to consider and vote on for inclusion in the standard. As such, participation in a Discussion group is not required for contributing to any particular issue or FDC 2.0 as a whole.

Agenda

Minutes

  • @kriswest Briefly recapped work we've done so far on requirements see list in discussion
  • Connection strategy/wire format:
    • Websocket preferred over, say, REST endpoints
      • Supports bidirectional communication (either client or server can initiate an exchange)
        • the same message format/protocol can be used in either direction, hence it doesn't matter which agent is the server/client
      • Requires definition of how to respond to a previous message (message guids + references to them in responses) - but permits multiple responses to a message - necessary for intent data responses
      • Can support SSL to secure connections (although this is not ideal when addressed via the loopback address)
      • Can support cross-machine use-cases if socket is bound to an IP address (although this may create some additional security challenges for the DA implementing the websocket server)
    • Authentication
      • Using SSL may not be ideal as DAs will be running on individual desktops, which would mean using DNS and SSL certs for localhost (not advisable) or DNS for each machine with a wild card certificate.
      • Exchanging a signed token (e.g. JWT, a signed response to an auth challenge etc.) is likely a better option
      • Poll to be raised to establish balance of opinion on the need for auth, and whether unidrectional or bi-directional
    • Topology
      • Websocket approach can support different topologies (peer-to-peer connections, a hub or repeater and multiple clients, hybrid schemes)
      • Cross-machine cases can be handled by multiple approaches:
        • A desktop agent that is cross-machine (e.g. NWM backplane) can bridge agents on multiple machines
        • Websocket exposed on a public IP address (rather than localhost) - SSL AND Authentication are more desirable in this case.
      • If multiple DA clients connect to DA acting as the websocket server, it has additional responsibilities:
        • It must act as a repeater, forwarding messages from one of the clients to the others (both outbound messages and replies)
        • ...
  • Intents
    • Resolver should be shown only on the DA raising the intent (originating DA)
      • Can be populated with possible targets from other agents by querying them with findIntent (as if an app had made that call)
      • Originating DA can return IntentResolution after its sent the intent and context across the bridge and received an acknowledgement from the target DA
        • Target DA may need to start an application and wait for an intent listener added before it can confirm delivery of the intent.
      • A further response from target DA will be required for returning results.
  • User Channels (System Channels)
    • The list is not defined by the standard - which will cause problems or bridged communication
      • A standard list of DisplayMetadata Objects could be added to the standard
        • Could/should be considered a breaking change and should be included in FDC3 2.0
        • @kriswest and @ggeorgievx indicated that their firms are willing to adopt a standard list
        • Natwest Markets and Citi participants stated that they would be very keen for this to happen as their apps are used in multiple different DAs in addition to using multiple DAs at the the same time that they wish to bridge
        • All firms implementing DAs to share their opinions on whether they are willing to adopt a standard list of User Channels (System Channels)
      • An alternative is to only require a standard list through DA bridging where a DA MUST map its own channel list to the standard set, and would have to translate channel names it as it sends and receives them over the bridge - but it'll make for a more confusing user experience (why does the red channel, land on Glue42 Channel 4 (which is, say, blue)
  • App Channels
    • Bridging doesn't need to do anything special when app channels are created or retrieved with fdc3.getOrCreateChannel simply passing all messages that are broadcast across the bridge annotated with the channel name is sufficient
      • A DA just needs to check whether anything has added a listener for the channel and to deliver the message
  • Volunteer(s) are needed to work on a Websocket protocol proposal

Action Items

  • @kriswest Create poll to establish how important the group thinks the following features/abilities are for Desktop Agents
    • Discovery
      • DA's are able to discover each other and self organise/connect
      • Connections between Desktop Agents should be configured manually
    • Authentication
      • Connections between Desktop Agents should be authenticated in at least one direction
      • Connections between Desktop Agents should be authenticated in both directions
      • Connections between Desktop Agents don't need to be authenticated
  • Firms implementing Desktop Agents to share their opinions on whether they are willing to adopt a standard list of User Channels (System Channels)
  • @kriswest to raise issue proposing standardization of channel metadata
  • Volunteer(s) are needed to work on a Websocket protocol proposal

Untracked attendees

Full name Affiliation GitHub username
@kriswest kriswest added help wanted Extra attention is needed meeting labels Mar 2, 2022
@kriswest kriswest changed the title Desktop Agent Bridging Discussion group - 9th March 2020 Desktop Agent Bridging Discussion group - 9th March 2022 Mar 2, 2022
@kriswest kriswest added the Desktop Agent Bridging Desktop Agent Bridging Discussion Group label Mar 2, 2022
@mattjamieson
Copy link
Contributor

👋

@Julia-Ritter
Copy link
Contributor

Julia / FINOS

@Soul-Master
Copy link

Sumit / LSEG

@tpina
Copy link
Contributor

tpina commented Mar 9, 2022

Tiago Pina / Cosaic

@WatsonCIQ
Copy link
Contributor

Chris Watson / Cosaic

@kriswest
Copy link
Contributor Author

kriswest commented Mar 9, 2022

Kris West / Cosaic

@bertrand-s
Copy link
Contributor

Bertrand / Symphony

@saurabhguptanwm
Copy link

Saurabh / NWM

@openfin-johans
Copy link
Contributor

Johan / OpenFin 🎁

@manishbhutani
Copy link

Manish / NWM

@chedzoir
Copy link

chedzoir commented Mar 9, 2022

Malcolm / citi

@Soul-Master
Copy link

Meeting link in description seem to be invalid.

@MichaelMCoates
Copy link

Michael Coates / OpenFin. Same issue as above ^

@Soul-Master
Copy link

Soul-Master commented Mar 9, 2022

@sarahaislinnstone
Copy link

Sarah Sone / Cosaic

@nicopreto
Copy link

Nico Pretorius / Scott Logic

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Desktop Agent Bridging Desktop Agent Bridging Discussion Group help wanted Extra attention is needed indexed When a meeting attendance is being tracked meeting
Projects
None yet
Development

No branches or pull requests