Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| 2000_concepts:0200_basics:0300_processes_link_ui_business_logic [2026/08/13 00:50] – removed - external edit (Unknown date) 127.0.0.1 | 2000_concepts:0200_basics:0300_processes_link_ui_business_logic [2026/08/13 23:56] (current) – external edit (Unknown date) 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | {{tag> | ||
| + | [< | ||
| + | ====== Processes as Links between User Interface and Business Logic ====== | ||
| + | |||
| + | As we said in the [[2000_concepts: | ||
| + | |||
| + | The initial trigger that leads to the creation or modification of a business object is almost always some external request to the system usually from a user who sends this request via the system’s User Interface. The user can perform this request in two ways – she can explicitly ask the system to create a new instance of a business object or edit an existing instance. More often though a user asks the system to start a // | ||
| + | |||
| + | A process usually consists of actions that are executed in a pre-defined order. These actions usually create business objects or find the existing business object and modify it. As a result business rules are triggered. These rules may start a chain reaction of other modifications, | ||
| + | |||
| + | Therefore a process represents a link between the User Interface and business rules – it triggers business rules in response to the request from the User Interface by performing initial creation or modification of a business object and then communicates the result back to the User Interface. This is shown on the diagram below: | ||
| + | |||
| + | |||
| + | {{ docs: | ||
| + | |||
| + | |||
| + | <alert type=" | ||
| + | **note** | ||
| + | |||
| + | Even though a process itself usually consists of rules it is not supposed to implement any business logic other than triggering the initial change as described above.</ | ||
| + | |||
| + | <alert type=" | ||
| + | **note** | ||
| + | |||
| + | A process may be started not just by the User Interface but also by other forms of external requests – for example, a request from other software system through a service (see [[2000_concepts: | ||
| + | |||
| + | |||
| + | The illustration below shows the make up of a process transferring funds between two accounts. | ||
| + | |||
| + | {{ docs: | ||
| + | |||
| + | Note that the process is very small and is mainly concerned with allowing the user to enter necessary details and presenting the results of the operation to the user. All the business logic behind the funds transfer operation (such as checking whether there are sufficient funds in the source account, calculation of fees for the transfer operation etc) is expressed in business rules related to the object '' | ||
| + | |||
| + | Configuration of processes is discussed in detail in the [[2500_config_apps: | ||
| + | |||