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 27th July 2022 #782

Closed
9 of 10 tasks
kriswest opened this issue Jul 27, 2022 · 12 comments
Closed
9 of 10 tasks

Desktop Agent Bridging Discussion group 27th July 2022 #782

kriswest opened this issue Jul 27, 2022 · 12 comments
Labels
help wanted Extra attention is needed indexed When a meeting attendance is being tracked meeting

Comments

@kriswest
Copy link
Contributor

kriswest commented Jul 27, 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 27July 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. As such, participation in a Discussion group is not required for contributing to any particular issue or FDC 2.0 as a whole.

Agenda

  • Convene & roll call, review meeting notices (5mins)
  • Review action items from previous meeting (5mins)
  • Review updates to the proposal (40 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
        • Connection protocol updated
          • Added initial connection step to connection protocol diagram
          • Renumbered connection protocol steps to better map to diagram
          • Improvements to connection protocol steps titles
          • Added optional auth token to hello message from bridge to DA (allows 2-way authentication)
          • Added description of atomicity requirements for handling of handshake and connectedAgentsUpdate messages by both DAB and DAs
          • Channel State Synchronization
            • Added details necessary to avoid race conditions (e.g. if a DA is connecting and another is broadcasting context concurrently)
          • Recommended port range for bridge - (4470 - 4480)
        • Interaction/Messaging protocol
          • Added WIP draft
          • Added section on GUID generation (with reference to external standard) used in requestGuid and responseGuid fields in messages.
          • Added missing field comments for message formats
          • Handling of slow responding DAs?
            • Recommended timeout of 1500ms/3000ms
      • Open questions / TODO list
        • Add details of how to handle:
          • workflows broken by disconnection
          • An agent that is repeatedly timing out should be disconnected?
        • Advise on whether other agents report to users on connect/disconnect events?
        • Add new terms and acronyms to FDC3 glossary and ensure they are defined in this spec's introduction
        • Add RFC 4122 - https://datatracker.ietf.org/doc/html/rfc4122 to FDC3 references page
  • Discuss next steps (5mins)
  • AOB & Adjourn (5mins)

Minutes

  • @kriswest
    • We are not quite ready to discuss the workflows broken by disconnection - that may be a good topic for our next discussion.
    • The next 4 to 8 weeks are critical to get DAB into FDC3 2.1 Draft
    • Summarized latest changes to draft proposal:
      • Highlighted bridge responsibility on filling/assigning the Desktop Name to prevent spoofing
      • Highlighted the importance of steps 3 - 6 and ensuring that they happen atomically
      • No initial questions about current changes nor additional items to add to the agenda
      • Proposal should 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
        • Keep it similar to the one generated by DAs to send back to DAB in handshake
    • @Aaron-Haines - We'll need to review offline - a lot to take in
  • @kriswest
    • Highlighted the importance of other participants (DA vendors and potential Bridge providers) needing to validate the current proposal, particularly the approach to steps3-6 in the connection protocol
    • Generic message format:
      • type: string identifier for message type
      • meta: portion that relates to source, destination and handling by the by the bridge
      • payload: portion that relates to data that needs to be processed by Desktop Agents (either request or response content)
    • Response messages
      • ...should be collated by the bridge (after all responses received or timeout hit) and payloads merged for transmission to requestor
      • Questioned whether we actually need a destination field on responses as the bridge must track requests (to apply timeouts).
        • We could instead use only the requestGuid
        • Requested feedback from participants that have built bridging solutions
          • @Vivek-NatWest - NWM uses requestGuid but recognizes that having the destination would be more readable for debug and troubleshooting purposes
        • Noted that the source field for a reply/response can present an issue for responses that come directly from a Desktop Agent (e.g. data for findIntent.
        • AppIdentifier might have to be adjusted so that appId is optional or some other way to identify a Desktop Agent. (e.g use-case for fdc3.findIntent response)
          • Modifying AppIdentifier this way will be problematic for the rest of the API, hence, better to create a new type (DesktopAgentIdentifier, which is just { "desktopAgent": string} and make source a union of AppIdentifier and DesktopAgentIdentifier )
  • @kriswest - Any questions or comments on what was presented?
    • All - No questions for now
    • Highlighted once again the importance of feedback, review and suggestions on the current proposal from all participants as a collective action point

Action Items

  • @kris add to meeting agenda for 24th August:
    • workflows broken by disconnection
    • response collation example
  • @tpina @kriswest Update proposal:
    • 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
    • Update generic message format such that meta.source may be an AppIdentifier or DesktopAgentIdentifier ( { "desktopAgent": string})
    • Add notes on destination field vs. requestGuid. Recommend use of requestGuid but include destination for debugging purposes
      • removed destination field on responses - was much simpler
    • Add a response collation example to generic messaging protocol
      • added psuedo-code to define procedure
  • All: provide feedback on generic parts of proposal (connection and messaging) as we are about to move to specific workflows...

Untracked attendees

Full name Affiliation GitHub username
@kriswest kriswest added help wanted Extra attention is needed meeting labels Jul 27, 2022
@Julia-Ritter
Copy link
Contributor

Julia / FINOS

@tpina
Copy link
Contributor

tpina commented Jul 27, 2022

Tiago Pina / Cosaic

@robmoffat
Copy link
Member

Rob / FINOS

@mistryvinay
Copy link
Contributor

Vinay / Symphony

@Vivek-NatWest
Copy link

Vivek/Natwest

@timjenkel
Copy link

Tim / Wellington

@kriswest
Copy link
Contributor Author

Kris / Cosaic

@ggeorgievx
Copy link
Member

Georgi / Tick42

@sarahaislinnstone
Copy link

Sarah / Cosaic

@Aaron-Haines
Copy link

Aaron / NatWest

@Julia-Ritter
Copy link
Contributor

Untracked attendees:

  • kostya / LSEG
  • Yvonne Leung / State Street

@kriswest
Copy link
Contributor Author

kriswest commented Aug 1, 2022

Minutes for last week's meeting have now been posted in the meeting issue

@github-actions github-actions bot added the indexed When a meeting attendance is being tracked label Aug 30, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
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