Это руководство посвящено созданию простого проекта SOA. Затем к проекту добавляется документ WSDL, и через режим просмотра "Partner" редактора WSDL добавляются сообщения, тип партнерской связи, тип порта и операция. После этого создается проект составного приложения и изменяется настройка проекта с помощью редактора "Composite Application (Service Assembly)".
Перед началом работы рекомендуется ознакомиться с требованиями в этом разделе.
Настройка и запуск сервера приложений GlassFish
При установке полного пакета загрузки "All" NetBeans 6.1 вместе с ним устанавливается и сервер приложений GlassFish. При необходимости GlassFish V2 автоматически запускается средой NetBeans.
Запуск сервера приложений GlassFish:
- Если окно "Services" не открыто, выберите "Window > Services".
- В диалоговом окне "Services" выберите узел "Servers".
Узел "Servers" содержит подузел сервера приложений GlassFish V2. Если узел сервера приложений GlassFish отсутствует, перейдите к разделу Настройка сервера приложений GlassFish.

- Щелкните правой кнопкой мыши узел "GlassFish V2" и выберите "Start".
В окне "Output" выводится информация протокола по настройке приложения. Если окно "Output" не отображается, выберите "Window > Output > Output".
При появлении в окне "Output" сообщения Application server startup complete сервер приложений можно считать запущенным.
Примечание: Если рядом с узлом сервера приложений GlassFish выводится значок с зеленой стрелкой, сервер запущен.
Это интересно: При развертывании приложения на сервере приложений GlassFish сервер запускается автоматически. Таким образом, запускать сервер приложений вручную не требуется.
Выбор альтернативного сервера приложений:
Ниже приведена процедура настройки IDE NetBeans 6.1 для использования альтернативной версии сервера приложений GlassFish V2. Предполагается, что альтернативная версия сервера приложений загружена и установлена.
- В окне "Services" щелкните правой кнопкой мыши узел "Servers" и выберите "Add Server" в контекстном меню.
Откроется диалоговое окно "Add Server Instance".
- Выберите из раскрывающегося списка на странице "Choose Server" пункт "GlassFish V2".
- Нажмите кнопку "Next".
Откроется страница "Platform Folder Location".
- Нажмите кнопку "Browse" в поле "Platform Location", затем перейдите к установочному каталогу сервера приложений и выберите его.
Если сервер приложений GlassFish установлен в каталог по умолчанию, место установки можно определить по таблице 1. В противном случае перейдите к местоположению установки сервера приложений GlassFish V2.
Таблица 1: Папка установки сервера приложений по умолчанию
ОС Solaris
Linux |
root |
/opt/SUNWappserver |
/opt/SDK |
ОС Solaris
Linux |
user |
~/SUNWappserver |
~/SDK |
| Mac OS X |
- |
~/SUNWappserver |
~/SDK |
| Windows |
- |
C:\Sun\AppServer |
C:\Sun\SDK |
- Выберите переключатель "Register Local Default Domain" и нажмите кнопку "Next".
- Введите имя пользователя и пароль администратора домена.
Если при установке были приняты стандартные значения, имени пользователя соответствует admin, а паролю – adminadmin.
- Нажмите кнопку "Finish".
наверх
Создание проекта модуля BPEL
Этот раздел посвящен созданию проекта модуля BPEL под названием SynchronousSample.
Для создания проекта SynchronousSample:
- Выберите в главном меню "File > New Project".
Откроется мастер создания проекта.
- Выберите узел SOA в списке "Categories", а затем выберите узел BPEL Module в списке "Projects".
- Нажмите кнопку "Next".
- Введите SynchronousSample в поле "Project Name".
- (Дополнительно) Кнопка "Browse" в поле "Project Location" позволяет выбрать другой каталог сохранения файлов проекта.
- Нажмите кнопку "Finish".
В окне "Projects" теперь содержится узел проекта модуля BPEL с названием SynchronousSample.

