воскресенье, 27 ноября 2011 г.

Использование Oracle MDS для хранения общих объектов композитных приложений


Oracle Metadata Services – компонент Oracle Fusion Middleware, предназначенный для управления метаданными, т.е. данными о данных. К метаданным в терминах Oracle относятся в частности WSDL-описания веб-сервисов, XSD-схемы, а так же другие XML-документы. Данная инструкция содержит описание процесса настройки подключения к серверу метаданных из Oracle JDeveloper, развертывания метаданных на сервере и использования метаданных в композитном приложении.

1. Создание подключения к серверу MDS из Oracle JDeveloper


Доступ к внешним ресурсам, таким как сервера приложений, MDS, СУБД и т.д. осуществляется в Oracle JDeveloper с помощью т.н. палитры ресурсов (Resource Palette). Для создания нового подключения к серверу MDS необходимо выбрать пункт New SOA-MDS Connection контекстного меню компонента IDE Connections -> SOA-MDS.



После выполнения данного действия появится окно настройки подключения. Необходимо заполнить поле Connection Name и указать соединение, которое будет использоваться для подключения к базе данных сервера MDS. Если такового соединения нет – его необходимо создать, воспользовавшись кнопкой с изображением большого зеленого знака «плюс».



При нажатии на знак «плюс» появится окно создания соединения с базой данных. Необходимо заполнить поля Connection Name – имя соединения и User Name – наименование схемы базы данных, к которой выполняется подключение. Данное значение должно соответствовать наименованию схемы MDS, созданной с помощью RCU. Поле Password – пароль доступа к схеме MDS. При необходимости нужно поменять значения полей Host Name, SID и Service Name, указав актуальные значения.

Для проверки соединения с базой данных служит кнопка Test Connection. В случае корректной настройки соединения, при нажатии данной кнопки, в нижней части окна появится надпись Success.



Необходимо нажать кнопку OK, чтобы вернуться к мастеру создания соединения с сервером MDS.

В окне мастера создания соединения с сервером MDS необходимо выбрать MDS-партицию soa-infra. Для проверки корректности настроек можно воспользоваться кнопкой Test Connection. В случае корректности настроек соединения с сервером MDS в нижней части окна появится надпись Success.



Необходимо нажать кнопку OK. Соединение с сервером MDS будет создано и отобразится на палитре ресурсов.



2. Создание приложения для развертывания метаданных на сервере MDS


Для размещения метаданных на сервере MDS с помощью JDeveloper необходимо создать отдельное приложение и настроить его соответствующим образом.

Для создания приложения необходимо вызвать пункт File -> New главного меню JDeveloper и выбрать General -> Applications -> Generic Application.



После чего нажать кнопку OK. Запустится мастер создания приложения.

На первом шаге мастера создания приложения необходимо задать его название и нажать кнопку Next.



На втором шаге мастера создания приложения необходимо задать наименование проекта. Проект – составная часть приложения, которая содержит файлы с метаданными. В состав одного приложения может входить несколько проектов. Содержимое каждого проекта при сборке и развертывании приложения будет помещено в отдельный архив.



Необходимо нажать кнопку Finish. Приложение будет создано.



Теперь необходимо создать каталог, входящий в проект MDSDemoProject, в котором будут находиться метаданные, в частности – общие для всех композитных приложений XSD-схемы документов. Для создания каталога необходимо воспользоваться пунктом File -> New главного меню JDeveloper и выбрать General -> Folder.



После чего нажать кнопку OK. Запустится мастер создания каталога. Необходимо заполнить поле Folder Name. В качестве значения поля Directory необходимо указать путь к каталогу, в котором будет размещен создаваемый каталог.



Необходимо нажать кнопку OK.

В созданный каталог необходимо поместить файлы, содержащие метаинформацию.

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

Прежде всего необходимо настроить проект. Для настройки проекта необходимо вызвать пункт Project Properties из контекстного меню данного проекта.



