finos / FDC3

An open standard for the financial desktop.
https://fdc3.finos.org
Other
198 stars 118 forks source link

Proposal to add .NET interfaces and context declarations #931

Closed bingenito closed 6 months ago

bingenito commented 1 year ago

Enhancement Request

Use Case:

There is the need for .NET nuget packages for those that would like to implement FDC3 desktop agents or leverage other FDC3 capabilities in .NET applications.

For example:

An organization has a proprietary .NET desktop application and would like to use FDC3 API instead of proprietary or other mechanisms to communicate between .NET components.

An organization has a proprietary .NET desktop container that hosts .NET and web based content via hosted browser (e.g. cefsharp/webview2). There is a need to serialize/deserialize contexts between .NET and JavaScript when support exists for brokering messages between the two platforms.

Consolidate .NET definitions to a single shared library for consistency with other .NET based FDC3 projects such as backplane.

Additional Information

Morgan Stanley has published an alpha FDC3 v2 implementation that is ready for comment at https://github.com/morganstanley/fdc3-dotnet that can be contributed to FDC3. This currently consists of two projects -

keithbloom commented 1 year ago

Hi. This is library is exactly what we are looking for at Citi.

@kriswest and @bingenito can you let me know how I can help get these nuget packages part of FDC3?

kriswest commented 1 year ago

HI @keithbloom and @bingenito we've had getting these native signatures into FDC3 on the todo list and SWG meetings for some time. We've agreed that it would make sense to move them into a separate github repo, but under the same governance/maintainers as FDC3 (i.e. not a separate project) and then add documentation for them to the FDC3 website. Where we've got stuck is finding or recruiting maintainers to take that on (and I keep forgetting to ask Brian along to the SWG meetings to talk about it) - we can certainly provide help and support to anyone willing to join the maintainers team to take that on. The same applies to the Java signatures that Wellington came up with and that we've been @timjenkel about.

From there it's a case of encouraging vendors to implement these signatures - my firm already adapted ours to be closer to these, but we may have more to do...

Presumably, you'd still depend on a vendor library and it would depend on a library for the standard signatures? I'm only an amateur .Net developer so here's where we need an expert maintainer to step in ;-) After the software is dealt with, adding the docs to the FDC3 site would be a days work (some instructions in the support platforms page + .net signatures added to the API reference pages with multilanguage code blocks.

bingenito commented 1 year ago

@keithbloom while we work out logistics of any repository transfer, rename, and/or documentation synchronization, can you give the currently published pre-release nugets a try to be able to provide feedback and steering?

https://github.com/morganstanley/fdc3-dotnet

MorganStanley.Fdc3 - .NET Standard 2.0 declarations to implement concrete FDC3 compatible .NET desktop agents and usage of intents/contexts.

MorganStanley.Fdc3.NewtonsoftJson - .NET Standard 2.0 FDC3 JSON helpers based on Newtonsoft.Json for use with MorganStanley.Fdc3.

MorganStanley.Fdc3.AppDirectory - .NET Standard 2.0 declarations to implement FDC3 AppDirectory.

We are currently working on another package of serialization helpers for System.Text.Json if you don't want to use Newtonsoft.

bingenito commented 6 months ago

This is available at https://github.com/finos/fdc3-dotnet