наверх
Создание схемы XML
В этом разделе к проекту модуля BPEL добавляется новый файл схемы XML, а затем к схеме добавляются элементы.
Создание SynchronousSample.xsd:
- В окне "Projects" разверните узел проекта SynchronousSample, а затем щелкните правой кнопкой мыши узел Process Files и выберите "New > Other".
Открывается мастер создания файла.
- Выполните следующие действия в мастере создания файла:
- На странице "Choose File Type" выберите узел XML в списке "Categories", затем выберите узел XML Schema в списке "File Types".
- Введите SynchronousSample в поле "File Name".
- Нажмите кнопку "Finish".
В окне "Projects" узел Process Files теперь имеет подузел SynchronousSample.xsd. В редакторе исходного кода содержится вкладка для файла схемы XML SynchronousSample.xsd с открытым режимом просмотра схемы.
- Нажмите кнопку "Design" в режиме просмотра схемы для перехода в режим проектирования редактора схемы XML.

Добавление составного типа к схеме XML:
- Разверните раздел "XML Schema Components" в палитре, которая появляется справа в режиме проектирования, и выберите значок составного типа.
Если окно "Palette" не открыто, выберите в главном меню "Window > Palette".
- Перетащите выбранный вариант в область проектирования схемы непосредственно под узлом Complex Types.
IDE добавляет узел составного типа, и имя составного типа (newComplexType) выбрано и готово к изменению.
- Введите simpleProcess в новом узле и нажмите клавишу Enter.
Теперь в области проектирования выводится новый составной тип, названный simpleProcess.

Добавление локального элемента к simpleProcess:
- В разделе палитры "XML Components" выберите значок элемента и перетащите его в узел simpleProcess в области проектирования схемы.
При этом добавляется узел элемента newElement.
- Если окно "Properties" не открыто, выберите "Window > Properties".
- Выберите узел newElement в области проектирования схемы.
- Выберите значение для поля Name в окне "Properties" для получения возможности изменения и введите paramA.
- В окне "Properties" нажмите кнопку с многоточием рядом со свойством Definition.
Откроется диалоговое окно "Definition".
- Разверните узел списка Built-in Types и выберите узел string.
- Нажмите кнопку "OK".
Данные в режиме проектирования обновляются.

Добавление глобального элемента:
- Выберите значок элемента в разделе палитры "XML Components" и перетащите его в область проектирования непосредственно под узел "Elements".
При этом в область проектирования схемы добавляется элемент newElement под узлами Elements.
- Выберите узел newElement в области проектирования схемы в режиме проектирования.
- Выберите значение для поля Name в окне "Properties" для получения возможности изменения и введите typeA.
- В окне "Properties" нажмите кнопку с многоточием рядом со свойством Definition.
Открывается диалоговое окно определения элемента "Definition".
- Разверните узел Complex Types в списке типов и выберите узел составного типа simpleProcess.
- Нажмите кнопку "OK".
В режиме проектирования рядом с узлом элемента typeA теперь выводится выбранный составной тип simpleProcess.

- Для сохранения изменений выберите узел проекта SynchronousSample в окне "Projects" и выберите "File > Save All" в главном меню.
наверх
Создание документа WSDL
В этом разделе к проекту модуля BPEL добавляется новый файл WSDL, а затем выполняется настройка элементов документа WSDL.
Создание SynchronousSample.wsdl:
- В окне "Projects" разверните узел проекта SynchronousSample, а затем щелкните правой кнопкой мыши узел Process Files и выберите "New > WSDL Document".
Откроется мастер "New WSDL Document".
- Выполните следующие действия на странице "Name and Location":
- Введите SynchronousSample в поле "File Name".
- Установите флажок "Import XML Schema File(s)".
- Нажмите кнопку "Browse" в поле "XML Schema(s)".
Откроется диалоговое окно "Add Import". В этом диалоговом окне предлагается выбрать импортируемые схемы XML.
- Разверните узел By File > SynchronousSample > Process Files и выберите SynchronousSample.xsd.
Убедитесь в том, что для SynchronousSample.xsd установлен флажок в столбце "Import".

