Muster wandeldarlehen

Wenn der Monitor einen Fehler erkennt und den Router anweist, den Datenverkehr umzuleiten, möchten wir die Benutzeroberfläche aktualisieren, um den neuen Status widerzuspiegeln (siehe Bild). Der Router zeigt die neue Route für die Anforderungsnachrichten an, und die primäre Credit Bureau-Komponente ändert die Farben, um den Fehler anzuzeigen. Die erste Voraussetzung für die Management-Lösung ist die Messung der Servicequalität, die der Kreditmakler seinen Kunden bietet. Für diese Art der Überwachung interessieren wir uns nicht für den Geschäftsinhalt der einzelnen Nachrichten, d.h. den dem Kunden angebotenen Zinssatz, sondern nur in der Zeit, die zwischen der Anforderungsnachricht und der Antwortnachricht verstrichen ist. Der schwierige Teil bei der Nachverfolgung der Zeit zwischen diesen beiden Nachrichten ist die Tatsache, dass der Client den Kanal für die Antwortnachricht über eine Rückgabeadresse angeben kann. Wir können also nicht auf einem festen Kanal für die Antwort zuhören. Glücklicherweise löst das Smart Proxy-Muster dieses Dilemma für uns. Ein SmartProxy fängt Anforderungsnachrichten ab, speichert die vom Client angegebene Rückgabeadresse und ersetzt sie durch eine feste Kanaladresse. Als Ergebnis sendet der Dienst (in unserem Fall der Kreditmakler) alle Antwortnachrichten an einen Kanal. Der SmartProxy überwacht diesen Kanal und korreliert eingehende Antwortnachrichten mit gespeicherten Anforderungsnachrichten.

Anschließend wird die Antwortnachricht an die vom Client angegebene ursprüngliche Rückgabeadresse weitergeleitet (siehe Bild). Wir untersuchen, ob es erkennbare Unterschiede in den Immatrikulationsmustern von Studenten mit niedrigem Einkommen an öffentlichen Vorzeigeeinrichtungen im Hinblick auf Änderungen in der institutionellen Finanzhilfepolitik gibt, die sich an gebietsansässige, einkommensschwache Studierende mit bedarfsorientierter Hilfe richten. Insgesamt deuten unsere Ergebnisse darauf hin, dass der Bedarf nicht auf der großen Marge gedeckt wird und dass die Einschreibungsraten mit der Einführung gezielter Beihilfen tatsächlich sinken. Allerdings gehen die Einschreibungen von bedürftigeren Studenten tendenziell geringer zurück, und Studenten, die sich an hilfsinnovative Einrichtungen immatrikulieren, haben nach der Einführung einkommenszielhafter Hilfen tendenziell mehr finanziellen Bedarf. Dies deutet darauf hin, dass entlang der intensiven Margeneinkommenshilfe möglicherweise noch die Bedürftigsten davon profitieren. Wir stellen auch fest, dass Einrichtungen, die einkommensorientierte Hilfen einführen, in der Folge geographisch weit entfernte Studenten einschreiben, was auf eine bessere Abstimmung hindeutet. Eine weitere Komponente, die die MonitorStatusUpdate-Ereignisse überwacht, ist der FailOverHandler. Diese Komponente ist eine nicht-visuelle Komponente, die Statusmeldungen analysiert, um zu bestimmen, ob ein Failover-Switch festgelegt werden soll. Wenn sich der Status des Monitors geändert hat (wir verwenden einen logischen XOR, der durch den Operator “` bezeichnet wird), sendet der FailOverHandler eine Befehlsnachricht an den angegebenen Befehlskanal. In unserem Fall ist dieser Befehlskanal mit dem kontextbasierten Router verbunden, der mit dem Neurouting von Kredit-Score-Anforderungsnachrichten beginnt.

In diesem Beispiel wurde nur eine kleine Teilmenge der Systemverwaltungsfunktionen gezeigt, die mit den Mustern in diesem Abschnitt implementiert werden können. Beispielsweise könnten wir den Nachrichtenverkehr über alle Komponenten hinweg überwachen, Leistungsschwellenwerte festlegen, jede Komponente “Herzschlag”-Nachrichten senden lassen und vieles mehr. Tatsächlich kann das Hinzufügen einer robusten Systemverwaltung zu einer verteilten Messaginglösung ebenso viel (oder mehr) Entwurfs- und Implementierungsaufwand erfordern wie die ursprüngliche Lösung. Zweitens möchten wir eine einfache Benutzeroberfläche für die Verwaltungskonsole erstellen, die den aktuellen Status des Systems anzeigt. Eine “große Bild”-Ansicht eines Messagingsystems zu erhalten, kann ziemlich schwierig sein, insbesondere wenn sich Nachrichtenpfade dynamisch ändern. Es braucht nicht viele Komponenten, um es schwierig zu machen, den Fluss von Nachrichten abzugleichen. Unsere Benutzeroberfläche ist einfach, aber dennoch sehr nützlich. Wir verwenden die in diesem Buch definierte ikonische Sprache, um die Interaktion zwischen Komponenten darzustellen. Vorerst zeigt die Benutzeroberfläche nur den Credit Bureau-Failover-Teil des Systems an, der aus zwei Diensten und einem kontextbasierten Router besteht (siehe Bild).