Selettore servizio è un modello di implementazione del servizio che consente di raggruppare più implementazioni della stessa interfaccia del servizio dietro un singolo indirizzo di endpoint. Varie implementazioni del servizio possono fornire diverse qualità del servizio o comportamenti e ogni richiesta client può essere associata a una particolare implementazione in base ai requisiti o alla priorità della stessa.
È possibile utilizzare questo modello per:
La serie di provider del servizio è virtualizzata distribuendo una mediazione ESB (Enterprise Service Bus) con implementazione della stessa interfaccia. Questa mediazione implementa la logica richiesta per selezionare uno specifico endpoint basato sul contesto e sul contenuto di ciascuna richiesta client, quindi instrada la richiesta al provider del servizio selezionato. I client individuano solo il servizio virtuale fornito dalla mediazione, rilevandolo come provider effettivo del servizio.
La mediazione del servizio può implementare un determinato numero di funzioni aggiuntive, includendo le seguenti:
Il seguente diagramma illustra un esempio di uno scenario Selezione servizio:
La soluzione implementa un flusso di mediazione che contiene:
I flussi di richiesta associano ciascuna richiesta in entrata con uno di più endpoint del provider del servizio preconfigurati.
Inoltre, è possibile registrare e tenere traccia dei messaggi di richiesta e di risposta.