Компания IBM
Опубликован: 14.08.2008 | Доступ: свободный | Студентов: 1090 / 150 | Оценка: 4.75 / 3.75 | Длительность: 27:55:00
Лекция 10:

Реализация. Создание процесса Request External Reports

10.7 Компоновка

На этом этапе после сохранения процесса у нас должно остаться только одно предупреждение – The deployment code for this process needs to be generated (нужно сгенерировать код размещения для данного процесса).

Чтобы BPEL-процесс мог выполняться на сервере, нужен код размещения. Мы можем сгенерировать код для размещения процесса в WebSphere Studio Application Developer Integration Edition после того, как исправлены все ошибки. Система WebSphere Studio Application Developer Integration Edition генерирует EAR-модуль, который включает в себя EJB-модуль, созданный по определениям бизнес-процесса. Мы можем выполнять бизнес-процесс, разместив этот EAR-модуль на сервере.

Чтобы подготовить процесс, прошедший тестирование на тестовом сервере, к размещению и использованию базы DB/2 в рабочей системе, нужно выполнить еще один дополнительный компоновочный этап (см. раздел "Компоновка для рабочего сервера"). Мы используем для хранения объектов на тестовом сервере базу Cloudscape \text{\texttrademark}, а в рабочей системе мы используем DB/2.

10.7.1 Компоновка бизнес-процесса

Чтобы осуществить компоновку бизнес-процесса, выполните следующие шаги:

  1. Убедитесь, что в бизнес-процессе отсутствуют ошибки, сохранив все рабочее пространство.
  2. Мы не хотим, чтобы экземпляр процесса автоматически удалялся по завершении работы, потому что мы хотим просмотреть результаты. По умолчанию экземпляр процесса по завершении работы удаляется. Чтобы изменить данное поведение, перейдите к всплывающему меню операции RequestExternalReports в верхней части потока и измените свойства сервера, как показано на рис. 10.49.
    Сохранение экземпляра процесса после завершения

    Рис. 10.49. Сохранение экземпляра процесса после завершения
  3. Чтобы сгенерировать код размещения, щелкните правой кнопкой мыши по процессу RequestExternalReport s, выберите пункт меню Enterprise Services (Корпоративные службы) \to Generate Deploy Code (Сгенерировать код размещения). Откроется окно параметров генерации кода ( рис. 10.50).
    Генерация кода размещения BPEL

    Рис. 10.50. Генерация кода размещения BPEL
  4. Выберите транспортные привязки процесса и его партнеров, где процесс будет выполнять роль сервера:
    • Оставьте JMS в качестве протокола вызова процесса.
    • Для трех других интерфейсов укажите привязки SOAP/http с использованием IBM Web service, как показано на рис. 10.50.
    • Для каждого из трех интерфейсов определите стиль SOAP, как показано на рис. 10.51. Файлы WSDL создавались совместимыми с WS-I и использующими интерфейс Document Literal (Документ литерал). За дополнительной информацией о совместимости SOAP и WS-I обращайтесь к книге серии Redbooks "WebSphere and .Net interoperability using Web services", SG24-6395.
    Стиль привязок SOAP

    Рис. 10.51. Стиль привязок SOAP
  5. Проверьте партнеров, на которые процесс ссылается. Менять, скорее всего, ничего не нужно. Нажмите OK, чтобы начать генерацию. Это займет несколько минут. После завершения генерации вы увидите 15 сообщений, относящихся к компенсационным объектам, которые устранить нельзя, но можно игнорировать.
  6. Найдите EAR-модуль с именем ITSOLGIEAR (имя проекта + EAR) в представлении J2EE Hierarchy (Иерархия J2EE). Этот EAR-модуль включает в себя Web-модуль (ITSOLGIWeb) и EJB-модуль (ITSOLGIEJB).
Совет. При сохранении файла Project Interchange не сохраняйте размещаемые службы, а генерируйте их заново после восстановления проекта.

10.7.2 Компоновка для рабочего сервера

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

  1. Перейдите в представление J2EE Hierarchy и удалите карту и схему из ресурса Cloudscape. ( рис. 10.52).
    Удаление связей с Cloudscape

    Рис. 10.52. Удаление связей с Cloudscape
  2. Экспортируйте файл ITSOLGI.ear.

10.8 Тестирование и отладка процесса

В WebSphere Studio Application Development Integration Edition предлагается тестовая серверная среда, которая содержит тот же серверный компонент, что и WebSphere Business Integration Server Foundation. Это означает, что вы можете тестировать бизнес-процессы без инсталляции и конфигурирования тестового сервера за пределами среды разработки. Также предлагаются функции для отладки, например для установки точек останова, пошагового выполнения бизнес-процессов и мониторинга данных в ходе выполнения.

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

