Архитектура, проект и конфигурация федерации сервисных шин Oracle - Oracle Service Buses - Конфигурирование Configuration
ОГЛАВЛЕНИЕ
Конфигурирование Configuration
В следующих секциях вы узнаете, как конфигурировать домены, составляющие Enterprise Hub.
Конфигурирование SAF
Начните с главой "Configure JMS SAF" в документации (documentation) по WebLogic Server. Там имеются подробные инструкции по администрированию и конфигурированию SAF.
Примечание автора: Эта статья предназначена для продвинутых пользователей, у которых уже есть опыт с работы с SAF. Я только изложу специфику конфигурирования SAF для Enterprise Hub.
У каждого домена есть SAF -агент, развернутый на кластере. Proxy -сервис в центральном домене osb 3 работает с экспортированной физической очередью класса UDO (uniform distributed queue) для запросов:
- ExpReqProxyUDQ-Domain3
- Бизнес-сервисы в периферийных доменах aslb 1 и osb 2 получат соответствующие импортированные UDQ :
- ImpReqBusUDQ-Domain1
- ImpReqBusUDQ-Domain2
Вы должны специфицировать локальные очереди для ответов (или UDQ на каждый управляемый сервер, если нужно) для бизнес-сервиса при использовании шаблона ID корреляции JMS -сообщения, как объясняется в документации Understanding Message ID and Correlation ID Patterns for JMS Request / Response. Следовательно, proxy -сервис в доменах osb 1 и osb 2 будет иметь локальные экспортированные очереди для ответов.
- osb1:
- ExpResBusQ1-Slave0
- ExpResBusQ1-Slave1
- osb2:
- ExpResBusQ2-Slave0
- ExpResBusQ2-Slave1
Proxy -сервис в центральном домене osb 3 будет иметь соответствующие локальные очереди для ответов, перенаправляемых к osb 1:
- ImpResBusQ1-Domain31
- ImpResBusQ2-Domain31
Для перенаправляемых к osb 2:
- ImpResBusQ3-Domain32
- ImpResBusQ4-Domain32
Важный элемент периферийной SAF -конфигурации osb 1 и osb 2 - это параметр < reply - to - saf - remote - context - name >. SAF -система читает значение этого параметра для определения пункта назначения ответа в центральном домене, прежде чем он будет перенаправлен в периферийный домен. < reply - to - saf - remote - context - name > должен быть полностью квалифицированным именем, состоящим из имени JMS -системы и имени удаленного контекста в центральном домене. Например:
<reply-to-saf-remote-context-name>
SystemModuleTest3!DOMAIN31-SAF-REM-CONTEXT
</reply-to-saf-remote-context-name>
Вы устанавливаете < reply - to - saf - remote - context - name > среди других импортированных параметров пункта назначения, используя административную консоль WebLogic, как описано в главе " Configure JMS SAF " документации по WebLogic Server.
Конфигурация канала связи в Oracle Service Bus
Детали конфигурации канала связи для SOAP - сообщений поверх JMS
Код "движка" WebLogic JAX - RPC Web services включает следующий алгоритм для корреляции сообщений-ответов: если ID корреляции JMS задан в сообщении-запросе, движок JAX - RPC Web services установит тот же самый ID корреляции JMS в сообщение-ответ; если же этот идентификатор не задан в запросе, то ID корреляции ответа установится в (поле) идентификатора сообщения-запроса.
Для федеративной архитектуры нужно устанавливать корреляции посредством ID -сообщений. Следовательно, мы должны гарантировать, что фоновое приложение получает сообщение-запрос без корреляционного JMS -набора ID -идентификаторов. Поскольку оба транспорта, входящий и уходящий, - это JMS, должно обеспечить код движка WebLogic JAX - RPC Web services с требуемыми заголовками, явно проходя сквозь транспортные заголовки уходящего сообщения-запроса с использованием действия Transport Headers в Route -узле.
Для исключения ID из корреляционного JMS -набора передаваемых заголовков, следует удалить ID с использованием другого действия Transport Headers. Это гарантирует, что фоновый (backend) код движка JAX-RPC сервисов будет коррелировать (соотносить) ответы по ID JMS сообщения.