Übungen „Grundlagen der Architektur von Anwendungssystemen

Prof. Dr . Frank Leymann / Christoph Fehling
Institut für Architektur von Anwendungssystemen
Universität Stuttgart
Übungen
„Grundlagen der Architektur von Anwendungssystemen“
Blatt Nr. 5
Messaging
Aufgabe 5.1: Nachrichtenformate und Transformationen
Gegeben sei ein verteiltes Softwaresystem bestehend aus fünf Komponenten.
Alle Komponenten unterstützen unterschiedliche und nicht kompatible
Nachrichtenformate.
Um
zu
ermöglichen,
dass
die
unterschiedlichen
Komponenten untereinander Nachrichten austauschen können, müssen die
Nachrichten entsprechend transformiert werden. Das Ziel ist, dass jede
Komponente mit allen anderen Komponenten kommunizieren kann.
Component 1
Component 5
Component 2
?
Component 3
Component 4
a) Wie viele Transformationen werden benötigt, wenn kein einheitliches
Zwischen-format für den Nachrichtenaustausch verwendet wird?
b) Wie viele Transformationen werden benötigt, wenn ein einheitliches
Zwischen-format für den Nachrichtenaustausch verwendet wird?
c) Wie viele Transformationen werden zusätzlich benötigt, wenn das
beschriebene Softwaresystem um eine Komponente mit einem weiteren
Nachrichtenformat erweitert wird? Betrachten Sie jeweils den Fall mit und
ohne einheitliches Zwischenformat.
d) Beschreiben Sie das Verhältnis zwischen der Anzahl der unterschiedlichen
Nachrichtenformate und der Anzahl der benötigten Transformationen
allgemein durch eine Formel. Betrachten Sie jeweils den Fall mit und ohne
einheitliches Zwischenformat.
Seite 1 von 2
Aufgabe 5.2: Message Mover - „Store and Forward“
Gegeben sei die in der folgenden Abbildung dargestellte Ausgangssituation: Die
Nachricht M1 liegt in der Transmission Queue Q1 des Message Queue Managers
MQM1. Sie soll in die Target Queue Q2 des Message Queue Managers MQM2
übertragen werden.
Beschreiben Sie alle zur Übertragung der Nachricht notwendigen Schritte so
detailliert wie möglich. Betrachten Sie dabei unter anderem, wann Transaktionen
begonnen und beendet werden. Tragen Sie ihre Lösung in die folgende Tabelle
ein. Sie müssen die Tabelle nicht komplett ausfüllen und können sie bei Bedarf
um weitere Zeilen erweitern.
Schritt
Schritt
Schritt
Schritt
Schritt
Schritt
Schritt
Schritt
Schritt
Schritt
1
2
3
4
5
6
7
8
9
10
Aufgabe 5.3: Message Mover – „Guaranteed Delivery“
Der in Aufgabe 5.2 beschriebene Ablauf stellt den Normalfall einer
Nachrichtenübertragung dar. Im Folgenden soll untersucht werden, wie sich die
Nachrichtenübertragung im Fehlerfall verhält. Beantworten Sie dazu folgende
Fragen:
a) Was geschieht, wenn MQM1 abstürzt?
b) Was geschieht, wenn MQM2 abstürzt?
c) Was geschieht, wenn die Verbindung
zusammenbricht?
zwischen
MQM1
und
MQM2
Diskutieren Sie unterschiedliche Antworten zu jeder Frage in Abhängigkeit zum
Zeitpunkt, an dem der jeweilige Fehler auftritt. Beispielsweise:
-
„Was geschieht, wenn MQM1 abstürzt, bevor M1 aus Q1 gelesen wurde?“
„Was geschieht, wenn MQM1 abstürzt, nachdem M1 aus Q1 gelesen, aber
noch nicht an MQM2 übertragen wurde?“
Seite 2 von 2