Components
OpenFSC consists of multiple components. This page provides a high-level overview of each component.
Outway
Required to consume an API. The Outway is an outgoing proxy used by a data consumer to send API requests to a data provider. A Peer who wants to consume an API needs an Outway.
Responsibilities:
- Securing the connection using mTLS.
- Requesting accesstokens from the Manager of the data provider
- Routing traffic to the Inway of the data provider
- Writing a transaction log for each outgoing request.
Inway
A reverse proxy used by a data provider, it receives incoming requests and routes them to the correct API. A Peer who wants to offer an API needs an Inway.
Responsibilities:
- Securing the connection using mTLS.
- Validating accesstokens.
- Routing requests to the correct API.
- Writing a transaction log for each received request.
Manager
The main job of the Manager is to manage Contracts. It is also used as an authorization service that is able to provide accesstokens based on Contracts. It can also be used by other Peers to request transaction logs. Contracts are a core part of FSC since they contain the authorizations needed to consume or provide APIs.
Responsibilities:
- Management of Contracts.
- Receiving Contracts from other Peers.
- Distributing Contracts to other Peers.
- Receiving signatures from other Peers.
- Distributing signatures to other Peers.
- Providing accesstokens to the Outways of data consumers.
- Providing transaction logs to other Peers.
- Providing publickey used to validate accesstokens and signatures
- Providing published APIs.
- Providing known Peers.
Controller
The Controller offers a webinterface and two APIs. The webinterface is used to manage an FSC setup, one API is used by the Inways and Outways to configure themselves and the other API can be used to configure the FSC setup. Using the webinterface users can easily create and sign Contracts for consuming and publishing services, manage their inways/outways and configure APIs they want to offer as a Service to the network.
Responsibilities:
- Management of Inways.
- Management of Outways.
- Management of APIs offered to the FSC Group.
- Management of Contracts and signatures.
- Providing configuration to Inways.
- Providing configuration to Outways.
- Providing insight into the transaction and audit logs.
Transaction log API
An API that is able to write and list transaction logs according to the FSC specification. Both the Inway and Outway use this API to write transaction logs.
Responsibilities:
- Writing transaction logs
- Listing stored transaction logs.
Audit log API
An API that is used by the Controller and Manager to write audit logs. Audit logs are written for actions like; creating a Contract, signing a Contract, modifying services etc.
Responsibilities:
- Writing audit logs.
- Listing stored audit logs