corner imagecorner image
FeaturesPluginsDocs & SupportCommunityPartners

Создание простого приложения SOA с помощью NetBeans

Это руководство посвящено созданию простого проекта SOA. Затем к проекту добавляется документ WSDL, и через режим просмотра "Partner" редактора WSDL добавляются сообщения, тип партнерской связи, тип порта и операция. После этого создается проект составного приложения и изменяется настройка проекта с помощью редактора "Composite Application (Service Assembly)". В этом руководстве также рассматривается базовый случай использования элемента "File Binding" в составном приложении.

Предполагаемая продолжительность: 45 минут

Требования для работы с руководством

Перед началом работы рекомендуется ознакомиться с требованиями в этом разделе.

Предварительные условия

Предполагается, что читатель обладает базовыми знаниями языка и платформы Java и IDE NetBeans или опытом программирования с их использованием:

Программное обеспечение для работы с руководством

Программное обеспечение или ресурс Требуемая версия
Среда IDE NetBeans вариант установки "All" версии 6.0 или 6.1
Комплект для разработчика на языке Java (JDK) версия 6 или
версия 5
Веб-сервер или сервер приложений, совместимый с Java EE GlassFish V2 UR2 для NetBeans 6.1
GlassFish V2 UR1 для NetBeans 6.0

В вариант загрузки "All" входит пакет SOA и сервер приложений GlassFish V2, необходимые для работы с этим руководством.

наверх

Настройка и запуск сервера приложений GlassFish

При установке полного пакета загрузки "All" NetBeans 6.1 вместе с ним устанавливается и сервер приложений GlassFish V2. При необходимости сервер приложений автоматически запускается средой NetBeans.

Запуск сервера приложений GlassFish:

  1. Если окно "Services" не открыто, выберите "Window > Services".
  2. В диалоговом окне "Services" выберите узел "Servers".
    Узел "Servers" должен содержать подузел сервера приложений "GlassFish V2". Если узел сервера приложений GlassFish отсутствует, перейдите к разделу Настройка сервера приложений GlassFish.

На рисунке показан развернутый узел "GlassFish V2" в окне "Services".

  1. Щелкните правой кнопкой мыши узел "GlassFish V2" и выберите "Start".

    В окне "Output" выводится информация протокола по настройке приложения. Если окно "Output" не отображается, выберите "Window > Output > Output".
    При появлении в окне "Output" сообщения Application server startup complete сервер приложений можно считать запущенным.

    Примечание: Если рядом с узлом сервера приложений GlassFish выводится значок с зеленой стрелкой, сервер запущен.

    Это интересно: При развертывании приложения на сервере приложений GlassFish сервер запускается автоматически. Таким образом, запускать сервер приложений вручную не требуется.

Настройка сервера приложений GlassFish V2:

  1. Сервер приложений, поставляемый с NetBeans 6.1, использовать не обязательно; можно применять и другие версии. Например, может потребоваться загрузить и установить более новую версию сервера приложений GlassFish V2 с сайта сообщества GlassFish.

    Ниже приведена процедура настройки IDE NetBeans 6.1 для использования альтернативной версии сервера приложений GlassFish V2. Предполагается, что альтернативная версия сервера приложений загружена и установлена.


    1. В окне "Services" щелкните правой кнопкой мыши узел "Servers" и выберите "Add Server" в контекстном меню.
      Откроется диалоговое окно "Add Server Instance".
    2. Выберите из раскрывающегося списка на странице "Choose Server" пункт "GlassFish V2".
    3. Нажмите кнопку "Next".

      Откроется страница "Platform Folder Location".
    4. Нажмите кнопку "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
    5. Выберите переключатель "Register Local Default Domain" и нажмите кнопку "Next".
    6. Введите имя пользователя и пароль администратора домена.
      Если при установке были приняты стандартные значения, имя пользователя – admin, а пароль – adminadmin.
    7. Нажмите кнопку "Finish".

наверх

Создание проекта модуля BPEL

Этот раздел посвящен созданию проекта модуля BPEL под названием HelloSample.

Для создания проекта:

  1. Выберите в главном меню "File > New Project".
    Откроется мастер создания проекта.
  2. В списке "Categories" выберите узел SOA.
  3. В списке "Projects" выберите узел "BPEL Module".
  4. Нажмите кнопку "Next".
  5. Введите HelloSample в поле "Project Name".
  6. (Дополнительно) Кнопка "Browse" в поле "Project Location" позволяет выбрать другой каталог сохранения файлов проекта.
  7. Нажмите кнопку "Finish".
    В окне "Projects" теперь содержится узел проекта модуля BPEL с названием HelloSample.

