Проект модуля BPEL представляет собой набор исходных файлов, включающий в себя файлы BPEL, WSDL и файлы схемы XML. В проекте модуля BPEL можно создавать бизнес-процессы, совместимые со спецификацией языка WS-BPEL 2.0.
Проект модуля BPEL позволяет выполнять следующие операции путем простого щелчка мышью:
использование мастера создания проекта для создания проекта модуля BPEL и проекта составного приложения;
импорт ресурсов WSDL для использования в качестве партнерских служб в бизнес-процессе;
создание новых ресурсов WSDL по мере необходимости;
импорт ресурсов схем XML;
добавление действий BPEL к схеме бизнес-процессов и последующее определение элементов с использованием диалоговых окон редактора свойств, окна "Properties" и пунктов контекстного меню;
создание и изменение исходного кода файлов BPEL, WSDL и XSD;
проверка и подтверждение правильности исходного кода XML;
сборка и добавление проекта в проект составного приложения в виде модуля JBI;
тестовое выполнение процессов BPEL путем отправки примеров сообщений в развертываемый процесс или процессы;
отладка развертываемых бизнес-процессов.
В соответствии с этим типичная процедура, используемая для создания процесса BPEL, выглядит следующим образом:
Для примеров процессов проекты составных приложений создаются автоматически. Для новых процессов проект составного приложения должен создаваться вручную.
В главном меню среды IDE выберите "File > New Project" и выполните следующие действия:
В области "Categories" выберите SOA.
В области "Projects" выберите BPEL Module и нажмите кнопку "Next".
На панели "Name and Location" присвойте проекту имя и определите его местоположение либо примите значения по умолчанию.
Нажмите кнопку "Finish".
Теперь в окне "Projects" содержится узел проекта модуля BPEL.
Для создания файла BPEL для проекта щелкните правой кнопкой мыши узел Process Files и выберите "New > BPEL Process" в контекстном меню.
В диалоговом окне "New BPEL Process" укажите имя файла и папку. Нажмите кнопку "Finish".
Для создания файла WSDL для проекта щелкните правой кнопкой мыши узел Process Files и выберите "New > WSDL Document" в контекстном меню.
В диалоговом окне "New WSDL Document" укажите имя файла и папку. Кроме того, можно установить флажок "Import XML Schema File(s)" и выбрать импортируемые файлы схемы. Нажмите кнопку "Finish".
Изучение проекта модуля BPEL в окне "Projects"
Типичный проект модуля BPEL содержит исходный файл BPEL и файлы WSDL и XSD.
Ознакомьтесь с созданными артефактами:
В окне "Projects" разверните созданный узел BPELModule1 и узел Process Files.
Узел Process Files содержит следующие элементы:
Процесс BPEL newProcess.bpel.
Интерфейс веб-службы процесса newWSDL.wsdl.
Дважды щелкните узел newProcess.bpel.
Обратите внимание на следующее:
Диаграмма newProcess.bpel открывается в режиме проектирования.
Режим проектирования представляет собой область для визуального моделирования бизнес-процессов. В BPEL Designer автоматически создается код BPEL, соответствующий визуальному представлению.
Режим просмотра исходного кода для файла newProcess.bpel вызывается нажатием кнопки "Source".
Окно "Palette" для элементов BPEL открывается в режиме проектирования справа от области проектирования.
Окно "Properties" для выбранного элемента открывается под окном "Palette".
В окне "Navigator" отображается логическое представление BPEL процесса BPEL.
Окно BPEL Mapper появляется в нижней части (если оно не открывается автоматически, в главном меню выберите "Window > Other > BPEL Mapper").
Дважды щелкните узел newWSDL.wsdl для открытия редактора WSDL, в котором можно просмотреть и изменить файл newWSDL.wsdl. Для получения дополнительных сведений см. раздел Работа с файлами WSDL
Свойства проекта модуля BPEL
Для вызова диалогового окна "Properties" проекта модуля BPEL щелкните правой кнопкой мыши узел проекта модуля BPEL и выберите "Properties". В дереве на левой панели отображаются три доступные страницы:
General
Project References
XML Catalog
Страница General позволяет просматривать путь к папке, содержащей файлы проекта, а также просматривать или изменять префикс для механизма служб проекта (например, com.sun.bpelse).
На странице Project References отображаются другие проекты модулей BPEL, на которые ссылается рассматриваемый проект модуля BPEL. На этой странице можно добавлять и удалять проекты, на которые ссылается проект модуля BPEL.
На странице XML Catalog отображаются записи каталога XML, используемые в проекте модуля BPEL. Каталоги XML содержат информацию о сопоставлении внешнего объекта из документа XML с фактическим местоположением соответствующего документа. На этой странице можно удалить записи каталога XML для проекта модуля BPEL из списка каталогов XML.
Создание проекта составного приложения
Проект модуля BPEL не может быть развернут напрямую. Вначале необходимо добавить проект модуля BPEL в проект составного приложения в виде модуля JBI. После этого можно развернуть проект составного приложения. При развертывании проекта сборка служб становится доступной серверу приложений, в результате чего появляется возможность запуска служебных модулей.
Создание проектов составных приложений
Мастер создания проекта включает в себя все операции, необходимые для создания проекта составного приложения.
Для создания нового проекта составного приложения:
Выберите "File > New Project" (Ctrl-Shift-N).
В списке "Categories" выберите узел "SOA", а в списке "Projects" выберите "Composite Application" и нажмите кнопку "Next".
На панели "Name and Location" присвойте проекту имя и укажите местоположение файлов проекта.
Для определения нового проекта составного приложения в качестве основного установите флажок "Set as Main Project".
Нажмите кнопку "Finish".
Новый проект составного приложения появится в окне "Projects". Для развертывания и тестового выполнения бизнес-процессов добавьте модуль BPEL в виде модуля JBI к проекту составного приложения.
Сборка проекта модуля BPEL
При сборке проекта в среде IDE осуществляется компиляция исходного файла BPEL и сохранение файла BPEL и артефактов веб-службы, в том числе файлов WSDL и XSD, в архиве JAR. Этот архив JAR проекта должен быть добавлен в проект составного приложения и затем развернут на сервере JBI.
Выполните следующую процедуру для создания проекта модуля BPEL:
В окне "Projects" щелкните правой кнопкой мыши узел проекта модуля BPEL и выберите "Build Project".
Также можно выполнить очистку и создание проекта, щелкнув правой кнопкой мыши узел проекта модуля BPEL в окне "Projects" и выбрав "Clean and Build Project".
В окне "Output" должно появиться сообщение BUILD SUCCESSFUL.
Добавление модулей JBI в проекты составного приложения
Для добавления модуля JBI в проекты составных приложений:
В окне "Projects" щелкните правой кнопкой мыши узел проекта составного приложения и выберите "Add JBI Module".
В диалоговом окне "Select Project" выберите папку проекта модуля BPEL, убедитесь в том, что архив JAR проекта появился в списке "Project JAR Files", и нажмите кнопку "Add Project JAR Files".
Для проверки того, что модуль BPEL был добавлен в виде модуля JBI, в окне "Projects" разверните "Composite Application project > JBI Modules". На экране должен быть представлен архив JAR проекта модуля BPEL.
Развертывание проекта составного приложения
При запуске операции развертывания выполняется компиляция файлов в проекте составного приложения, сохранение скомпилированных файлов BPEL и связанных артефактов веб-служб (в том числе файлов WSDL и XSD) в архиве и их развертывание на сервере приложений.
Для развертывания проекта составного приложения:
Щелкните правой кнопкой мыши узел проекта составного приложения и выберите "Deploy Project".
Убедитесь в том, что в диалоговом окне "Warning" выбран вариант GlassFish V2, и нажмите кнопку "OK".
В случае успешного выполнения развертывания в окне "Output" должно появиться сообщение Build successful.
Если окно "Output" не отображается, выберите "Window > Output > Output".
Откройте окно "Services" и выберите Servers > GlassFish V2> JBI > Service Assemblies для просмотра развертываемой сборки служб.
Если развертываемый проект не отображается, щелкните правой кнопкой мыши узел Service Assemblies и выберите "Refresh".
Создание примеров процессов в BPEL Designer
Идеальным способом знакомства с процессом построения диаграмм BPEL является создание примеров процессов. Процесс BPEL может быть создан путем изменения существующего примера процесса.
Для примеров мастером "New Project sample" автоматически создаются оба типа проектов, модуль BPEL и составное приложение, благодаря чему отсутствует необходимость в создании каждого из этих проектов в отдельности. В среде IDE проект модуля BPEL автоматически добавляется к проекту составного приложения в виде модуля JBI.
В BPEL Designer можно создать следующие примеры процессов:
Пример синхронного процесса
Пример асинхронного процесса
Пример службы бронирования билетов
Пример синхронного процесса
Синхронный процесс относится к такому стилю диалога, при котором клиент отправляет сообщение, необходимое для процесса, ожидает ответа и продолжает работу только после возврата ответа. При создании примера синхронного процесса в IDE создается скелетный процесс с одной синхронной операцией и необходимыми файлами схемы WSDL и файлами XML.
Пример асинхронного процесса
Асинхронный процесс применяется в отношении длительных диалогов, в ходе которых клиент не ожидает ответа процесса перед тем, как продолжить работу. Вместо синхронного возвращения результата клиенту осуществляется прием запроса клиента, выполнение долговременной работы и асинхронная отправка обратного вызова клиенту после выполнения работы. При создании асинхронного процесса в среде IDE создается скелетный процесс с одной входящей и одной исходящей асинхронной операцией и необходимые файлы схемы WSDL и файлы XML.
Следует отметить, что любой определенный процесс может состоять из произвольного набора синхронных и асинхронных взаимодействий с одним или несколькими диалоговыми партнерами.
Пример службы бронирования билетов
Этот пример отражает реальный процесс BPEL, созданный с использованием большинства существующих элементов BPEL и нескольких партнерских веб-служб.
Вместе с примером службы бронирования билетов мастером создается другой проект, партнерская служба резервирования, базовая реализация трех партнерских служб на основе EJB и JMS.
Создание примера проекта модуля BPEL: общее описание
Для создания примера проекта модуля BPEL:
Выберите "File > New Project" (Ctrl-Shift-N).
В списке "Categories" разверните узел Samples и выберите SOA.
В списке "Projects" выберите демонстрационный проект, который необходимо создать, и нажмите кнопку "Next".
На панели "Name and Location" присвойте проекту имя и укажите местоположение файлов проекта.
Нажмите кнопку "Finish".
Для выбранного образца мастером создаются два типа проектов: пример проекта модуля BPEL и пример проекта составного приложения. При этом можно изменять пример бизнес-процесса или добавлять дополнительные процессы BPEL к модулю BPEL. Для развертывания, тестового выполнения и отладки процесса BPEL используйте проект составного приложения.