corner imagecorner image
FeaturesPluginsDocs & SupportCommunityPartners

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

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

Предполагаемая продолжительность: 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. При необходимости GlassFish V2 автоматически запускается средой NetBeans.

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

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

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

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

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

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

    Это интересно: При развертывании приложения на сервере приложений 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 под названием SynchronousSample.

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

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

    На рисунке показан узел проекта "SynchronousSample" в окне "Projects"

наверх

Создание схемы XML

В этом разделе к проекту модуля BPEL добавляется новый файл схемы XML, а затем к схеме добавляются элементы.

Создание SynchronousSample.xsd:

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

    На рисунке показан созданный файл схемы в режиме проектирования редактора схем XML Щелкните для увеличения

Добавление составного типа к схеме XML:

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

    На рисунке показано добавление составного типа "simpleProcess" к файлу схемы XML

Добавление локального элемента к simpleProcess:

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

    На рисунке показано добавление к составному типу "simpleProcess" локального элемента "paramA"

Добавление глобального элемента:

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

    На рисунке показано добавление глобального элемента "typeA" к схеме XML

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

наверх

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

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

Создание SynchronousSample.wsdl:

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

      На рисунке показан выбор "SynchronousSample.xsd" для импорта в диалоговом окне "Add Import"

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

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

      Примечание: Для работы с узлом By File в диалоговом окне "Select Element Or Type" может потребоваться прокрутка до начала списка.
    5. Выберите typeA в узле Elements и нажмите кнопку "OK".
    Заполненная страница "Abstract Configuration" должна выглядеть подобно примеру ниже.

    На рисунке показан мастер "New WSDL Document" и заполненная страница "Abstract Configuration"

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

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

наверх

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

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

Создание SynchronousSample.bpel:

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

    На рисунке показан созданный файл процесса BPEL в режиме проектирования BPEL Designer – щелкните для увеличения

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

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


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

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

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

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

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

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

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

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

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

    На рисунке показано соединение узлов "paramA" из "Output" и "Input" в окне BPEL Mapper

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

наверх

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

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

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

  1. Выберите в главном меню "File > New Project".
    Откроется мастер создания проекта.
  2. Выберите узел SOA в списке "Categories", а затем выберите узел Composite Application в списке "Projects".
  3. Нажмите кнопку "Next".
  4. Введите SynchronousSampleApplication в поле "Project Name".
  5. Нажмите кнопку "Finish".
    В окне "Projects" теперь содержится узел проекта для проекта составного приложения с именем SynchronousSampleApplication.
  6. В окне "Projects" щелкните правой кнопкой мыши узел проекта SynchronousSampleApplication и выберите Add JBI Module в контекстном меню.
    Откроется диалоговое окно "Select Project".
  7. Выберите проект SynchronousSample, созданный ранее при работе с данным руководством, и нажмите кнопку "Add Project JAR Files".
    Диалоговое окно "Select Project" закроется.
  8. В окне "Projects" разверните узел проекта SynchronousSampleApplication, а затем разверните узел JBI Modules.
    Обратите внимание, что добавился узел SynchronousSample.jar.

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

Развертывание составного приложения:

  • Щелкните правой кнопкой мыши узел проекта SynchronousSampleApplication и выберите "Deploy".
    Если в окне "Output" выдается сообщение, подобное следующему, то развертывание прошло успешно:
    BUILD SUCCESSFUL (total time: 11 seconds)

наверх

Тестирование составного приложения

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

Тестирование проекта составного приложения SynchronousSampleApplication:

  1. В окне "Projects" разверните узел проекта SynchronousSampleApplication, а затем щелкните правой кнопкой мыши узел Test и выберите в контекстном меню "New Test Case".
    Откроется мастер "New Test Case".
  2. Примите имя по умолчанию TestCase1 и нажмите кнопку "Next".
  3. Разверните узел SynchronousSample на странице "Select the WSDL Document", выберите SynchronousSample.wsdl и нажмите кнопку "Next".
  4. Выберите SynchronousSampleOperation на странице "Select the Operation to Test" и нажмите кнопку "Finish".
    Обратите внимание на следующее:
    • В окне "Projects" в узле Test создан подузел TestCase1.
    • В узле TestCase1 содержится два подузла: Input и Output.
    • В редакторе исходного кода содержится вкладка для файла "Input" Input.xml.

    На рисунке показан тест "TestCase1" в окне "Projects" и файл "Input.xml" в редакторе исходного кода. Щелкните для увеличения


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

    Примечание: Первый прогон – особый случай, поскольку файл Output.xml пуст, и результаты выводится в окне "Output".

    Обратите внимание на сообщение о сбое в окне "Output".
    Откроется диалоговое окно Overwrite Empty Output.
  8. Нажмите кнопку "Yes".
  9. В окне "Projects" щелкните правой кнопкой мыши узел TestCase1 и выберите "Run" в контекстном меню.
    После первого прогона Output заполняется. Содержимое файла сохраняется и не перезаписывается новым результатом.

    На рисунке показано завершение выполнения теста "TestCase1" в окне "Projects". Щелкните для увеличения

наверх

Заключение

В этом руководстве был создан простой проект модуля BPEL с именем SynchronousSample и проект составного приложения с именем SynchronousSampleApplication. Затем были разработаны файл схемы XML и файл WSDL. Рассмотрен вопрос разработки и развертывания процесса BPEL. Также раскрыта тема создания и выполнения тестового прогона составного приложения.

В результате выполнения действий, приведенных в этом руководстве, был сформирован процесс Synchronous BPEL, доступный в IDE ("New > Project > Samples > SOA > Synchronous BPEL Process").

Что дальше?

  • Оставить комментарии и предложения, обратиться за поддержкой и получить информацию о последних достижениях в области функциональных возможностей разработки для 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