- Нажмите кнопку "OK".
- Нажмите кнопку "Next".
Откроется страница "Abstract Configuration".
- Выполните следующие действия в области "Input" страницы "Abstract Configuration":
- Дважды щелкните значение по умолчанию (part1) в столбце "Message Part Name" для получения возможности изменения поля.
- Введите inputType и нажмите клавишу Enter.
- Нажмите кнопку с многоточием в столбце "Element Or Type".
Откроется диалоговое окно "Select Element Or Type".
- Разверните By File > SynchronousSample > src/SynchronousSample.xsd > Elements.
Примечание: Для работы с узлом By File в диалоговом окне "Select Element Or Type" может потребоваться прокрутка до начала списка.
- Выберите в узле Elements пункт typeA и нажмите кнопку "OK".
- Выполните следующие действия в области "Output" страницы "Abstract Configuration":
- Дважды щелкните значение по умолчанию (part1) в столбце "Message Part Name" для получения возможности изменения поля.
- Введите resultType и нажмите клавишу Enter.
- Нажмите кнопку с многоточием в столбце "Element Or Type".
Откроется диалоговое окно "Select Element Or Type".
- Разверните By File > SynchronousSample > src/SynchronousSample.xsd > Elements.
Примечание: Для работы с узлом By File в диалоговом окне "Select Element Or Type" может потребоваться прокрутка до начала списка.
- Выберите typeA в узле Elements и нажмите кнопку "OK".
Заполненная страница "Abstract Configuration" должна выглядеть подобно примеру ниже.

- Нажмите кнопку "Next".
Откроется страница "Concrete Configuration".
- Выберите переключатель "Document Literal" в группе "Binding Subtype".
- Нажмите кнопку "Finish".
В окне "Projects" узел Process Files теперь имеет подузел SynchronousSample.wsdl.
В редакторе исходного кода содержится вкладка для файла WSDL SynchronousSample.wsdl с открытым режимом WSDL.

наверх
Создание процесса BPEL
Этот раздел посвящен созданию файла .bpel для процесса BPEL. После этого к проекту добавляется партнерская связь и три действия.
Создание SynchronousSample.bpel:
- В окне "Projects" щелкните правой кнопкой мыши узел Process Files и выберите "New > BPEL Process".
Откроется мастер "New BPEL Process".
- Введите SynchronousSample в поле "File Name".
- Нажмите кнопку "Finish".
В окне "Projects" узел Process Files теперь имеет подузел SynchronousSample.bpel.
В редакторе исходного кода имеется вкладка для процесса BPEL SynchronousSample.bpel с открытым режимом проектирования в BPEL Designer.

Добавление партнерской связи:
- Убедитесь в том, что в редакторе исходного кода активным является режим проектирования SynchronousSample.bpel.
- В окне "Projects" разверните узел проекта SynchronousSample, а затем разверните узел Process Files и выберите узел SynchronousSample.wsdl.
- Перетащите выбранный элемент (SynchronousSample.wsdl) из окна "Projects" в окно режима проектирования.
При этом в область проектирования добавляется поле для партнерской связи.

