Using Transactions Proccessing

Enabling Transaction Processing

Out of the box, the engine rejects all kinds of transactions and uses the built-in status ”REJECTED” with the error code “EN_001” and the message “Flow not found”. Bank’s software developers control the engine’s behavior through the framework available in Java and Python. Developers’ friendly code-only approach to enabling the processing of different kinds of transactions provides the ability to store everything in VCS and reproduce the same behavior in multiple environments. Developers control the engine via building custom flows and implement step functions in custom extensions.  See the developer’s guide for more information and examples.

Running the engine

The engine is powered by stateful and stateless components. The stateful are MongoDB, Kafka, Flink, and Minio. See official guides to know how to manage them and troubleshoot. The stateless components are Transactions, API Gateway, Kafka REST Proxy, Transaction Processor, Business Operator API, Extension Manager, and the Web Application for the Business Operator Web UI.

Stateless components do not require any special handling except monitoring built-in health metrics and scaling to match the load. DevOps engineers configure the deployment of the engine components, including deployment of the custom extensions, and configure integration with the enterprise’s identity provider, reporting, monitoring, and signing software.

System operators ensure that the engine and the custom extensions operate as expected and troubleshoot production issues. Business operators use Web UI to see details of individual transactions and troubleshoot them. Web UI enables a business operator to find a particular transaction by id or requisites, see its status and errors, restart failed transaction or create a compensating one.