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 #523

Closed
7 of 10 tasks
kriswest opened this issue Dec 6, 2021 · 18 comments
Closed
7 of 10 tasks

Desktop Agent Bridging Discussion group #523

kriswest opened this issue Dec 6, 2021 · 18 comments
Labels
Desktop Agent Bridging Desktop Agent Bridging Discussion Group help wanted Extra attention is needed meeting

Comments

@kriswest
Copy link
Contributor

kriswest commented Dec 6, 2021

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

Current open issues that relate to the above concepts with the label:
image

Meeting Date

Wednesday 8th December 2021 - 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: 2553 223 3803

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)
  • Group goals, deliverables and description of process (5mins)
  • Introductions from attendees, to include a description of known use-cases (10mins)
  • Presentation of proposals from Citi and Natwest Markets + Q&A (30mins)
  • Arrange Future meetings (5mins)
  • AOB & Adjourn (5mins)

Minutes

  • Introductions
    • Aaron Haines: Product manager @ NWM overseeing projects that work with FDC3 implemented in multiple containers/Desktop Agents and non-container legacy apps.
    • Manish: Developer @ NWM working on the Backplane (NWM desktop agent bridge) and FDC3 use in aps.
    • Georgi Georgiev @ Glue42: FDC3 maintainer, keen to explore bridging opportunities in support of clients.
    • Hugh @ Factset: Software engineer working on FDC3 integrations and expanding usage in platform agnostic way.
    • Jane Gavronsky @ FINOS (CTO): Spends a lot of time talking to firms about their needs and technology solutions @ FINOS that can help solve for them.
    • Mike McClung @ Cosaic: Works on FDC3 support @ Cosiac and keen to understand client use-cases.
    • Qiana Chen @ Citi: Working on adoption of the FDC3 standard at Citi.
    • Randall Dang @ Citi: Development manager responsible for FDC3 community and app directory at Citi.
    • Sarah Stone @ Cosaic: Product manager for Finsemble at Cosaic
    • Saurabh Gupta @ NWM: Engineering lead for desktop engineering platform, where FDC3 is an important part of automating workflows through app interop.
    • Late joiners:
      • Benjamin McBride @ Wellington
      • Michael & Pierre @ OpenFin
      • Andrew Hampshire @ UBS
  • Use-cases / situations:
    • Natwest markets
      • We have users working in applications across both multiple PCs, multiplier containers (Finsemble, OpenFin), non-container legacy C# applications and Symphony applications
      • Our direction of travel is towards a web-technologies - but our journey to get there will be long hence we need to support all these application types
    • Citi
      • Similar situation: Finsemble, OpenFin and Symphony applications + some apps running in a web browser that need to share context.
  • Citi Proposal for bridging (images reproduced with permission)
    image
    • Connection between agents is largely via connecting to their app directories, with knowledge of the fact that an a particular appD relates to a particular other agent.
      • Current relationship between AppD and Desktop agent is under discussion
      • Can't provide detail of app instances where Desktop Agent API can.
    • Citi has an extensive app directory and an Intents and Context data repository that's integrated into that AppD
    • Used in multiple containers
      image
    • Uses a set of adapters to connect other environments (often non-desktop agent based) into a their Finsemble based desktop
      • disadvantages:
      • need to implement an adapter for each new container/environment
      • depends on one of the desktop agents always being running (centralised)
      • requires knowledge of what channels and intents to listen to - non-system channels are not discoverable, many intent listeners to add
    • Proposal for a better bridging solution:
      image
      • Extend the FDC3 Desktop Agent API to support direct connections between implementations
        • Each connects to all of the others
        • Uses a new getOrEstablishConnection function
          image
          image
          image
          image
          image
          image
      • Summary: A Desktop Agent connects to another, both end up with a connection object, they add a handler to it to receive messages, they can call sendMessage to send on to the other agent.
      • Some revisions to existing FDC3 API calls suggested:
        image
        • add a target agent - suggested that this actually goes under AppMetadata
    • Problems to resolve
      • System channels differ between Desktop Agents
      • Need to add a handler to notify a desktop agent that a connection was received so it can also receive the Connection object, without this the receiveMessage handler won't get added unless/until the remote container connects back.
        • We may or may not also need to add an additional event or status field indicating connection is ready (i.e. the receiveMessage handler has been added by the remote Desktop Agent)
      • Need to define Resolution, response from sendMessage, needs to support a variety of different response types so that these can be routed back to the caller (e.g. raiseIntent that ends up on a remote container needs to route an IntentResolution and possibly also subsequent result back to the container that raised it).
      • Need to figure out discovery of desktop agents and/or however connections between them would be configured.
  • Although the Natwest and Citi proposals are based on different topologies (container <-> backplane <-> container vs. container <-> container) the needs of the connection interfaces are similar and could be supported by a similar API.