Добавление действия получения:
- Убедитесь в том, что в редакторе исходного кода активным является режим проектирования SynchronousSample.bpel.
- Выберите значок "Receive" в разделе палитры "Web Service".
- Перетащите выбранный элемент в рамку процесса SynchronousSample в области проектирования между действиями Process Start и Process End.
Возможное место перетаскивания указывается в IDE визуальными подсказками.
В результате в режиме проектирования размещается действие получения с именем Receive1.
- Нажмите кнопку "Edit" действия "Receive1".
Откроется редактор свойств "Receive1 [Receive] – Property Editor".
- На вкладке "Main" измените значение поля "Name" на start.
- Выберите "PartnerLink1" из раскрывающегося списка "Partner Link".
В поле "Operation" заносится значение SynchronousSampleOperation.
- Создайте новую входную переменную следующим образом:
- Нажмите кнопку "Create" рядом с полем "Input Variable".
Откроется диалоговое окно "New Input Variable".
- Измените значение в поле "Name" на inputVar.
- Нажмите кнопку "OK".
- Для закрытия окна "Receive1 [Receive] – Property Editor" нажмите кнопку "OK".
В режиме проектирования теперь отображается связь между PartnerLink1 и действием start в поле процесса SynchronousSample.

Добавление действия ответа:
- Убедитесь в том, что в редакторе исходного кода активным является режим проектирования SynchronousSample.bpel.
- Выберите значок "Reply" в разделе палитры "Web Service".
- Перетащите выбранный элемент в область проектирования схемы между действиями start и Process End.
Возможное место перетаскивания указывается в IDE визуальными подсказками.
В результате в режиме проектирования размещается действие ответа с именем Reply1.
- Нажмите кнопку Edit для действия "Reply1".
Открывается редактор свойств "Reply1 [Reply] - Property Editor".
- На вкладке "Main" измените значение поля "Name" на end.
- Выберите "PartnerLink1" из раскрывающегося списка "Partner Link".
В поле "Operation" заносится значение SynchronousSampleOperation.
- Создайте новую выходную переменную следующим образом:
- Убедитесь в том, что выбран переключатель "Normal Response".
- Нажмите кнопку "Create" рядом с полем "Output Variable".
Откроется диалоговое окно "New Output Variable".
- Измените значение в поле "Name" на outputVar.
- Нажмите кнопку "OK".
- Нажмите кнопку "OK" для закрытия окна "Reply1 [Reply] - Property Editor".
В режиме проектирования теперь отображается связь между действием end в поле процесса SynchronousSample и PartnerLink1.

Добавление действия присвоения:
- Убедитесь в том, что в редакторе исходного кода активным является режим проектирования SynchronousSample.bpel.
- Выберите значок "Assign" в разделе палитры "Basic Activities".
- Перетащите выбранный элемент в область проектирования схемы между действиями start и end.
В результате в режиме проектирования размещается действие присвоения с именем Assign1.
- Выберите действие Assign1.
- Нажмите кнопку "Mapper" на панели редакторов.
Откроется окно BPEL Mapper.
- Разверните inputVar > inputType на панели дерева "Output" (левая панель) в окне BPEL Mapper в разделе "Variables".
Под узлом paramA открывается узел inputVar.
- Разверните узел outputVar > resultType в разделе "Variables" на (правой) панели дерева "Input" в окне BPEL Mapper.
Под узлом paramA открывается узел resultType.
- Выберите узел paramA на панели дерева "Output" и перетащите его к узлу paramA на панели "Input".
В результате этого присвоения оператор ввода копируется на вывод.

- Для сохранения изменений выберите узел проекта SynchronousSample в окне "Projects" и выберите "File > Save All" в главном меню.
наверх
Создание и развертывание составного приложения
Перед развертыванием проекта модуля BPEL необходимо добавить модуль JBI к проекту развертывания. При развертывании проекта сборка служб становится доступной серверу приложений, в результате чего становится возможным запуск служебных модулей.
Создание проекта составного приложения и добавление модуля JBI:
- Выберите в главном меню "File > New Project".
Откроется мастер создания проекта.
- Выберите узел SOA в списке "Categories", а затем выберите узел Composite Application в списке "Projects".
- Нажмите кнопку "Next".
- Введите SynchronousSampleApplication в поле "Project Name".
- Нажмите кнопку "Finish".
В окне "Projects" теперь содержится узел проекта для проекта составного приложения с именем SynchronousSampleApplication.
- В окне "Projects" щелкните правой кнопкой мыши узел проекта SynchronousSampleApplication и выберите Add JBI Module в контекстном меню.
Откроется диалоговое окно "Select Project".
- Выберите проект SynchronousSample, созданный ранее при работе с данным руководством, и нажмите кнопку "Add Project JAR Files".
Диалоговое окно "Select Project" закроется.
- В окне "Projects" разверните узел проекта SynchronousSampleApplication, а затем разверните узел JBI Modules.
Обратите внимание, что добавился узел SynchronousSample.jar.

