Concurrency
An Arbortext PE Anwendung does not need to be thread-safe. An Arbortext PE Unterprozess only handles one request at a time; therefore, it can only run one Arbortext PE Anwendung at a time. However, an Arbortext PE Anwendung does need to be safe for multi-processing, because the Arbortext PE Request Manager could ask two or more Arbortext PE Unterprozesse to run the same Arbortext PE Anwendung at the same time.
For example, if an Arbortext PE Anwendung attempts to write temporary data using an absolute path and file name (e:\tempdata\tempdatafile.txt), two instances of the Arbortext PE Anwendung might run at the same time and overwrite each other’s file. If an Arbortext PE Anwendung stores data to the Windows clipboard, two instances of the operation might run simultaneously and interfere with each other.
Every Arbortext PE Anwendung needs to be serially reusable. An Arbortext PE Anwendung should not attempt to maintain any state from one call to the next. The Arbortext PE Request Manager could ask a particular Arbortext PE Unterprozess to execute any Arbortext PE Anwendung repeatedly, so the Arbortext PE Anwendung must not assume any prior state each time it is invoked. If a particular client submits several Arbortext PE Anwendung requests to an Arbortext PE Server, the Arbortext PE Request Manager might allocate a different Arbortext PE Unterprozess to serve each request. If the second request expects to find information left behind by the first request (for example, a value stored in a global variable), the application would only work if the Arbortext PE Request Manager happened to allocate the same Arbortext PE Unterprozess to serve both requests.
Parent topic