El Selector de servicio es un patrón de implementación de servicio que permite agrupar varias implementaciones de la misma interfaz de servicio tras una única dirección de punto final. Las distintas implementaciones de servicio pueden ofrecer distintas calidades de servicio o comportamientos, y cada solicitud de cliente puede ajustarse a una implementación concreta según sus requisitos o prioridad.
Puede utilizar este patrón para:
El conjunto de proveedores de servicios se virtualiza desplegando una mediación de bus de servicio empresarial (ESB) que implementa la misma interfaz. Esta mediación implementa la lógica necesaria para seleccionar un punto final específico basado en el contexto y el contenido de cada solicitud de cliente, y luego direcciona la solicitud al proveedor de servicios seleccionado. Los clientes sólo ven el servicio virtual proporcionado por la mediación, que da la impresión de ser el proveedor real del servicio.
La mediación de servicio puede implementar una serie de características adicionales, incluyendo:
El diagrama siguiente muestra un ejemplo de un escenario de selección de servicio:
La solución es implementar un flujo de mediación que contenga lo siguiente:
El flujo de solicitudes correlaciona cada solicitud entrante a uno de múltiples puntos finales de proveedor de servicios preconfigurados.
Además, tiene la opción de anotar y rastrear los mensajes de solicitud y respuesta.