Развертывание составного приложения:
- Щелкните правой кнопкой мыши узел проекта SynchronousSampleApplication и выберите "Deploy".
Если в окне "Output" выдается сообщение, подобное следующему, то развертывание прошло успешно:
BUILD SUCCESSFUL (total time: 11 seconds)
наверх
Проект составного приложения можно усовершенствовать путем добавления тестов, с последующим связыванием с операцией, передачей входных данных и применением тестера.
Тестирование проекта составного приложения SynchronousSampleApplication:
- В окне "Projects" разверните узел проекта SynchronousSampleApplication, а затем щелкните правой кнопкой мыши узел Test и выберите в контекстном меню "New Test Case".
Откроется мастер "New Test Case".
- Примите имя по умолчанию TestCase1 и нажмите кнопку "Next".
- Разверните узел SynchronousSample на странице "Select the WSDL Document", выберите SynchronousSample.wsdl и нажмите кнопку "Next".
- Выберите SynchronousSampleOperation на странице "Select the Operation to Test" и нажмите кнопку "Finish".
Обратите внимание на следующее:
- В окне "Projects" в узле Test создан подузел TestCase1.
- В узле TestCase1 содержится два подузла: Input и Output.
- В редакторе исходного кода содержится вкладка для файла "Input" Input.xml.

Примечание: Если в редакторе исходного кода отсутствует вкладка для Input.xml, откройте файл двойным щелчком по узлу Input в окне "Projects".
- Выполните следующие действия на вкладке редактора исходного кода с файлом Input.xml:
- Перейдите к следующей строке:
<syn:paramA>?string? <syn:paramA>.
- Замените ?string? на Hello World.
Строка должна выглядеть следующим образом:
<syn:paramA>Hello World<syn:paramA>.
- Выберите в главном меню "File > Save All".
- В окне "Projects" дважды щелкните узел Output в Test > TestCase1 и ознакомьтесь с его содержанием.
Изначально узел output.xml пуст. Поэтому при первом прогоне теста output.xml заполняется реальными выходными данными. При последующих прогонах теста реальные выходные данные сравниваются с содержимым output.xml.
- В окне "Projects" щелкните правой кнопкой мыши узел TestCase1 и выберите "Run" в контекстном меню.
Примечание: Первый прогон – особый случай, поскольку файл Output.xml пуст, и результаты выводится в окне "Output".
Обратите внимание на сообщение о сбое в окне "Output".
Откроется диалоговое окно Overwrite Empty Output.
- Нажмите кнопку "Yes".
- В окне "Projects" щелкните правой кнопкой мыши узел TestCase1 и выберите "Run" в контекстном меню.
После первого прогона Output заполняется. Содержимое файла сохраняется и не перезаписывается новым результатом.

наверх
Заключение
В этом руководстве был создан простой проект модуля BPEL с именем SynchronousSample и проект составного приложения с именем SynchronousSampleApplication. Затем были разработаны файл схемы XML и файл WSDL. Рассмотрен вопрос разработки и развертывания процесса BPEL. Также раскрыта тема создания и выполнения тестового прогона составного приложения.
В результате выполнения действий, приведенных в этом руководстве, был сформирован процесс Synchronous BPEL, доступный в IDE ("New > Project > Samples > SOA > Synchronous BPEL Process").
Что дальше?
Дополнительная информация
наверх