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 24th August 2022 #798

Closed
7 of 9 tasks
kriswest opened this issue Aug 23, 2022 · 11 comments
Closed
7 of 9 tasks

Desktop Agent Bridging Discussion group 24th August 2022 #798

kriswest opened this issue Aug 23, 2022 · 11 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 Aug 23, 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 24 Aug 2022 - 9am EST / 2pm BST

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: 2558 920 8729

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.

Agenda

  • Convene & roll call, review meeting notices (5mins)
  • Review action items from the previous meeting (5mins)
  • Review updates to the proposal (35 mins)
    • Current proposal [WIP] 544 desktop agent bridging proposal #634
      • Preview: https://github.com/finos/FDC3/blob/544-Desktop-Agent-Bridging-Proposal/docs/api-bridging/spec.md
      • Changes:
        • Fixed typos found during last meeting.
        • Clarified use of DesktopAgent identity fields and update meta.source to be of AppIdentifier OR DesktopAgentIdentifier type.
        • Added new DesktopAgentIdentifier type (for use on response messages that don't originate from an app, e.g., findIntent responses).
        • Removed meta.destination from responses messages. Response collation and routing should be performed using requestGuid only.
        • Completed set of payload fields used on request and response messages.
          • with the exception of handling for PrivateChannel events
        • Procedure for forwarding of Messages and collation of responses
        • Broke down the previously specified bridge timeout range to be 1500ms on the bridge side and added Desktop Agent timeout (waiting for bridge responses) to be 3000ms
          • Added recommendation on Desktop Agent timeout handling behaviour when bridge stops responding
          • Added behaviour for an agent that is repeatedly timing out - Bridge should disconnect agent
        • Added details of workflows broken by disconnection and agent and bridge behaviours
          • Proposed new errors to add to Error enumerations
        • Added recommendation of a minimum wait period of 5 seconds on reconnection attempts
        • Added a list of FDC3 API calls that do NOT generate bridge messages.
  • Discussion of open issues (10 mins)
    • Advise on whether other agents report to users on connect/disconnect events? (SHOULD)
    • Next steps
      • Expand on how the DAB should create the JWT token (and its claims, which must change to avoid replay attacks) which it sends out in the hello message for DAs to validate.
      • Handling for PrivateChannel events
      • Complete detail on individual message exchanges
  • AOB & Adjourn (5mins)

Minutes

  • A participant inquired whether the scope of the Desktop Agent Bridging protocol is limited to only containerized runtimes or also contemplates monolithic (perhaps legacy) applications.

    • @kriswest The proposal as written, focuses on how Desktop Agents interact with a bridge. Desktop Agents are usually containerized runtimes, however, there is no technical reason that a monolith application can't acts as or implement a Desktop Agent and connect to the bridge as one.
      • The FDC3 standard currently relies on TypeScript definitions to define the APIs and doesn't include defined interfaces for Java/.NET (which the aforementioned monolithic applications are likely to be implemented in), but is definitely intended to be implemented in those languages as well (there are a number of commercial examples already). All FDC3 types and APIs are in TypeScript and the FDC3 SWG could or should consider creating standard interface definitions for those languages to avoid deviations on standard implementations.
  • A run-through of the recent proposal additions was provided as per the agenda

    • @kriswest asked the group for input on timeouts, given participants' experience in either existing bridging implementations and/or the implementation of apps that handle high-load during market events.
      • @Vivek-NatWest The main issues encountered are usually network failures that happen during cross-machine communications (e.g. machine is failing to respond, usually during findIntent and raiseIntent scenarios). They usually are taken out of the cluster.
      • No other major observations. Current timeout seem to be a sensible starting point
      • Suggested adding a recommendation on timeouts being configurable in both the bridge and Desktop Agents, but conceded that configuration of multiple products in tandem can sometimes be awkward.
    • @kriswest Asked the group whether the standard should recommend that users see agent connected/disconnected events on their screen.
      • The bridge can send these events but it would have to be the Desktop Agent implementations to come up with an alerting mechanism.
      • Without an alerting mechanism, bug reports from users will be more difficult to diagnose (if they know that desktop agent disconnected from desktop agent B they will be able to intuit why an app hosted by B is not responding to channel broadcasts or intents from A - without that feedback the issue may be assumed to be with one or other of the applications or desktop agents, rather than the bridge connection between them)
      • @robmoffat observed that, at present, there is no FDC3 way to notify users (notifications)
      • @kriswest Any objections to adding such a recommendation on UX
        • All - No objections
  • @kriswest and @tpina both highlighted the importance of the community's feedback at this stage of the proposal development and requested that participants ensure that they plan time to review and feedback on the proposal (including a simple approval if no changes are needed) over the next quarter.

  • @kriswest Also asked whether there are other conversations or questions we need to address? (other than those outlined in the agenda/proposal as open questions

    • All - None at the moment
  • All - No remarks or objections to the changes (new types, types updates, default request and response messages, forwarding of messages and collating of responses, timeouts and workflows broken by disconnection).

Action Items

  • @tpina @kriswest Address typos in proposal found during meeting
  • @tpina @kriswest Add recommendation on visual feedback to users on Agent Connect/Disconnect from bridge
  • @tpina @kriswest Continue development of proposal, particularly individual message exchanges.
  • All Review proposal and provide any further feedback necessary.

Untracked attendees

Full name Affiliation GitHub username
@kriswest kriswest added help wanted Extra attention is needed meeting Desktop Agent Bridging Desktop Agent Bridging Discussion Group labels Aug 23, 2022
@mistryvinay
Copy link
Contributor

Vinay Mistry / Symphony

@robmoffat
Copy link
Member

Rob / FINOS

@openfin-johans
Copy link
Contributor

Johan / OpenFin

@kriswest
Copy link
Contributor Author

Kris West / Cosaic

@MichaelMCoates
Copy link

Michael Coates / OpenFin

@timjenkel
Copy link

Tim / Wellington

@tpina
Copy link
Contributor

tpina commented Aug 24, 2022

Tiago Pina / Cosaic

@Vivek-NatWest
Copy link

Vivek/Natwest

@mattjamieson
Copy link
Contributor

👋

@hughtroeger
Copy link
Contributor

Hugh Troeger / FactSet

@kriswest
Copy link
Contributor Author

Meeting minutes have been posted above

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

10 participants