Storing data in the model

Model initialization

The data model for the application is created when the application instance starts (see Running an application). After the model is created it can provide values for fields according to the definition of data sources. And accept values for fields stored locally.

Data storage location

Data stored in the model can be divided into two types — considering where it is stored and who manages it.

Data retrieved from services

If the application uses data stored and managed by organizational or external systems, it is retrieved via services. The low-code application is not the owner of this data, cannot modify it, and does not control changes to its values.

Values are retrieved from the service and are always up to date, subject to cache (see Editing the data model).

Examples

  • current client address

    • the client submits an insurance purchase application

    • after submitting the application, and before generating the sales agreement, the client changes the address data stored at the bank (usually via a dedicated process)

    • on the insurance sales agreement we have the updated address — it will be retrieved during the process according to the data definition in the model

  • account balance

    • when accepting an instruction the application verifies whether the specified client account contains sufficient funds to cover service costs

    • before actually debiting funds the application may re-verify the funds in order to correctly handle the account charge

Data stored in the model

When data is created and managed by the application, it is stored in the data model. The low-code application owns it, can modify it, and controls changes to its values.

Examples

  • requested credit card limit

    • when applying for a credit card the client provides the value of the expected limit

    • the application may change this value during process handling (e.g., reduce it)

    • on the generated agreement (and likely in communication to the client) we have the current limit value

  • client correspondence address for process handling

    • when submitting a loan application the client provides a correspondence address

    • by default the application displays the address stored in the bank's systems (retrieved from the service)

    • however the client can change this address and request correspondence related to this process to be sent to a different address

    • the application retains the values entered by the client

Data outside the model

A low-code application does not have to store all data in the model. Some data is temporary and is used only to determine the target value or make a decision, e.g.:

  • list of the client's accounts

    • generates the account selection domain from the component Value selection field from list

    • allows the client to easily choose a specific account

    • in the data model we only want the account selected by the Client, the entire list is not needed

  • client's age

    • allows making a decision about the ability to purchase a product (e.g. Card <26)

    • is calculated from the PESEL number

Temporary, operational data may be kept in session variables on forms, process variables, or in script variables.

Last updated

Was this helpful?