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

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

Источник: oracle
Дмитрий Севостьянов, Oracle СНГ

Автор: Дмитрий Севостьянов, Oracle СНГ

Данной статьей продолжается серия публикаций, в которых будет продемонстрированно - как, применяя продукт Oracle Enterprise Service Bus , можно реализовать наиболее популярные шаблоны проектирования. К статьям прилагается архив, где находятся заготовки проектов для реализации их в Oracle JDeveloper .

В третьей статье рассматривается реализация шаблона message translator , который позволяет получить исходящие документы в нестандартных (не XML) форматах.

Постановка задачи.

Есть входная очередь, необходимо преобразовать XML -документ по заданному XSLT -шаблону и поместить его в выходную очередь.

Входные сообщения так же как и в предыдущих статьях описываются XSD -схемой Account . xsd , которая включает в себя схемы, описывающие разнородные объекты предметной области ( Currency . xsd , Customer . xsd , Address . xsd )

Реализация.

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

•  Создаем проект Scenario 03- xslt в рабочей области ESB - Samples типа ESB Project .

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

•  Создаем собственную "Систему", называем ее " ESB - samples "

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

•  Создаем собственную "Группу", называем ее "03 Scenario - message _ translator "

•  Сохраните все изменения

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

•  Создаем файловый адаптер с именем AccountServiceFile, относящийся к системе/группе ESB-samples.03Scenario-message_ translator , принимающий входные сообщения. Адаптер конфигурируется кнопкой "Configure Adapter Service"

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

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

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

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

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

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

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

•  Сохраните все изменения

•  Конфигурируем логические имена для файловых адаптеров. Откройте файловый адаптер AccountServiceFile (сделав двойной щелчок мышью на изображении шестеренки в файловом адаптере . Раскройте список свойств адаптера, нажав символ "+" около надписи Endpoing properties .

Добавьте новое свойство

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

•  Сохраните все изменения

•  Создаем основной сервис маршрутизации " XSLTRoutingService ", отвечающий за XSLT -преобразование входного документа в выходной по заданному XSL -шаблону. Генерируем WSDL из существующей XSD -схемы (Схема Account , элемент Operation )

•  Конфигурируем сервис маршрутизации для работы с ответным сообщением. Для генерации схемы выходного сообщения необходимо определить свой собственный формат данных.

•  Создаем свой собственный формат, основанный на типе данных CSV ( Comma separated value )

•  В качестве шаблона указываем файл NativeDataFormat . txt , состоящего из двух строк:

NativeTabulatorFormat

justExample

•  В качестве разделителя полей указываем табуляцию ( Tab)

На основе заданного нами шаблона NativeDataFormat.txt JDeveloper создал схему данных NativeDataFormat_1.xsd .

•  Сохраните все изменения

•  Создаем выходной файловый адаптер " OutputFileService ", сохраняющий данные в файл.

•  В качестве схемы данных указываем созданную нами схему NativeDataFormat _1. xsd

•  Сохраните все изменения

•  Конфигурируем свойство, задающее логический путь к каталогу для адаптера (Установите свойство outputPath в значение E :\ esb - samples \ s 3- msg _ trans )

•  Связываем выход сервиса маршрутизации XSLTRoutingService с файловым адаптером OutputFileService . ( Откройте XSLTRoutingService двойным щелчком мыши )

В качестве целевой операции указываем операцию Write файлового адаптера.

•  Сохраните все изменения

•  Связываем сервис маршрутизации AccountServiceFile_RS с сервисом маршрутизации XSLTRoutingService . ( Откройте AccountServiceFile_RS двойным щелчком мыши )

•  Сохраните все изменения

•  Вы должны увидеть следующую картинку в рабочей области

•  Создаем XSL-шаблон преобразования входного документа в выходной, для чего откройте XSL-редактор, сделав двойной щелчок мыши по значку XSL-преобразования в сервисе маршрутизации XSLTRoutingService .

•  Выберите пункт "Create New Mapper File)

•  В открывшемся визуальном редакторе создайте следующее преобразование. Для этого из панели компонентов (Component Palette) из раздела строковых функций (String Fuctions) перетащите на среднюю часть рабочей области функцию concat. Соедините левый и правый край пиктограммы функции с соответствующими полями (как показано на рисунке)

•  Настройку функции преобразования можно посмотреть, сделав двойной щелчок на пиктограмме функции

•  Сохраните все изменения

•  Проект должен принять вид, как показано на рисунке.

•  Разверните проект на сервере

Итог.

В результате мы получили развернытый на сервере проект, реализующий шаблон message translator .

В следующей статье будут рассмотрено решение задачи обогащения потока данных стандартными средствами Oracle ESB для (шаблон c ontent enricher ).

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


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

Магазин программного обеспечения   WWW.ITSHOP.RU
Oracle Database Standard Edition 2 Named User Plus License
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
SAP Crystal Reports 2008 INTL WIN NUL License
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
Безопасность компьютерных сетей и защита информации
Новости ITShop.ru - ПО, книги, документация, курсы обучения
Программирование на Microsoft Access
CASE-технологии
СУБД Oracle "с нуля"
Новые программы для Windows
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
 



    
rambler's top100 Rambler's Top100