Форум Сообщества Аналитиков
Общий раздел => Теория моделирования и нотации => IDEF ARIS BPMN и пр. => Тема начата: Oleg Voronov от 27 Августа 2010, 09:37:42
-
Коллеги, столкнулся с вопросом по нотации BPMN.
Есть процессы: Отправка сообщения (запрос к web - сервису).
Получение сообщения сервером (запроса).
Как представить эти процессы?
С одной стороны. Отправлен запроса можно представить как event (message - throw). А получение как event (message - catch).
С другой стороны отправка и получение это определенные процессы которые тоже можно описать. И тогда их можно представить как activity (send task) и activity (receive task).
Как правильно представить данные процессы ?
Спасибо!
-
send/receive event и send/receive task практически ничем друг от друга не отличаются. Разве что тем, что event - это чистый обмен сообщений, а task намекает на то, что в нем помимо отправки/получения может быть еще какая-то обработка.
Но если рассматривать движок, исполняющий BPMN, то и send/receive task/event в нем будут обозначать обмен собственными, специальными сообщениями (message) для координации и обмена информацией между разными процессами. Технически они могут быть реализованы очередью сообщений, могут веб-сервисами или еще как, это не суть важно. В любом случае, "посторонний" для данного движка веб-сервис сюда не прицепить.
Поэтому если вы хотите явно обозначить вызов веб-сервиса, то делайте это при помощи service task. Ровно так же, как вы бы обозначили, скажем, вызов внешней расчетной процедуры.
-
Тогда может лучше разделить отправку сообщений на activity (Подготовка к сообщения) и event (отправка сообщения). То же самое с приемом сообщений. ?
-
Что есть подготовка к сообщения?
Вы главное определитесь: у вас отправка межпроцессного сообщения в рамках BPMS или автоматический шаг, на котором вызывается вебсервис? Повторяю: во втором случае уместнее service task.
-
Ок, понял, спасибо.