Serviceselektor

Der Serviceselektor ist ein Serviceimplementierungsmuster, mit dem mehrere Implementierungen derselben Serviceschnittstelle hinter eine einzige Endpunktadresse gruppiert werden können. Unterschiedliche Serviceimplementierungen können unterschiedliche Service- oder Verhaltensqualitäten bereitstellen und jede Clientanforderung kann gemäß den zugehörigen Anforderungen oder der zugehörigen Priorität einer bestimmten Implementierung zugeordnet werden.

Sie können dieses Muster für Folgendes verwenden:

Die Gruppe der Service-Provider wird durch Implementierung der Enterprise Service-Bus-Mediation (ESB) virtualisiert, die dieselbe Schnittstelle implementiert. Diese Mediation implementiert die erforderliche Logik zum Auswählen eines bestimmten Endpunkts basierend auf Kontext und Inhalt der einzelnen Clientanforderungen und leitet die Anforderung anschließend an den ausgewählten Service-Provider weiter. Für Clients wird nur der virtuelle, von der Mediation bereitgestellte Service angezeigt, der für die Clients wie der tatsächliche Provider des Service wirkt.

Die Servicemediation kann eine Anzahl zusätzlicher Funktionen implementieren, zu denen die folgenden gehören:

Das nachfolgende Diagramm veranschaulicht ein Beispielszenario für eine Serviceauswahl:

Serviceauswahlszenario

Lösung

Die Lösung besteht darin, einen Mediationsablauf mit folgendem Inhalt zu implementieren:

Die Anforderungsabläufe ordnen jede eingehende Anforderung einer der vorkonfigurierten Service-Provider-Endpunkte zu.

Zusätzlich haben Sie die Möglichkeit, die Anforderungs- und Antwortnachrichten zu protokollieren und Traces zu erstellen.