наверх

Создание документа WSDL

В этом разделе к проекту модуля BPEL добавляется новый документ WSDL, HelloSample.wsdl, а затем выполняется настройка элементов документа WSDL в представлении "Partner" редактора WSDL.

Создание документа WSDL:

  1. В окне "Projects" разверните узел проекта HelloSample, щелкните правой кнопкой мыши узел Process Files и выберите "New > WSDL Document".
    Откроется мастер "New WSDL Document".
  2. Введите HelloSample в поле "File Name".
  3. Нажмите кнопку "Finish".
    • В окне "Projects" добавлен новый узел HelloSample.wsdl под узлом Process Files.
    • Файл HelloSample.wsdl открыт в редакторе WSDL.
      В редакторе WSDL имеется три представления: "Source", "WSDL" и "Partner".
      Для получения дополнительных сведений о редакторе WSDL см. Руководство разработчика по работе с редактором WSDL.
    • Открыто окно "Properties".
      Если окно "Properties" не открыто, выберите "Window > Properties".
    • Открыто окно "Navigator".

    На рисунке показан "HelloSample.wsdl", открытый в редакторе WSDL. Щелкните для увеличения

Добавление сообщений:

  1. Нажмите кнопку "Partner" в представлении "WSDL" для перехода в режим "Partner" редактора WSDL.
    Выполняется переход к представлению "Partner", и открывается палитра.
    Если окно "Palette" не открыто, выберите в главном меню "Window > Palette".
  2. Выберите значок "Message" в разделе палитры "WSDL Components".
  3. Перетащите его в зону "Messages" в области проектирования представления "Partner" (нижняя часть области проектирования).
    При этом добавляется сообщение message1.

    На рисунке показано окно "Partner" редактора WSDL.


    Примечание: Если не выводятся столбцы "Part Name" и "Part Element", разверните поле message1 щелчком по стрелке вниз.
  4. Дважды щелкните значение по умолчанию part1 в столбце "Part Name" для message1 для получения возможности изменения значения поля, а затем введите inputType и нажмите клавишу Enter.
  5. В столбце "Part Element" или "Type" для message1 нажмите кнопку с многоточием, затем в открывшемся диалоговом окне разверните Built-In Schema Types, выберите string и нажмите кнопку "OK".
  6. Повторите действия 2-5 для создания еще одного сообщения, message2, и используйте resultType в качестве значения "Part Name".
    По выполнении всех действий область проектирования должна выглядеть аналогично примеру ниже.

    На рисунке показаны два сообщения, добавленные в документ WSDL в представлении "Partner" редактора WSDL. Щелкните для увеличения

Добавление типа партнерской связи:

  1. Выберите значок "Partner Link Type" в разделе палитры "WSDL Components".
  2. Перетащите его в область проектирования, в зону "Partner Link Types" (в верхней части области проектирования).
    В результате добавляется партнерская связь с именем partnerlinktype1. Теперь можно создать новые роли и типы порта. Роли и типы порта показаны в виде пунктирных вертикальных линий, над которыми надписаны внешние имена, показанные сверху.

    На рисунке показано добавление типа партнерской связи в документ WSDL в представлении "Partner" редактора WSDL. Щелкните для увеличения

  3. В поле partnerlinktype1 дважды щелкните поле под role1.
    При этом тип порта становится изменяемым, и в поле появляется значение по умолчанию portType1.
  4. Нажмите клавишу Enter.
    Выполняется присвоение нового portType1.
  5. Выберите значок "Request-Response" в разделе палитры "WSDL Components".
  6. Перетащите его в область проектирования под portType1.
    При этом добавляется операция operation1.

    На рисунке показано создание операции "запрос-ответ" в представлении "Partner" редактора WSDL. Щелкните для увеличения

  7. В operation1 выберите сообщение, обозначенное сплошной линией, с надписью <No Message Selected>.
  8. Выберите "tns:message1" из раскрывающегося списка "Message" в окне "Properties".
    Метка изменяется на message1.
  9. В operation1 выберите сообщение, обозначенное пунктирной линией, с надписью <No Message Selected>.
  10. Выберите "tns:message2" из раскрывающегося списка "Message" в окне "Properties".
    Метка изменяется на message2.
    После выполнения этих действий область проектирования должна выглядеть подобно иллюстрации, приведенной ниже.

    На рисунке показано добавление к WSDL типа партнерской связи в представлении "Partner" редактора WSDL. Щелкните для увеличения