Необходимо открыть группу свойств Deployment.



Необходимо создать новый профиль развертывания, воспользовавшись кнопкой New… После нажатия на данную кнопку появится мастер создания профиля развертывания. В качестве значения поля Archive Type необходимо выбрать JAR File. В качестве значения поля Name необходимо ввести имя архива, в который будут помещены файлы с метаданными, например myapp-mds.



После заполнения данных полей необходимо нажать кнопку OK. Появится окно редактирования свойств архива метаданных. На вкладке JAR Options необходимо убрать галочку Include Manifest File.



На вкладке File Groups -> Project Output -> Contributors необходимо убрать все галочки, после чего добавить созданный ранее каталог с метаданными, нажав кнопку Add.



Появится окно выбора каталога.



После нажатия кнопки Browse появится окно, отображающее дерево файловой системы. В данном окне необходимо выбрать каталог, содержащий метаданные, после чего нажать кнопку Select.



Выбранный каталог будет добавлен в список Order of Contributors.



После нажатия кнопки ОК созданный профиль развертывания будет отображен в списке Deployments Profiles.



После настройки профиля развертывания проекта необходимо настроить профиль развертывания приложения. Для этого необходимо вызвать пункт Application Properties… контекстного меню приложения.



Необходимо открыть группу свойств Deployment.



Необходимо создать новый профиль развертывания, для чего следует нажать кнопку New. Появится мастер создания профиля развертывания. В качестве значения параметра Archive Type мастера необходимо выбрать SOA Bundle. В качестве значения параметра Name необходимо ввести название приложения, например myapp-mds.



После заполнения полей мастера необходимо нажать кнопку ОК. Появится окно редактирования свойств приложения.



Необходимо открыть группу свойств Dependencies и отметить галочкой настроенный ранее проект.



После нажатия кнопки OK созданный профиль развертывания будет отображен в списке Deployments Profiles.



Метаданные готовы к размещению на сервере. Для выполнения данной операции необходимо вызвать пункт Deploy -> myapp-mds контекстного меню приложения.



На первом шаге мастера развертывания необходимо выбрать назначение: разворачивать приложение на сервер приложений либо создать архив с приложением. Необходимо выбрать вариант Deploy to Application Server и нажать кнопку Next.



На втором шаге мастера развертывания нет опций для редактирования. Необходимо нажать кнопку Next.



На третьем шаге мастера развертывания необходимо выбрать сервер приложений, после чего нажать кнопку Next.



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



Пятый последний шаг мастера развертывания является информационным. На нем отображается полная информация о том с какими настройками будет выполняться процесс развертывания.



После нажатия кнопки Finish начнется развертывание приложения на сервер MDS. После успешного завершения процесса в окно журнала будет выведено Deployment Finished.



Убедиться в успешности размещения метаданных на сервере можно с помощью палитры ресурсов. После обновления соединения с сервером MDS с помощью кнопки Refresh, в дереве объектов отобразятся размещенные элементы.



3. Использование метаданных в Oracle SOA Suite


Рассмотрим использование метаданных на примере выбора XSD-схемы при создании JMS-адаптера. На восьмом шаге мастера создания JMS-адаптера необходимо указать XSD-схему, описывающую сообщение. Для выбора файла со схемой служит кнопка с изображением лупы.



После нажатия данной кнопки появится окно со списком присутствующих в проекте типов сообщений. Типы сообщений берутся как из XSD-схем, так и из WSDL-файлов. Если нужного типа сообщения не представлено в списке, его можно импортировать с помощью кнопки с пиктограммой схемы либо WSDL.



После нажатия одной из данных кнопок появится окно т.н. SOA Resource Browser. В верхней части окна расположен переключатель источников. Для того, чтобы импортировать XSD-схему из MDS, необходимо выбрать вариант Resource Palette. После выбора данного варианта, в основном поле окна появится дерево подключений к MDS. Необходимо выбрать файл с XSD-схемой из данного дерева, после чего нажать кнопку OK.



