Zur Bearbeitung eines Hintergrundauftrags startet die UTM-Anwendung zeitlich entkoppelt den entsprechenden Asynchron-Service. Dieser führt alle Schritte durch, die für den gestellten Auftrag notwendig sind.
Ein Asynchron-Service kann in mehrere Verarbeitungsschritte und Transaktionen strukturiert werden. Bei Verwendung der KDCS-Schnittstelle kann er auch mehrere Teilprogramme umfassen.
Bild 22: Struktur eines Asynchron-Services, von einem Terminal erteilt
In dem in Bild 22 dargestellten Beispiel wird von einem Terminal aus ein Hintergrundauftrag an einen Asynchron-Service der eigenen Anwendung gestellt. Hierzu wird am Terminal der Transaktionscode dieses Services und ggf. eine Nachricht eingegeben. openUTM reiht den Auftrag automatisch in die entsprechende Queue ein und startet den Asynchron-Service entkoppelt vom Auftraggeber, sobald die notwendigen Betriebsmittel zur Verfügung stehen.
Ein Asynchron-Service kann weitere Asynchron-Aufträge erzeugen. Dies können Ausgabeaufträge oder weitere Hintergrundaufträge sein. Bei verteilter Verarbeitung können aus einem Asynchron-Service auch Dialog-Aufträge an Partner-Anwendungen gestellt werden, d.h. der Asynchron-Service startet seinerseits ferne Dialog-Services.
Bild 23: Asynchron-Services, die ihrerseits Aufträge absetzen
In Bild 23 wird - wie in Bild 22 - vom Terminal aus ein Hintergrundauftrag an einen lokalen Asynchron-Service gestellt. Innerhalb dieses Services wird ein weiterer Hintergrundauftrag abgesetzt sowie ein Ausgabeauftrag an einen Drucker. Der Asynchron-Service 2 seinerseits startet einen fernen Dialog-Service in der UTM-Anwendung B. Dabei kann die UTM-Anwendung B auf dem gleichen Rechner liegen wie UTM-Anwendung A oder auch auf einem anderen Rechner. Auch bei komplexeren Strukturen mit vielen unterschiedlichen Queues brauchen Sie sich um den Queuing-Mechanismus nicht zu kümmern: er wird von openUTM automatisch zur Verfügung gestellt.