Differences
This shows you the differences between two versions of the page.
| docs:3500:0300:0310 [2023/04/06 01:06] – created sean | docs:3500:0300:0310 [2025/06/12 02:36] (current) – Rename to AwareIM aware_support3 | ||
|---|---|---|---|
| Line 3: | Line 3: | ||
| ===== Writing code for a custom process component ===== | ===== Writing code for a custom process component ===== | ||
| - | When writing a process it is important to understand how processes fit into the architectural framework of //**Aware IM**//. When a process is started //**Aware IM**// creates the //execution context//, which contains the information about the environment in which the process is running. This information contains the data about the user who started the process, the process start-up time, the information about the current database transaction as well as many other things. The execution context is available to the process as the [[docs: | + | When writing a process it is important to understand how processes fit into the architectural framework of //**AwareIM**//. When a process is started //**AwareIM**// creates the //execution context//, which contains the information about the environment in which the process is running. This information contains the data about the user who started the process, the process start-up time, the information about the current database transaction as well as many other things. The execution context is available to the process as the [[docs: |
| - | A process communicates with //**Aware IM**// through the call-back interface called [[docs: | + | A process communicates with //**AwareIM**// through the call-back interface called [[docs: |
| - | Sometimes a particular process calls a service, which takes a long time to fulfil. In this case the call to the service may time out. If this happens the process is // | + | Sometimes a particular process calls a service, which takes a long time to fulfil. In this case the call to the service may time out. If this happens the process is // |
| The custom process component must implement '' | The custom process component must implement '' | ||
| Line 13: | Line 13: | ||
| The following guidelines should be used when writing a process: | The following guidelines should be used when writing a process: | ||
| - | * A process is not supposed to perform any operations with the database directly (such as create, open or modify database tables, manage transactions etc) – this is taken care of by the //**Aware IM**// framework. | + | * A process is not supposed to perform any operations with the database directly (such as create, open or modify database tables, manage transactions etc) – this is taken care of by the //**AwareIM**// framework. |
| - | * A process generally should not take long to execute as it is running within a context of a database transaction. If a process does take a long time to execute it should every now and again send a special signal to the //**Aware IM**// framework. Having received such a signal //**Aware IM**// would suspend the process, commit the current transaction and continue the process execution (resume the process). This signal can be sent if the process throws '' | + | * A process generally should not take long to execute as it is running within a context of a database transaction. If a process does take a long time to execute it should every now and again send a special signal to the //**AwareIM**// framework. Having received such a signal //**AwareIM**// would suspend the process, commit the current transaction and continue the process execution (resume the process). This signal can be sent if the process throws '' |
| * If a process calls a method of the [[docs: | * If a process calls a method of the [[docs: | ||
| { | { | ||