T 2.154 Improper applications for the use on terminal servers

Applications not capable of being installed and operated on a terminal server are becoming increasingly scarce. Nevertheless, it may happen that individual applications in a complex software landscape cannot be installed on terminal servers. If verifications as to whether the applications have been developed for a multi-user environment were not performed in advance, applications may fail, become unstable, or even worse, unforeseeable inconsistencies in the database may occur.

Transmitting multimedia content often constitutes a particular challenge for a terminal server environment. If audio and video data, or even real-time 3D graphics (e.g. in the field of CAD) are transmitted, the flow of data to be transmitted to the terminals increases significantly. If multimedia content is to be transmitted, users may be impaired significantly in their work with the IT system in the event of poor design and planning of the existing resources. As a consequence, all sessions on the overloaded terminal server may freeze or data connections may be interrupted. Even if such complex applications were not designed, but accessing these applications (e.g. via a browser plug-in) is possible due to a misconfiguration, these problems may occur.

Example

A company wants to migrate from a client/server architecture to a terminal server architecture. The persons in charge only recognise that the individually developed ERP system crashes sporadically after the productive system has been rolled out. Additionally, the database used by the warehouse management module increasingly contains erroneous or obsolete entries.

These erroneous or obsolete entries occurred as a result of the warehouse management module using a central file on the client side in order to buffer write accesses to the database. Since it was not foreseen that several users would simultaneously execute the same client application on one and the same computer when the software was being implemented, the buffered database accesses are partially overwritten before they are transmitted to the database. Additionally, simultaneous and concurrent accesses to the file regularly cause the database client now executed on the server to crash.