Architecture
Due to its nature design of the system is guided by critical quality attributes for the banking industry.
Securability
- 
API Gateway integrates with the IdP of the enterprise to authorize requests to the engine.
 - 
Flink ingests commands via Kafka cluster that utilizes built-in security
 - 
Extensions protect their endpoints via OpenID
 - 
Extension Manager adds an access token to outgoing calls
 - 
Network connections are protected via TLS
 
Reliability & Availability
- 
The engine continues to accept payment initiation requests for further processing even if Flink is unavailable
 - 
If Transaction Processor, Extension Manager, or any extension is unavailable, Stateful Functions runtime retries requests until success
 - 
If Transactions service is not available, it does not miss any progress events due to PubSub between Flink and itself
 
Interoperability
- 
The engine provides API over HTTPS to initiate a payment transaction or query transaction data
 - 
The engine provides API over HTTPS for extension self-registration
 - 
Engine APIs published as OpenAPI documents
 - 
Engine APIs preserve backward compatibility
 - 
It’s possible to provide OpenBanking or ISO 20022 compatible APIs as well as any other API via custom adapters for the engine API
 
Observability
- 
All components have health metrics available for the bank operators and injectable into an enterprise-wide dashboard
 - 
All components support structured logging and redirect logs into central log management solutions
 - 
Transaction statuses and error codes are observable via a Business Operator Web UI