Селектор служб

Селектор службы - это шаблон реализации службы, позволяющий сгруппировать несколько реализаций одного интерфейса службы, присвоив им один адрес конечной точки. Реализации службы могут отличаться по качеству услуг или алгоритму работы и подбираются под запрос клиента согласно заданным требованиям или приоритетам.

Используя этот шаблон, можно сделать следующее:

Для виртуализации набора поставщиков службы разворачивается объект передачи ESB, реализующий интерфейс. Объект передачи реализует необходимую логику для выбора определенной конечной точки в зависимости от контекста и содержимого запроса клиента и направляет запрос выбранному поставщику службы. Клиентам доступна только виртуальная служба, предоставляемая объектом передачи, которая с их точки зрения и является реальным поставщиком службы.

Объект передачи службы может выполнять и ряд дополнительных функций, в том числе следующих:

На следующей диаграмме показан пример сценария выбора служб:

Сценарий селектора служб

Решение

Решение требуется для реализации потока передачи, содержащего следующее:

Потоки запроса связывают каждый входящий запрос с одной из нескольких заранее настроенных конечных точек поставщиков службы.

Кроме того, можно включить ведение протокола и трассировку сообщений запросов и ответов.