Появится мастер Import Scheme File. Данный мастер содержит поле с указанием пути к выбранному файлу и галочку Copy to Project. Если отметить данную галочку, то выбранный файл будет скопирован из MDS в разрабатываемый проект. Это позволит вести разработку, не имея постоянного подключения к серверу MDS, но в то же время потребует при изменений файлов в MDS, импортировать их заново. Если убрать данную галочку, то файлы не будут импортированы в проект, а будут использоваться лишь ссылки на MDS. Это позволит не импортировать файлы каждый раз заново при их изменении, но потребует наличия связи с сервером MDS при разработке.



После нажатия кнопки OK появится окно Type Chooser, в котором будут доступны импортированные объекты.



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



Понравилось сообщение - подпишитесь на блог

11 комментариев:

Мария Елагина комментирует...

Добрый день! Я пытаюсь подключиться к MDS с помощью средств jdeveloper. Вопрос следующий: как сделать так, какое расширение скачать, чтобы в Resousre Pallete у меня появилось SOA MDS connection, тк сейчас у меня там только Database Connection? (как показано у вас на первой картинке)

Pavel Samolisov комментирует...

Здравствуйте, вам нужно поставить плагин к JDeveloper под названием Composite Editor.

Мария Елагина комментирует...

К сожалению, не помогло. Взяла отсюда плагин, SOA MDS не появляется . http://www.oracle.com/ocom/groups/public/@otn/documents/webcontent/156082.xml#oracle.sca.modeler

Pavel Samolisov комментирует...

ЕМНИП справа отображаются категории, в которых уже есть хоть одно соединение. Попробуйте через New.

Anna Gutoreva комментирует...

Добрый день! Я выгрузила на MDS каталог со схемами. И тут возникли проблемы. Мне доступны только схемы каталога apps, все остальные уровни вложенности не работают (я вижу только структуру папок, но не их содержимое, подключить метаданные к проекту, соответственно, не могу). Уже который день не могу решить эту проблему. Прошу Вашего совета!

Pavel Samolisov комментирует...

В тех книгах по SOA Suite, которые я видел, везде свои схемы рекомендуют помещать в каталог apps. Или вы имеете в виду, что вам не видны схемы в подкаталогах каталога apps?

Anna Gutoreva комментирует...

Да, именно, не видны схемы в подкаталогах каталога apps.

Pavel Samolisov комментирует...

Посмотрите как вы разворачивали MDS. Если вы как и описано в статье создавали приложение и его деплоили, то проверьте в настройках деплоймента, добавлены ли каталоги со схемами в результат развертывания (см. скриншоты с http://4.bp.blogspot.com/-V3o6twhyh1k/TtI_kbaG_MI/AAAAAAAABmk/fTn6dMgVIYc/s400/14.png по http://1.bp.blogspot.com/-NE8tL3xGzis/TtI_sOzQ5vI/AAAAAAAABnU/iWWD8iX7o5g/s1600/18.png)

Anna Gutoreva комментирует...

Спасибо Вам огромное! Нужно было добавить в результат развертывания не только корневую папку каталога, но и отдельно пути до каждой папки этого каталога.

Anna Gutoreva комментирует...

Добрый день!
Могу ли обратиться к вам с просьбой: мне нужна помощь(если нужно, оплачиваемая) по сборке композита с помощью ant(ant-sca-compile(target scac-validare)) с использованием local file based mds. Не могу подключить mds, получаю MDS-00054.

Pavel Samolisov комментирует...

У меня тоже были с этим проблемы, в итоге просто выпили валидацию из сборки. Для этого надо в файле

ПУТЬ ДО ВАШЕГО JDEVELOPER\jdeveloper\bin\ant-sca-package.xml

найти строку

<target name="package" depends="scac-validate">

и убрать depends="scac-validate".

Отправить комментарий

Любой Ваш комментарий важен для меня, однако, помните, что действует предмодерация. Давайте уважать друг друга!