v1.0
版本发布时间: 2019-03-28 07:50:53
finos/FDC3最新发布版本:v2.1(2023-09-14 22:09:37)
First official release of FDC3 at https://fdc3.finos.org, consisting of:
- API Specification 1.0
- Intents Specification 1.0
- Context Data Specification 1.0
- App Directory Specification 1.0
- Use Cases 1.0
Release highlights
Founded on real-world business use cases
The FDC3 Use Case Working Group, bringing together domain experts from across the financial industry, has defined 15 real-world business use cases to help inform and drive the formation of the FDC3 standard.
Standardised API operations
The API specification 1.0 defines a set of standard API operations for all participating applications, encapsulated by the DesktopAgent
interface:
interface DesktopAgent {
open(name: string, context?: Context): Promise<void>;
broadcast(context: Context): void;
findIntent(intent: string, context?: Context): Promise<AppIntent>;
findIntentsByContext(context: Context): Promise<Array<AppIntent>>;
raiseIntent(intent: string, context: Context, target?: string): Promise<IntentResolution>;
addContextListener(handler: ContextHandler): Listener;
addIntentListener(intent: string, handler: ContextHandler): Listener;
}
Here, Context
signifies data matching the [Context Data Specification], and intent
signifies the name of a standardised or custom intent.
Standardised Intents
The Intents Specification 1.0 defines intents as predefined nouns or verbs that can be used to stitch together cross-application workflows on the financial desktop.
It also standardises an initial set of global well-known intents:
-
StartCall
-
StartChat
-
ViewChart
-
ViewContact
-
ViewQuote
-
ViewNews
-
ViewInstrument
-
ViewAnalysis
Standardised Context Data envelope
The Context Data Specification 1.0 defines that any data exchanged as part of interoperability workflows are only required to have a unique type
property, used for identification and routing. Any names, identifiers or extra properties are optional.
This is represented by the Context
interface as follows:
interface Context {
type: string;
name?: string;
id?: {
[x:string]: string;
},
[x: string]: any;
}
Standardised App Directory schema (OpenAPI 3.0)
The App Directory Specification 1.0 standardises a REST-based OpenAPI 3.0 schema for defining and referencing applications.
This includes the ability to create, address by id and list all applications defined according to the following representation:
{
"appId": "string",
"name": "string",
"manifest": "string",
"manifestType": "string",
"version": "string",
"title": "string",
"tooltip": "string",
"description": "string",
"images": [
{
"url": "string"
}
],
"contactEmail": "string",
"supportEmail": "string",
"publisher": "string",
"icons": [
{
"icon": "string"
}
],
"customConfig": [
{
"name": "string",
"value": "string"
}
],
"intents": [
{
"name": "string",
"displayName": "string",
"contexts": [
"string"
],
"customConfig": {}
}
]
}
The intents
section links the API, Intents and Context Data specifications together, by defining a way for an application to declare the intents and context data types it supports, which is key to interoperability workflows in FDC3 1.0.
🚀 New Features
- Documentation website (generated with Docusaurus) and content from old separate FDC3 repos (#5)
- FDC3 feature icons on website landing page (#57)
- Participant showcase on website landing page (#67)
💅 Enhancements
- General cleanup of spelling, grammar and punctuation (#34)
- Use cases callout on website landing page (#54)
- Proofreading of docs (#62)
🐛 Bug Fixes
- Remove unnecessary dates from use case file names (#41)
- Header colouring on responsive website (#56)
- Workflow numbers in Use Case 1 (#60)
- Examples in Intent Overview (#65)
- Errors in DesktopAgent API Reference (#66)
See CHANGELOG.md for more details.