Action Items

  • (all interested parties) Document high-level use-cases for connecting containers on issue: Support the production of Desktop Agent Bridging #453
  • (all interested parties) Document detailed use-cases and workflow description (what it looks like to the user) for cross-container functionality on specific API calls
    • e.g.
      • raiseIntent targeting an app instance on another container,
      • findIntent returning app details from multiple containers
      • broadcast on a system channel being delivered across multiple containers
      • broadcast on a user channel being delivered across multiple containers
      • joining a channel created on another container.
  • @kriswest Propose some slots for a next meeting in January (same day of week/time) and post a survey
  • @kriswest Next meeting agenda
    • Discuss documentation of detailed use-cases (how should this look to the user)
    • Discuss API proposals
    • Discuss security / where API should be implemented

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 Dec 6, 2021
@ggeorgievx
Copy link
Member

Present ✅

@Julia-Ritter
Copy link
Contributor

Julia / FINOS

@kriswest
Copy link
Contributor Author

kriswest commented Dec 8, 2021

Kris West / Cosaic

@jgavronsky
Copy link

Jane @ FINOS here

@hughtroeger
Copy link
Contributor

Hugh / FactSet

@agitana
Copy link
Member

agitana commented Dec 8, 2021

Aitana Myohl / FINOS

@RandallDang-Citi
Copy link

Randall / Citi

@pbaize
Copy link

pbaize commented Dec 8, 2021

Pierre / OpenFin

@MichaelMCoates
Copy link

Michael Coates / OpenFin

@sarahaislinnstone
Copy link

Sarah Stone / Cosaic

@Qiana-Citi
Copy link

Qiana / Citi

@kriswest
Copy link
Contributor Author

kriswest commented Dec 8, 2021

Options for a next meeting of the group:

  • 🎉 Wednesday 5th Jan 2pm GMT / 9am EST
  • ❤️ Wednesday 12th Jan 2pm GMT / 9am EST
  • 🚀 Wednesday 19th Jan 2pm GMT / 9am EST
  • 👎 Need a different option!

(click the emoji for those that work for you)

Vote closed 14th Dec:
Selected: Wednesday 12th Jan 2pm GMT / 9am EST

@Julia-Ritter
Copy link
Contributor

Julia-Ritter commented Dec 8, 2021

Untracked attendees:

  • Manish Bhutani / NWM
  • Mike McClung / Citi
  • Saurabh Gupta / NWM
  • Benjamin McBride / Wellington
  • Andrew Hampshire / UBS

@manishbhutani
Copy link

Manish / NWM

@RandallDang-Citi
Copy link

RandallDang-Citi commented Dec 9, 2021 via email

@RandallDang-Citi
Copy link

RandallDang-Citi commented Dec 9, 2021 via email

@kriswest
Copy link
Contributor Author

@Julia-Ritter could you book the next meeting in for Wednesday 12th Jan 2pm GMT / 9am EST, please?

@Julia-Ritter
Copy link
Contributor

Hello everyone,

The new FDC3: Desktop Agent Bridging Discussion Group meeting has been scheduled for Wednesday 12th Jan 2pm GMT / 9am EST and a meeting invite has been sent out. Please let me know if you did not receive the calendar invite and need to be added.

Thank you for sharing your meeting preferences- and we look forward to speaking then in January,
Julia

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 meeting
Projects
None yet
Development

No branches or pull requests