Совет: отмена задач, обрабатываемых вручную

Задачи, обрабатываемые вручную, в решении WebSphere Process Server предназначены для отправки работы конечным пользователям. Но как быть, когда вызывающий процесс определяет, что больше нет необходимости в исполнении задачи? Данный совет показывает, как отменить задачу для обработки вручную.

Нейл Колбан, ИТ-специалист, IBM

Нейл Колбан (Neil Kolban) – сотрудник организации IBM TechWorks. Его цель - сделать понимание WebSphere Integration Developer и WebSphere Process Server таким же простым, как их использование.



22.07.2009

Введение

Когда задача для обработки вручную (human task) запущена, она не завершится до тех пор, пока пользователь не закончит определенный пункт работы. Но что если данный пункт работы больше не требуется? Рассмотрим пример утверждения заказа на поставку. Пусть данный заказ на поставку появляется как определенный пункт работы в чьей-то очереди. Возможна ситуация, когда автор исходной заявки решит, что этот заказ больше не требуется обрабатывать, и отменит заявку. Было бы печально, если бы пункт работы все еще обрабатывался тем, кто утверждает заказы, так как эта работа больше не требуется.

Отмена задачи, обрабатываемой вручную, не так проста, как может показаться. Существует набор интерфейсов API WebSphere Process Server для отмены работы программным способом, но этот способ отмены может требовать сложного программирования. Может быть, есть другой способ?

Информацию об обработке событий см. в разделе Ресурсы в конце статьи.


BPEL и линейные задачи, обрабатываемые вручную

В IBM BPEL компонент задачи пользователя может быть вставлен как линейный. Это показано на диаграмме:

Рисунок 1 показывает, как компонент задачи пользователя линейно вставлен в структуру BPEL
Рисунок 1 показывает, как компонент задачи пользователя линейно вставлен в структуру BPEL

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

BPEL-процессы могут иметь "события", направленные к ним. Эти события приходят в процесс асинхронно в неопределенный момент времени. В BPEL мы можем назначить "обработчик событий", который будет обрабатывать такие события. Если в обработчике событий будет выполнено действие завершения BPEL, процесс перейдет к корректному, но немедленному завершению. Если при этом имеются незавершенные линейные задачи пользователя, которые надо обработать, они будут автоматически удалены; см. рисунок 2.

Рисунок 2 показывает процесс, который запускает задачу пользователя. Также показан обработчик событий, который при запуске останавливает этот процесс.
Рисунок 2 показывает процесс, который запускает задачу пользователя. Также показан обработчик событий, который при запуске останавливает этот процесс.

Заключение

Встраивая линейную задачу пользователя в BPEL-процесс и добавляя обработчик событий в этот процесс, мы получаем возможность не только запускать задачу пользователя, но и выполнять отмену задачи.

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

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

Ресурсы

Комментарии

developerWorks: Войти

Обязательные поля отмечены звездочкой (*).


Нужен IBM ID?
Забыли Ваш IBM ID?


Забыли Ваш пароль?
Изменить пароль

Нажимая Отправить, Вы принимаете Условия использования developerWorks.

 


Профиль создается, когда вы первый раз заходите в developerWorks. Информация в вашем профиле (имя, страна / регион, название компании) отображается для всех пользователей и будет сопровождать любой опубликованный вами контент пока вы специально не укажите скрыть название вашей компании. Вы можете обновить ваш IBM аккаунт в любое время.

Вся введенная информация защищена.

Выберите имя, которое будет отображаться на экране



При первом входе в developerWorks для Вас будет создан профиль и Вам нужно будет выбрать Отображаемое имя. Оно будет выводиться рядом с контентом, опубликованным Вами в developerWorks.

Отображаемое имя должно иметь длину от 3 символов до 31 символа. Ваше Имя в системе должно быть уникальным. В качестве имени по соображениям приватности нельзя использовать контактный e-mail.

Обязательные поля отмечены звездочкой (*).

(Отображаемое имя должно иметь длину от 3 символов до 31 символа.)

Нажимая Отправить, Вы принимаете Условия использования developerWorks.

 


Вся введенная информация защищена.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=40
Zone=WebSphere
ArticleID=415826
ArticleTitle=Совет: отмена задач, обрабатываемых вручную
publish-date=07222009