Транслятор служб - это шаблон реализации службы, позволяющий
предоставить доступ к реализации через другой интерфейс. Некоторые операции интерфейса
могут быть реструктуризованы или скрыты от отдельных пользователей.
Используя этот шаблон, можно сделать следующее:
- Предоставить необходимый интерфейс внутренним клиентам и другой интерфейс (возможно,
с некоторыми ограничениями) внешним клиентам.
- Экспортировать набор служб с учетом стандартного интерфейса или модели данных внешним клиентам служб.
- Обеспечить разное качество обслуживания для разных клиентов.
- Поддерживать разные версии одной службы с обновленным интерфейсом в новых версиях.
- Поддерживать вариант использования, в котором клиенты из разных географических
регионов должны получать или передавать данные с применением местных единиц измерения
- Поддерживать вариант использования, в котором клиенты из разных географических
регионов должны передавать или получать данные с переводом на другой язык
Для виртуализации поставщика службы разворачивается объект передачи ESB, реализующий
интерфейс посредника, который необходим инициатору службы. Объект передачи преобразует
запрос и направляет его фактическому поставщику службы. Кроме того, объект передачи
должен обрабатывать ответы от целевой службы, преобразуя их в формат, ожидаемый клиентом. Клиентам доступна только виртуальная
служба, предоставляемая объектом передачи, которая с их точки зрения и является реальным
поставщиком службы.
Объект передачи службы может выполнять и ряд дополнительных функций, в том числе следующих:
- Идентификация
- Предоставление прав доступа
- Контроль и регистрация
- Преобразование протокола
- Сопоставление ответов
На следующем рисунке приведен пример сценария трансляции службы:
Решение
Решение требуется для реализации потока передачи, содержащего следующее:
- Поток запросов для каждой односторонней операции в интерфейсе службы посредника,
которая преобразуется в одностороннюю операцию в службе поставщика.
- Поток запросов для каждой операции запрос-ответ в интерфейсе службы посредника,
которая преобразуется в одностороннюю операцию в службе поставщика.
- Поток запросов и поток ответов для каждой операции запрос-ответ в интерфейсе службы
посредника, которая преобразуется в операцию запрос-ответ в интерфейсе поставщика службы.
Потоки запросов связывают входящие запросы с заранее настроенными конечными точками поставщика службы.
Кроме того, можно включить ведение протокола и трассировку сообщений запросов и ответов.