IPF Processing Data
IPF Processing Data project consists of several modules responsible for producing and consuming data generated by IPF applications via different transports (currently kafka and http are supported).
Producing or exporting data is referred to as egress, whereas consuming data is referred to as ingress.
Data belonging, or resulting from, a transaction flow, such as a MDS Object, is egressed by IPF processing nodes throughout its lifecycle.
A simple example is an instant payment. Initiated by the bank with a pain.001, settled via the CSM with a pacs.008/pacs.002, and completed with a pain.002 notification to the bank. A simple flow like this contains many steps, involves receiving and sending messages to other systems, in addition to writing events, and surfacing business specific data elements at each step.
An instance of this flow would potentially produce 4 domain events, 10 MDS objects, 4 message log entries, custom data elements, and additional identifiers, not to mention the numerous system events. The flow itself is also data related to the transaction, including its version, the states, and its graph.
The following table demonstrates the data types produced, excluding system events.
| Description | Data Types Produced |
|---|---|
Flow application starts up and produces flow definitions |
a |
Bank sends a pain.001 and initiates the Flow |
pain.001 |
Flow sends a pacs.008 to the CSM |
pacs.008 |
CSM responds with a pacs.002 |
pacs.002 |
Flow sends a pain.002 to the Bank |
pain.002 |
| You can read more about the Data Types and Objects in the Concepts section. |