наверх

Создание процесса BPEL

Этот раздел посвящен добавлению файла процесса BPEL HelloSample.bpel. После этого к файлу процесса BPEL добавляется партнерская связь и три действия.

Создание файла проекта BPEL:

  1. В окне "Projects" разверните узел проекта HelloSample, а затем щелкните правой кнопкой мыши узел Process Files и выберите "New > BPEL Process".
    Откроется мастер "New BPEL Process".
  2. Введите HelloSample в поле "File Name".
  3. Нажмите кнопку "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 должно выглядеть следующим образом.

    На рисунке показано добавление файла процесса BPEL в BPEL Designer. Щелкните для увеличения

Добавление партнерской связи:

  1. В разделе палитры "Web Service" выберите значок "Partner Link" и перетащите его в область проектирования.
    Откроется диалоговое окно "Create New Partner Link".
  2. В остальных полях примите значения по умолчанию (Name: PartnerLink1, "WSDL File": /HelloSample.wsdl, установите переключатель "Use Existing Partner Link Type") и нажмите кнопку "OK".
    При этом в область проектирования добавляется партнерская связь.

    На рисунке показано добавление партнерской связи в файл процесса BPEL.

Добавление действия получения:

  1. Выберите значок "Receive" в разделе палитры "Web Service".
  2. Перетащите выбранный элемент в поле HelloSample в области проектирования между действиями Process Start и Process End.
    Возможное место перетаскивания указывается в IDE визуальными подсказками.
    В результате в режиме проектирования размещается действие получения с именем Receive1.
  3. Нажмите кнопку Edit действия Receive1.
  4. На вкладке "Main" в окне "Receive1 [Receive] Properties" нажмите кнопку с многоточием в редакторе свойств.
    Откроется редактор свойств "Receive1 [Receive] – Property Editor".
  5. Выберите "PartnerLink1" из раскрывающегося списка "Partner Link".
    В поле "Operation" заносится значение operation1.
  6. Создайте новую входную переменную следующим образом:
    1. Нажмите кнопку "Create" рядом с полем "Input Variable".
      Откроется диалоговое окно "New Input Variable".
    2. Измените значение в поле "Name" на inputVar.
    3. Нажмите кнопку "OK".
  7. Для закрытия окна "Receive1 [Receive] – Property Editor" нажмите кнопку "OK".
    В режиме проектирования теперь отображается связь между operation1 в "PartnerLink1" и действием Receive1.

    На рисунке показано добавление действия получения к файлу процесса BPEL в BPEL Designer.

Добавление действия ответа:

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

    На рисунке показано добавление действия ответа в файл процесса BPEL в BPEL Designer.

Добавление действия присвоения:

  1. Выберите значок "Assign" в разделе палитры "Basic Activities".
  2. Перетащите выбранный элемент в область проектирования схемы между действиями Receive1 и Reply1.
    В результате в режиме проектирования размещается действие присвоения с именем Assign1.
  3. Выберите действие Assign1, затем нажмите кнопку "Mapper" на панели инструментов редактора.
  4. Разверните узел inputVar на панели дерева "Output" (левая панель) в окне BPEL Mapper в разделе "Variables".
    Под узлом inputVar открывается узел inputType.
  5. Разверните узел outputVar в разделе "Variables" на (правой) панели дерева "Input" в окне BPEL Mapper.
    Под узлом resultType открывается узел outputVar.
  6. Выберите узел inputType на панели дерева "Source" и перетащите его к узлу resultType на панели "Destination".
    В результате этого присвоения оператор ввода копируется на вывод.

    На рисунке показан узел "inputType", присвоенный узлу "resultType" в BPEL Mapper. Щелкните для увеличения

  7. Для сохранения изменений выберите узел проекта HelloSample в окне "Projects" и выберите "File > Save All" в главном меню.

наверх

Создание проекта составного приложения

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

Создание проекта составного приложения:

  1. Выберите в главном меню "File > New Project".
    Откроется мастер создания проекта.
  2. В списке "Categories" выберите узел SOA.
  3. В списке "Projects" выберите узел "Composite Application".
  4. Нажмите кнопку "Next".
  5. Введите SampleCompositeApp в поле "Project Name".
  6. Нажмите кнопку "Finish".
    В окне "Projects" теперь содержится узел проекта для проекта составного приложения с именем SampleCompositeApp.

    На рисунке показан новый узел "SampleCompositeApp" для проекта составного приложения в окне "Projects".

