Selektor usług to wzorzec implementacji usług, który umożliwia grupowanie wielu implementacji tego samego interfejsu usługi w jednym adresie punktu końcowego. Różne implementacje usług mogą oferować różne jakości usług lub zachowania, a każde żądanie klienta może zostać dopasowane do konkretnej implementacji zgodnie z jego wymaganiami w zakresie priorytetu.
Za pomocą tego wzorca można wykonywać następujące czynności:
Zbiór dostawców usług jest wirtualizowany przez wdrożenie mediacji magistrali Enterprise Service Bus (ESB), która implementuje ten sam interfejs. Ta mediacja implementuje wymaganą logikę w celu wyboru konkretnego punktu końcowego na podstawie kontekstu i treści każdego żądania klienta, a następnie kieruje żądanie do wybranego dostawcy usług. Z poziomu klientów widoczna jest tylko usługa wirtualna udostępniana przez mediację, która jest przez nie traktowana jako rzeczywisty dostawca usługi.
W mediacji usługi można zaimplementować szereg dodatkowych opcji, takich jak:
Na następującym diagramie przedstawiono przykładowy scenariusz wyboru usługi:
Rozwiązanie polega na zaimplementowaniu przepływu mediacji zawierającego następujące elementy:
Przepływy żądań odwzorowują każde żądanie przychodzące na jeden z wielu wstępnie skonfigurowanych punktów końcowych dostawcy usług.
Dodatkowo jest dostępna opcja rejestrowania i śledzenia komunikatów z żądaniami i odpowiedziami.