Bei einem Anwendungs-übergreifenden Dialog laufen Auftraggeber-Service und Auftragnehmer-Service synchron ab und nicht entkoppelt wie beim Message Queuing (siehe "Message Queuing"). Dabei ist es gleichgültig, ob der Auftraggeber-Service selbst im Dialog oder über Message-Queuing gestartet wurde.
Bei Anwendungs-übergreifenden Dialogen sind auch komplexe Strukturen möglich:
Ein Auftraggeber-Service kann innerhalb einer Transaktion mit mehreren Auftragnehmer-Services kommunizieren.
Ein Auftragnehmer-Service, der im Dialog eine Teilaufgabe für einen anderen Auftraggeber-Service bearbeitet, kann selbst wieder einen dritten Dialog-Service in einer weiteren Anwendung beauftragen.
Durch solche parallelen und geschachtelten Strukturen entstehen mehrstufige Hierarchiebeziehungen, die sich durch Baumdiagramme darstellen lassen. Eine solche Hierarchie wird als Service-Hierarchie bezeichnet.
Aus dem folgenden Bild ist ersichtlich, dass ein Service gleichzeitig die Rolle des Auftragnehmer-Service wie auch die eines Auftraggeber-Service einnehmen kann. Die Services B, C und D sind Auftragnehmer-Services gegenüber Service A, die Services B und C sind zugleich Auftraggeber-Services gegenüber den Services E bzw. F und G auf der untersten Ebene.
Bild 17: Service-Hierarchie bei Anwendungs-übergreifenden Dialogen
Jede Service-Hierarchie besitzt einen obersten Service. Eine Service-Hierarchie kann nur so lange bestehen, wie der oberste Service aktiv ist. Durch Adressierung neuer Auftragnehmer-Services und durch Beendigung bestehender Auftragnehmer-Services ändert sich eine Service-Hierarchie im Laufe der Bearbeitung eines Dialogauftrags.
Programmierung Anwendungs-übergreifender Dialoge
Bei Anwendungs-übergreifenden Dialogen wird eine Aufgabe von mehreren Teilprogrammen in verschiedenen Anwendungen bearbeitet. Damit kann ein Teilprogramm von Terminals, von Client-Programmen, von Programmen der eigenen Anwendung und von fremden Anwendungen aus angesprochen werden. Es muss daher abhängig vom Partner entscheiden, welche Aufgabe es bearbeitet, an wen es die Nachricht schickt und ob es eine globale Transaktion beenden muss oder nicht.
Auch solche komplexen Formen der Programm-Programm-Kommunikation lassen sich mit openUTM einfach und sicher erstellen, da openUTM zur Steuerung Anwendungs-übergreifender Dialoge komfortable Kontrollmöglichkeiten zur Verfügung stellt.
Ausführliche Informationen über die Programmierung Anwendungs-übergreifender Dialoge und über die Kontrollmöglichkeiten, die Ihnen hierfür zur Verfügung stehen, finden Sie in den UTM-Programmierhandbüchern „Anwendungen programmieren mit KDCS für COBOL, C und C++“ und „Anwendungen erstellen mit X/Open-Schnittstellen“. |