USER queues are permanent service-controlled message queues. A USER queue is available to every generated UTM user at all times. Any service can access USER queues by means of a program call provided it knows the name of the user. To prevent uncontrolled access, USER queues are integrated in the openUTM authorization concept. This allows you to assign the access rights role-specifically.
A USER queue exists for as long as the associated UTM user ID.
You can use USER queues to implement mailbox applications for UTM users, for example. The example in the figure below shows a further application of USER queues, in which the queues are used for the purpose of sending messages or warnings asynchronously to UPIC clients.
Figure 25: Example: Use of a USER queue for asynchronous messages to a UPIC client
In this example, use is made of the fact that a UPIC client signs on with openUTM using a UTM user ID. Asynchronous messages to the UPIC client go via the USER queue of this user ID.
The poll service is started by the UPIC client at the beginning of the dialog. It reads the message from the USER queue of the user ID and sends it immediately to the UPIC client as a dialog message. If there is no message in the queue, the poll service waits until a message is received. If the UPIC client program is programmed with multi-threading, the poll service and the normal dialog can run concurrently. In this way, the user on the client can automatically be kept informed of the arrival of asynchronous messages (e.g. by means of an icon or a dialog box).
To find out how to define USER queues and specify their properties, refer to the openUTM manual “Generating Applications” (look for the keywords USER, Q-READ-ACL, Q-WRITE-ACL and USER queue). |