воскресенье, 25 августа 2013 г.

Синхронный и Асинхронный запуск Workflow

Иногда необходим запуск Workflow из под пользователя SADMIN.
Иногда необходимо запустить Workflow на определенном сервере(обычно для задач интеграции).
Конечно можно рещить данную задачу созданием и выполнением JOB на сервере.
Но зачем создавать велосипед, когда он уже есть.



Синхронный вызов
Для синхронного вызова используется стандартный бизнес сервис(Business Service)
Workflow Process Manager (Server Request)
У него два явных параметра:
RowId - этот параметр будет записан в входной аргумент Workflow Object Id
ProcessName - название Workflow процесса, который будет запущен, данный параметр является обязательным.

Помимо неявных параметров вы можете передавать любые другие параметры на вход вызываемого Workflow процесса.

Асинхронный вызов
Для асинхронного вызова вам нужно будет откопировать(Ctrl+B) стандартный Business Service "Workflow Process Manager (Server Request)" и назвать копию скажем вот так:
Workflow Process Manager (Server Request Async)
,для того чтобы вызовы шли асинхронно необходимо изменить User Prop  данного сервиса
(Business Service User Prop), который называется Mode (изначально в нем записано значение Sync),на значение Async


Параметры вызова данного сервиса аналогичны исходному.

Задание компоненты для выполнения
Помимо режима работы(Sync/Async) вы можете задавать название серверной компоненты, на которой будет выполнен Workflow (по умолчанию там используется стандартныя компонента Workflow Process Manager)
Для задания серверной компоненты необходимо изменить User Prop (Business Service User Prop), который называется Component, на Alias серверной компоненты.
Это действие нужно только, если вы твердо уверены, что вам надо запускать Workflow Process на другой серверной компоненте, которая в свою очередь может выполняться на конкретном сервере.


4 комментария:

  1. Интеллектуальную собственность фирмы сливаешь? =)

    ОтветитьУдалить
  2. Ответы
    1. Костя, у нас спор вокруг фото после защиты возник. Нужно твое словоhttps://www.facebook.com/photo.php?fbid=628732020539121&set=t.100002152279643&type=3&theater ты это слева рядом с Гусевым?

      Удалить