Gateway
Ein Gateway gleicht Differenzen zwischen verschiedenen Repräsentationen von Objekten aus oder schafft einen Zugang zu einem anderen System.
siehe: GitHub - ReadMe, PEAA, PK
Beispiel
Im Beispiel betrachten wir die ultra-geheime, unglaublich sichere Verschlüsselungslösung der Firma SecuManga, die aus unerfindlichen Gründen nicht mehr existiert. Die etwas in die Jahre gekommene Schnittstelle des SecuMangaServers bietet nur nur ein obskures Protokoll über Port 1627. Es ist vollkommen indiskutabel, den Port 1627 einfach freizuschalten, weil leider niemand mehr den vollen Befehlsumfang der Schnittstelle kennt. Nicht auszudenken, wenn jemand den Server in den Wartungsmodus versetzt und sich so unbefugten Zugang zu Tracedaten verschafft!
Das Gateway-Pattern bietet den Clients hier bequemen Zugriff per Webservice.
Gleichzeitig wird der für Clients verfügbare Funktionsumfang exakt vorgegeben.
Um das Zusammenspiel im Detail beobachten zu können, setzen Sie den log-level auf DEBUG in der logback.xml und führen den zugehörigen TestCase aus. Die Ausgaben der automatisch im Hintergrund gestarteten Server werden umgeleitet und gemeinsam mit den Ausgaben des TestCase in der Konsole angezeigt.