(495) 925-0049, ITShop интернет-магазин 229-0436, Учебный Центр 925-0049
  Главная страница Карта сайта Контакты
Поиск
Вход
Регистрация
Рассылки сайта
 
 
 
 
 

Решение некоторых популярных задач обработки данных с помощью Oracle ESB. Часть 2.

Источник: oracle
Владимир Энгельс, Дмитрий Севостьянов Oracle СНГ

Данная статья продолжает серию публикаций, в которых будет продемонстрированно, как можно реализовать наиболее популярные шаблоны проектирования, применяя продукт Oracle Enterprise Service Bus. К статьям прилагается архив, где находятся заготовки проектов для реализации их в Oracle JDeveloper. Первая часть этой серии печатается в текущем (апрельском) выпуске "Oracle Magazine/Русское Издание" Во второй статье рассматривается реализация шаблона invalid message channel, который расскрывает тонкости обработки ошибок в процессах ESB. Постановка задачи. Недостатком реализации проекта, приведенного в первой статье, является то, что сообщения, не предусмотренные разработанной схемой Account, теряются системой.

Необходимо помещать в очередь "ошибочных сообщений" все сообщения, которые вызывают исключительные ситуации, в том числе и несоответствие схеме данных. Шаблон splitter with invalid message channel. Входные сообщения так же, как и в первой статье, описываются XSD-схемой Account.xsd, которая включает в себя схемы, описывающие разнородные объекты предметной области (Currency.xsd, Customer.xsd, Address. xsd).

Реализация.

Создание проекта Oracle ESB.

1. Создаем проект Scenario02-err_msg_chan в рабочей области ESB-Samples типа ESB Project.

2. Поместим схемы, описывающие объекты предметной области в созданный проект (Account.xsd, Address.xsd, Currency.xsd, Customer.xsd)

3. Создаем собственную "Систему", назовем ее "ESBsamples"

 

Однако, следует учесть, что система с подобным именем уже существует на сервере ESB. Для этого любым текстовым редактором необходимо открыть файл "ESB_ Samples.esbsys" и заменить идентификатор системы, сгенерированный Jdeveloper, на уже существующий (из проекта Scenario01-split)

4. Создаем собственную "Группу", называем ее "02Scenario-errror_message_channel"

5. Сохраняем все изменения Для облегчения отладки проекта, будем работать с файловыми адаптерами.

6. Создаем файловый адаптер с именем Account- ServiceFile, относящийся к системе/группе ESBsamples. 02Scenario-errror_message_channel, принимающий входные сообщения. Адаптер конфигурируется кнопкой "Configure Adapter Service"

7.Соглашаемся с именем адаптера на первом шаге конфигурирования, выбираем тип операции "Read" на втором шаге конфигурирования.

 

8. Задаем тип поиска каталога со входными сообщениями через логическое имя и даем логическому имени имя "sourcePath"

 

9. Выбираем шаблон поиска "File Wildcards" файла в каталоге, содержащем входные сообщения, и устанавливаем шаблон поиска "*.xml"

10. Устанавливаем частоту времени просмотра каталога и возраст создания файла в 1 секунду

 

11. Указываем схему, с которой будет работать наш файловый адаптер, нажав кнопку "Browse" (Схемы находятся в проекте, после шага 2)

 

12. Конфигурирование файлового адаптера завершено

 
 

13. Вместе с файловым адаптером (на самом деле с любым адаптером, работающим на получение данных) создается сервис маршрутизации, именованный аналогично, но имеющий в качестве суффикса "_RS". Этот адаптер используется для приведения модели данных к внутрисистемной модели. В нашем случае мы будем использовать такую модель данных, которую предоставил нам адаптер.

14. Сохраняем все изменения

15. Конфигурируем логические имена для файловых адаптеров:

- Открываем файловый адаптер AccountServiceFile (сделав двойной щелчок мышью на изображении шестеренки в файловом адаптере.

- Раскрываем список свойств адаптера, нажав символ "+" около надписи Endpoing properties.

Добавляем:

 

- Вводим значение свойства "sourcePath", например "e:\esb-samples\s2-err_msg_chan\input" для Windows или "/tmp/esb-samples/s2/input" для Unix. Если вы разрабатываете проект под Windows, но разворачивать его будете на Unix, то всегда можно поменять значение свойства через ESBConsole

16. Следующее важное обстоятельство: "обработчик ошибок" в настоящее время нельзя создать через Jdeveloper. Поэтому открываем файл "ESB_Samples_02Scenario_ errror_message_channel_AccountServiceFile.esbsvc" в обычном текстовом редакторе и вносим следующее свойство <property name="rejectedMessageHandlers" value="file:// e:\esb-samples\s2-err_msg_chan\err"/> в раздел "<endpointProperties>". Сохраняем изменения.

17. В итоге свойства адаптера должны выглядеть тому, как показано на рисунке

 

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

красным квадратиком на пиктограмме сервиса

18. Создаем правило маршрутизации. Раскройте список правил маршрутизации, нажав на знак "+" у надписи Routing rules

Нажимаем на значок "+" в строке "execute", чтобы добавить новое правило и выберите в качестве места назначения операцию "execute" сервиса маршрутизации

"MainRoutingService" системы ESB-Samples группы 01Scenario-split.

 
 

19. Сохраняем изменения

20. Итоговая картинка должна выглядеть следующим образом

 

21. Разворачиваем проект на сервере

 

22. Устанавливаем свойство "Validate payload at runtime" для сервиса маршрутизации

 

Итог.

В результате мы получили развернытый на сервере проект, реализующий шаблон splitter with invalid message channel. В следующей статье будут рассмотрено применение Oracle ESB для получения нестандартных (не XML) форматов исходящих документов шаблон message-translator.

 

 
 
 
 
 

Ссылки по теме


 Распечатать »
 Правила публикации »
  Написать редактору 
 Рекомендовать » Дата публикации: 01.11.2008 
 

Магазин программного обеспечения   WWW.ITSHOP.RU
Oracle Database Personal Edition Named User Plus Software Update License & Support
Oracle Database Standard Edition 2 Processor License
Oracle Database Personal Edition Named User Plus License
Oracle Database Standard Edition 2 Named User Plus License
TeeChart for .NET Standard Business Edition 2017 single license
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
Новости ITShop.ru - ПО, книги, документация, курсы обучения
Программирование на Microsoft Access
CASE-технологии
СУБД Oracle "с нуля"
Новые материалы
Мастерская программиста
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
 



    
rambler's top100 Rambler's Top100