наверх

Использование редактора составного приложения (сборки служб)

В этом разделе выполняется изменение настроек проекта и сборка проекта модуля BPEL с помощью редактора составного приложения (сборки служб). Затем добавляется конечная точка WSDL и соединение, после чего проверяются и изменяются свойства автоматически созданных конечных точек WSDL.

Изменение настроек проекта и сборка проекта модуля BPEL с помощью редактора составного приложения (сборки служб):

  1. В окне "Projects" разверните узел проекта SampleCompositeApp, а затем щелкните правой кнопкой мыши узел Service Assembly и выберите в контекстном меню Edit.

    Примечание: Для вызова редактора CASA в среде NetBeans 6.0 необходимо щелкнуть правой кнопкой мыши составное приложение в окне "Projects" и выбрать Edit Application Configuration.

    В редакторе CASA откроется файл .casa. Область "Design" режима проектирования в редакторе состоит из трех частей: "WSDL Ports", "JBI Modules" и "External Modules".

    На рисунке показан режим проектирования редактора CASA.

  2. В окне "Projects" выберите узел проекта HelloSample и перетащите его в область "JBI Modules" в режиме проектирования файла SampleCompositeApp.casa.

    На рисунке показан модуль JBI в редакторе сборки служб составного приложения (CASA). Щелкните для увеличения

  3. Для сборки проекта модуля BPEL HelloSample нажмите кнопку "Build Project" на панели инструментов редактора.
    После этого выполните следующие действия:
    • В строке состояния выводится следующее сообщение:
      Finished building build.xml (jbi-build).
    • Окно "Output" должно выглядеть следующим образом.

      На рисунке показан вывод результатов после сборки модуля BPEL.

    • Окно режима проектирования для файла SampleCompositeApp.casa должно выглядеть следующим образом:

      На рисунке показано окно режима проектирования в редакторе CASA после сборки проекта модуля BPEL.

Создание конечной точки WSDL:

  1. Выберите значок файла в разделе палитры "WSDL Bindings".
  2. Перетащите выбранный элемент в область "WSDL Ports" в режиме проектирования для файла SampleCompositeApp.casa.
    При этом добавляется порт WSDL casaPort1.

    На рисунке показано окно режима проектирования после добавления конечной точки WSDL "casaport1".

Создание соединения:

  1. Щелкните значок потребляющей конечной точки в порте casaPort1 в режиме проектирования. Эта конечная точка указывает наружу.
  2. Перетащите выбранную конечную точку в role1_myRole в поле (BPEL) HelloSample в области "JBI Modules".
    В результате создается новое соединение.

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

Проверка и изменение свойств автоматически созданной конечной точки WSDL:

  1. Если окно "Navigator" не открыто, выберите в главном меню "Window > Navigating > Navigator".
  2. Выберите "Logical View" из раскрывающегося списка в окне "Navigator".
  3. Разверните WSDL Ports > casaPort1 > casaBinding1 > operation1 > input1 и выберите узел file:message.

    На рисунке показано окно "Navigator"; выбран узел "file:message" под "input1".

  4. Если окно "Properties" не открыто, выберите в главном меню "Window > Properties".
    В окне "Properties" выводятся свойства узла file:message, выбранного в окне "Navigator".
  5. В окне "Properties" измените значение свойств в соответствии со значениями, приведенными ниже:

    Свойство Значение
    use literal
    fileName input.txt
    pollingInterval 5000
  6. В окне "Navigator" разверните WSDL Ports > casaPort1 > casaBinding1 > operation1 > output1 и выберите узел file:message.

    На рисунке показано окно "Navigator"; выбран узел "file:message" под "output1".

  7. В окне "Properties" для file:message установите для свойства "fileName" значение output.txt.
  8. В окне "Navigator" разверните WSDL Ports > casaPort1 > casaPort1 и выберите узел file:address.

    На рисунке показано окно "Navigator", выбран узел "file:address" под "casaPort1".

  9. В окне "Properties" для file:address установите для свойства fileDirectory значение c:\test.
  10. Для сохранения изменений выберите узел проекта 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 можно через рассылку .


Дополнительная информация

наверх

Companion
Projects:
MySQL Database Server   GlassFish Community: an Open Source Application Server   Open Solaris  Open JDK: an Open SourceJDK   Mobile & Embedded Community     Sponsored by 
Sponsored by Sun Microsystems