Создание простого приложения SOA с помощью NetBeans
Составители
и
, редактор
Апрель 2008 г.
Публикация относится к среде NetBeans версии 6.1.
Это руководство посвящено созданию простого проекта SOA. Затем к проекту добавляется документ WSDL, и через режим просмотра "Partner" редактора WSDL добавляются сообщения, тип партнерской связи, тип порта и операция. После этого создается проект составного приложения и изменяется настройка проекта с помощью редактора "Composite Application (Service Assembly)". В этом руководстве также рассматривается базовый случай использования элемента "File Binding" в составном приложении.
При установке полного пакета загрузки "All" NetBeans 6.1 вместе с ним устанавливается и сервер приложений 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 сервер запускается автоматически. Таким образом, запускать сервер приложений вручную не требуется.
Настройка сервера приложений GlassFish V2:
Сервер приложений, поставляемый с NetBeans 6.1, использовать не обязательно; можно применять и другие версии. Например, может потребоваться загрузить и установить более новую версию сервера приложений GlassFish V2 с сайта сообщества 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: Папка установки сервера приложений по умолчанию
Платформа
Установка от имени...
Установка SOA
Установка пакета средств
ОС 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.
В этом разделе к проекту модуля BPEL добавляется новый документ WSDL, HelloSample.wsdl, а затем выполняется настройка элементов документа WSDL в представлении "Partner" редактора WSDL.
Создание документа WSDL:
В окне "Projects" разверните узел проекта HelloSample, щелкните правой кнопкой мыши узел Process Files и выберите "New > WSDL Document".
Откроется мастер "New WSDL Document".
Введите HelloSample в поле "File Name".
Нажмите кнопку "Finish".
В окне "Projects" добавлен новый узел HelloSample.wsdl под узлом Process Files.
Файл HelloSample.wsdl открыт в редакторе WSDL.
В редакторе WSDL имеется три представления: "Source", "WSDL" и "Partner".
Для получения дополнительных сведений о редакторе WSDL см. Руководство разработчика по работе с редактором WSDL.
Открыто окно "Properties".
Если окно "Properties" не открыто, выберите "Window > Properties".
Открыто окно "Navigator".
Добавление сообщений:
Нажмите кнопку "Partner" в представлении "WSDL" для перехода в режим "Partner" редактора WSDL.
Выполняется переход к представлению "Partner", и открывается палитра.
Если окно "Palette" не открыто, выберите в главном меню "Window > Palette".
Выберите значок "Message" в разделе палитры "WSDL Components".
Перетащите его в зону "Messages" в области проектирования представления "Partner" (нижняя часть области проектирования).
При этом добавляется сообщение message1.
Примечание: Если не выводятся столбцы "Part Name" и "Part Element", разверните поле message1 щелчком по стрелке вниз.
Дважды щелкните значение по умолчанию part1 в столбце "Part Name" для message1 для получения возможности изменения значения поля, а затем введите inputType и нажмите клавишу Enter.
В столбце "Part Element" или "Type" для message1 нажмите кнопку с многоточием, затем в открывшемся диалоговом окне разверните Built-In Schema Types, выберите string и нажмите кнопку "OK".
Повторите действия 2-5 для создания еще одного сообщения, message2, и используйте resultType в качестве значения "Part Name".
По выполнении всех действий область проектирования должна выглядеть аналогично примеру ниже.
Добавление типа партнерской связи:
Выберите значок "Partner Link Type" в разделе палитры "WSDL Components".
Перетащите его в область проектирования, в зону "Partner Link Types" (в верхней части области проектирования).
В результате добавляется партнерская связь с именем partnerlinktype1. Теперь можно создать новые роли и типы порта. Роли и типы порта показаны в виде пунктирных вертикальных линий, над которыми надписаны внешние имена, показанные сверху.
В поле partnerlinktype1 дважды щелкните поле под role1.
При этом тип порта становится изменяемым, и в поле появляется значение по умолчанию portType1.
Нажмите клавишу Enter.
Выполняется присвоение нового portType1.
Выберите значок "Request-Response" в разделе палитры "WSDL Components".
Перетащите его в область проектирования под portType1.
При этом добавляется операция operation1.
В operation1 выберите сообщение, обозначенное сплошной линией, с надписью <No Message Selected>.
Выберите "tns:message1" из раскрывающегося списка "Message" в окне "Properties".
Метка изменяется на message1.
В operation1 выберите сообщение, обозначенное пунктирной линией, с надписью <No Message Selected>.
Выберите "tns:message2" из раскрывающегося списка "Message" в окне "Properties".
Метка изменяется на message2.
После выполнения этих действий область проектирования должна выглядеть подобно иллюстрации, приведенной ниже.
Этот раздел посвящен добавлению файла процесса BPEL HelloSample.bpel. После этого к файлу процесса BPEL добавляется партнерская связь и три действия.
Создание файла проекта BPEL:
В окне "Projects" разверните узел проекта HelloSample, а затем щелкните правой кнопкой мыши узел Process Files и выберите "New > BPEL Process".
Откроется мастер "New BPEL Process".
Введите HelloSample в поле "File Name".
Нажмите кнопку "Finish".
В окне "Projects" добавлен новый узел HelloSample.bpel под узлом Process Files.
Файл HelloSample.bpel открыт в BPEL Designer.
В BPEL Designer имеются два представления: "Source" и "Design".
Для получения дополнительных сведений о проектировщике BPEL см. Руководство разработчика по BPEL Designer.
Открыто окно "Properties".
Если окно "Properties" не открыто, выберите "Window > Properties".
Открыто окно "Navigator", и в нем отображается логическое представление BPEL документа процесса BPEL.
Окно среды IDE должно выглядеть следующим образом.
Добавление партнерской связи:
В разделе палитры "Web Service" выберите значок "Partner Link" и перетащите его в область проектирования.
Откроется диалоговое окно "Create New Partner Link".
В остальных полях примите значения по умолчанию (Name: PartnerLink1, "WSDL File": /HelloSample.wsdl, установите переключатель "Use Existing Partner Link Type") и нажмите кнопку "OK".
При этом в область проектирования добавляется партнерская связь.
Добавление действия получения:
Выберите значок "Receive" в разделе палитры "Web Service".
Перетащите выбранный элемент в поле HelloSample в области проектирования между действиями Process Start и Process End.
Возможное место перетаскивания указывается в IDE визуальными подсказками.
В результате в режиме проектирования размещается действие получения с именем Receive1.
Нажмите кнопку Edit действия Receive1.
На вкладке "Main" в окне "Receive1 [Receive] Properties" нажмите кнопку с многоточием в редакторе свойств.
Откроется редактор свойств "Receive1 [Receive] – Property Editor".
Выберите "PartnerLink1" из раскрывающегося списка "Partner Link".
В поле "Operation" заносится значение operation1.
Создайте новую входную переменную следующим образом:
Нажмите кнопку "Create" рядом с полем "Input Variable".
Откроется диалоговое окно "New Input Variable".
Измените значение в поле "Name" на inputVar.
Нажмите кнопку "OK".
Для закрытия окна "Receive1 [Receive] – Property Editor" нажмите кнопку "OK".
В режиме проектирования теперь отображается связь между operation1 в "PartnerLink1" и действием Receive1.
Добавление действия ответа:
Выберите значок "Reply" в разделе палитры "Web Service".
Перетащите выбранный элемент в область проектирования схемы между действиями Receive1 и Process End.
Возможное место перетаскивания указывается в IDE визуальными подсказками.
В результате в режиме проектирования размещается действие ответа с именем Reply1.
Нажмите кнопку Edit действия Reply1.
Открывается редактор свойств "Reply1 [Reply] - Property Editor".
На вкладке "Main" редактора выберите PartnerLink1 из раскрывающегося списка "Partner Link".
В поле "Operation" заносится значение operation1.
Создайте новую выходную переменную следующим образом:
Убедитесь в том, что выбран переключатель "Normal Response".
Нажмите кнопку "Create" рядом с полем "Output Variable".
Откроется диалоговое окно "New Output Variable".
Измените значение в поле "Name" на outputVar.
Нажмите кнопку "OK".
Нажмите кнопку "OK" для закрытия окна "Reply1 [Reply] - Property Editor".
В режиме проектирования теперь отображается связь между действием Reply1 и operation1 в "PartnerLink1".
Добавление действия присвоения:
Выберите значок "Assign" в разделе палитры "Basic Activities".
Перетащите выбранный элемент в область проектирования схемы между действиями Receive1 и Reply1.
В результате в режиме проектирования размещается действие присвоения с именем Assign1.
Выберите действие Assign1, затем нажмите кнопку "Mapper" на панели инструментов редактора.
Разверните узел inputVar на панели дерева "Output" (левая панель) в окне BPEL Mapper в разделе "Variables".
Под узлом inputVar открывается узел inputType.
Разверните узел outputVar в разделе "Variables" на (правой) панели дерева "Input" в окне BPEL Mapper.
Под узлом resultType открывается узел outputVar.
Выберите узел inputType на панели дерева "Source" и перетащите его к узлу resultType на панели "Destination".
В результате этого присвоения оператор ввода копируется на вывод.
Для сохранения изменений выберите узел проекта HelloSample в окне "Projects" и выберите "File > Save All" в главном меню.
Перед развертыванием проекта модуля BPEL необходимо добавить модуль JBI к проекту развертывания. При развертывании проекта сборка служб становится доступной серверу приложений, в результате чего становится возможным запуск служебных модулей.
Создание проекта составного приложения:
Выберите в главном меню "File > New Project".
Откроется мастер создания проекта.
В списке "Categories" выберите узел SOA.
В списке "Projects" выберите узел "Composite Application".
Нажмите кнопку "Next".
Введите SampleCompositeApp в поле "Project Name".
Нажмите кнопку "Finish".
В окне "Projects" теперь содержится узел проекта для проекта составного приложения с именем SampleCompositeApp.
Использование редактора составного приложения (сборки служб)
В этом разделе выполняется изменение настроек проекта и сборка проекта модуля BPEL с помощью редактора составного приложения (сборки служб). Затем добавляется конечная точка WSDL и соединение, после чего проверяются и изменяются свойства автоматически созданных конечных точек WSDL.
Изменение настроек проекта и сборка проекта модуля BPEL с помощью редактора составного приложения (сборки служб):
В окне "Projects" разверните узел проекта SampleCompositeApp, а затем щелкните правой кнопкой мыши узел Service Assembly и выберите в контекстном меню Edit.
Примечание: Для вызова редактора CASA в среде NetBeans 6.0 необходимо щелкнуть правой кнопкой мыши составное приложение в окне "Projects" и выбрать Edit Application Configuration.
В редакторе CASA откроется файл .casa. Область "Design" режима проектирования в редакторе состоит из трех частей: "WSDL Ports", "JBI Modules" и "External Modules".
В окне "Projects" выберите узел проекта HelloSample и перетащите его в область "JBI Modules" в режиме проектирования файла SampleCompositeApp.casa.
Для сборки проекта модуля BPEL HelloSample нажмите кнопку "Build Project" на панели инструментов редактора.
После этого выполните следующие действия:
В строке состояния выводится следующее сообщение: Finished building build.xml (jbi-build).
Окно "Output" должно выглядеть следующим образом.
Окно режима проектирования для файла SampleCompositeApp.casa должно выглядеть следующим образом:
Создание конечной точки WSDL:
Выберите значок файла в разделе палитры "WSDL Bindings".
Перетащите выбранный элемент в область "WSDL Ports" в режиме проектирования для файла SampleCompositeApp.casa.
При этом добавляется порт WSDL casaPort1.
Создание соединения:
Щелкните значок потребляющей конечной точки в порте casaPort1 в режиме проектирования. Эта конечная точка указывает наружу.
Перетащите выбранную конечную точку в role1_myRole в поле (BPEL) HelloSample в области "JBI Modules".
В результате создается новое соединение.
Проверка и изменение свойств автоматически созданной конечной точки WSDL:
Если окно "Navigator" не открыто, выберите в главном меню "Window > Navigating > Navigator".
Выберите "Logical View" из раскрывающегося списка в окне "Navigator".
Если окно "Properties" не открыто, выберите в главном меню "Window > Properties".
В окне "Properties" выводятся свойства узла file:message, выбранного в окне "Navigator".
В окне "Properties" измените значение свойств в соответствии со значениями, приведенными ниже:
Свойство
Значение
use
literal
fileName
input.txt
pollingInterval
5000
В окне "Navigator" разверните WSDL Ports > casaPort1 > casaBinding1 > operation1 > output1 и выберите узел file:message.
В окне "Properties" для file:message установите для свойства "fileName" значение output.txt.
В окне "Navigator" разверните WSDL Ports > casaPort1 > casaPort1 и выберите узел file:address.
В окне "Properties" для file:address установите для свойства fileDirectory значение c:\test.
Для сохранения изменений выберите узел проекта SampleCompositeApp в окне "Projects" и выберите "File > Save All" в главном меню.
Развертывание и тестирование составного приложения
В этом разделе выполняется развертывание и тестирование составного приложения. Если действия в разделе Настройка и запуск сервера приложений Sun Java System этого руководства были пропущены, их следует выполнить до перехода к задачам развертывания и тестирования.
Развертывание составного приложения:
В окне "Projects" щелкните правой кнопкой мыши узел проекта SampleCompositeApp и выберите "Deploy".
В окне "Output" появится сообщение, подобное следующему: BUILD SUCCESSFUL (total time: 6 seconds)
Тестирование составного приложения:
Создайте в текстовом редакторе новый файл, содержащий строку "Hello World!", и сохраните его под именем input.txt в папке c:\test.
Выполняемый процесс должен произвести следующие действия:
Создать файл input.txt<UUID>_processed в папке "C:\test\archive".
Создать файл output.txt в папке "C:/test" с содержимым, идентичным "input.txt", в данном случае – со строкой Hello World!.
Если этот процесс не удается, выполняется следующая обработка ошибок:
Создается файл input.txt<UUID> _error в папке "c:\test\filebc_tmp".
В этом руководстве был создан проект модуля BPEL. Затем к проекту был добавлен документ WSDL, и через режим просмотра "Partner" редактора WSDL были добавлены сообщения, тип партнерской связи, тип порта и операция. После этого был создан проект составного приложения, настройка которого была изменена с помощью редактора составного приложения (CASA). Также в составном приложении был использован элемент "File Binding".
Оставить комментарии и предложения, обратиться за поддержкой и получить информацию о последних достижениях в области функциональных возможностей разработки для J2EE с помощью IDE NetBeans можно через рассылку
.