Selektor služeb je vzorem pro implementaci služeb, který umožňuje seskupovat více implementací téhož rozhraní služby a reprezentovat je jednou adresou koncového bodu. U jednotlivých implementací se mohou lišit úrovně kvality služby nebo její chování, přičemž každý požadavek klienta může být nasměrován na konkrétní implementaci na základě požadavků nebo priority.
Tento vzor můžete použít:
Sada poskytovatelů služby se virtualizuje implementováním mediace sběrnice podnikové služby (ESB - Enterprise Service Bus), která implementuje stejné rozhraní. Tato mediace implementuje nezbytnou logiku pro výběr specifického koncového bodu na základě kontextu a obsahu každého požadavku klienta, a poté tento požadavek směruje na vybraného poskytovatele služby. Klienti vidí pouze virtuální službu poskytovanou přes mediaci, která z jejich pohledu vystupuje jako skutečný poskytovatel služby.
Mediace služby může implementovat celou řadu dalších funkcí, jako je:
Následující diagram ilustruje příklad scénáře se selektorem služeb:
Řešením je implementace mediačního toku obsahujícího následující objekty:
Toky požadavků mapují každý z příchozích požadavků na jeden z několika předkonfigurovaných koncových bodů poskytovatele služby.
Kromě toho máte možnost protokolovat a trasovat zprávy požadavků a odpovědí.