10.8.1 Подготовка к тестированию

Для подготовки к тестированию выполните следующие шаги:

  1. Создайте новый тестовый сервер. Откройте представление Server Configuration (Конфигурация сервера). Его можно найти в нижней части перспективы Services (Службы) или с помощью главного меню: пункт Window (Окно) \to Show view (Показать представление) \to Server Configuration (Конфигурация сервера). Щелкните правой кнопкой мыши и выберите пункт меню New (Новый) \to Server and Server Configuration (Сервер и конфигурация сервера) ( рис. 10.53).
    Создание сервера и конфигурации сервера

    Рис. 10.53. Создание сервера и конфигурации сервера
  2. Введите TestServer в качестве имени нового сервера и убедитесь, чтобы в поле Server Type (Тип сервера) был указан вариант Integration Test Environment (Среда для тестирования интеграции). Нажмите OK, чтобы создать новый сервер.
  3. Новый сервер, TestServer, будет добавлен в папку servers в представлении Server Configuration (Конфигурация сервера). Щелкните правой кнопкой мыши по серверу TestServer и выберите пункт меню Add and remove projects (Добавление и удаление проектов).
  4. Нажмите кнопку Add (Добавить) ( рис. 10.54), чтобы добавить созданный нами модуль ITSOLGIEAR EAR. Нажмите Finish (Готово), чтобы закрыть окно.
    Добавление модуля ITSOLGIEAR на сервер TestServer

    Рис. 10.54. Добавление модуля ITSOLGIEAR на сервер TestServer
  5. Снова щелкните правой кнопкой мыши по серверу TestServer и выберите пункт меню Create tables and data sources (Создать таблицы и источники данных). Для выполнения процесса RequestExternalReports нам понадобится база данных, поскольку это длительно выполняемый процесс и необходимо сохранять в базе данных сведения об экземплярах процесса.
Окно подтверждения создания таблицы базы данных

Рис. 10.55. Окно подтверждения создания таблицы базы данных

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

10.8.2 Публикация бизнес-процесса на тестовом сервере

Чтобы опубликовать тестовый сервер, выполните следующие действия. Щелкните правой кнопкой мыши по серверу TestServer и выберите пункт меню Publish (Публикация).

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

Project ITSOLGIEJB deployment failed.
     BPEA0010E: Unexpected exception during execution.
java.lang.reflect.InvocationTargetException:
com.ibm.bpe.api.UnexpectedFailureException: BPEA0010E: Unexpected exception
during execution.
com.ibm.bpe.util.ProcessAssertionError: Assertion violation !(param-
Value !=
null && paramValue.length() != 0) in method >>at
com.ibm.bpe.staff.StaffPluginUtil.deployStaffVerb(StaffP
Пример 10.8. Ошибка 1 при публикации сервера TestServer

Данная ошибка вызвана отсутствием реализации роли Claim Handler. В данном сценарии можно обойти эту ошибку, указав в поле staff операции ManualSelectAssessor вариант Everybody.

Project ITSOWorkshopEJB deployment failed.
BPED0203I: Validated process model 'RequestExternalReports' with
findings ( 0 information, 0 warnings, 1 errors ):
BPED0267E: Syntactical error found in BPEL file
'Claim/TOBE/RequestExternalReports/RequestExternalReports.bpel' (row: 223,
column: 73). Detail message: cvc-complex-type.2.4.b: The content of
element
'wpc:webClientSettings' is not complete. One of
'("http://www.ibm.com/xmlns/prod/websphere/business-process/v5.1/":customSe
tting,
"http://www.ibm.com/xmlns/prod/websphere/business-process/v5.1/":jsp)' is
expected.
java.lang.reflect.InvocationTargetException:
com.ibm.bpe.plugins.DeploymentBPELProcessValidationException: BPED0203I:
Validated process model 'RequestExternalReports' with findings ( 0
information, 0 warnings, 1 errors ):
BPED0267E: Syntactical error found in BPEL file
'Claim/TOBE/RequestExternalReports/RequestExternalReports.bpel' (row:
223,
column: 73). Detail message: cvc-complex-type.2.4.b: The content of
element
'wpc:webClientSettings' is not complete. One of
Пример 10.9. Ошибка 2 при публикации сервера TestServer

Если вы встретитесь со второй ошибкой, удалите строку <wpc:webClientSettings clientType="Web Client"/> из файла RequestExternalReports.bpel.

Надежда Белякова
Надежда Белякова
Россия
Pavel Pelevin
Pavel Pelevin
Украина, Одесса