BPMN: Организация цикла обработки в разных пулах(Прочитано 14526 раз)
Использую для моделирования бизнес-процессов IntaliO Designer.
Описываю процесс регистрации нового партнера.

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

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

Система не дает мне повторно подключить Message Connector от задания "Отправка замечаний по документам" к узлу "началу" "подпроцесса подготовки документов".
В чем моя ошибка?



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



что-то мне подсказывает, что распараллеливание должно быть показано с помощью такого же крестика, как и у меня на рисунке, только  повернутого еще на 45 градусов .... =)



Прямой крест - распараллеливание, косой - исключающее "или".

Схема странная. Непонятно, как инициирующее сообщение (оно ведь одно, со списком документов?) может попадать вовнутрь цикла. Может лучше сделать процесс на стороне партнера, обрабатывающий ровно один документ?



Непонятно, как инициирующее сообщение (оно ведь одно, со списком документов?) может попадать вовнутрь цикла. Может лучше сделать процесс на стороне партнера, обрабатывающий ровно один документ?

Если на субпроцесс "Подготовки документов партнером" подать 1 документ он там и будет обрабатывать один документ.
Поясню: обрабатывается пакет документов, состоящий из нескольких экземпляров документов. Документы на стороне партнера обрабатываются в Looping task, что дает возможность применить 1 суб-процесс сразу (параллельно) для нескольких экземпляров документов.

В начале на такой суб-процесс подается пакет документов из нескольких, скажем, из 6 документов. Далее, после проверки в нашей компании на вход этого субпроцесса, который уже на предыдущем этапе завершился, попадает снова несколько документов, скажем, 2. И так до тех пор пока все доки не будут в нормальном состоянии. Именно вот этот цикл (пока не все документы в порядке) я и обозначил в тематике обсуждения  ("Организация цикла обработки в разных пулах"). 
Я не могу организовать связь (в Modeler'e) между проверкой документов и повторной организацией подготовки документов (связь между таском "Отправка замечаний по документам" и субпроцессом "Подготовка документов партнером"). Вот и думаю, есть ли у меня ошибка в понимании и ...как ее устранить (обойти элегантно)?
« Последнее редактирование: 09 Ноября 2009, 15:16:20 от kollega »



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

В начале на такой суб-процесс подается пакет документов из нескольких, скажем, из 6 документов.
Если уж вы настаиваете на идее обработки пакета документа, то вам следовало бы изобразить входную точку процесса, направить в нее (а не вовнутрь цикла!) пакет документов, а следом уже поставить подпроцесс, в котором был бы цикл по документам.



В текущей схеме документ 2 не начинает обрабатываться только после обработки документа 1 - с какой стати?
А откуда такой вывод????

Если уж вы настаиваете на идее обработки пакета документа, то вам следовало бы изобразить входную точку процесса, направить в нее (а не вовнутрь цикла!) пакет документов, а следом уже поставить подпроцесс, в котором был бы цикл по документам.
Вы предлагаете сделать вот так (см. вложение)?



А откуда такой вывод????
А как по-вашему обрабатывается цикл - параллельно или последовательно?
Вы предлагаете сделать вот так (см. вложение)?
Я предлагал избавиться от цикла. И уж во всяком случае я не предлагал начинать процесс с intermediary event.



А как по-вашему обрабатывается цикл - параллельно или последовательно?
Документы в looping sub-процесс выполняют параллельно, а цикличность подготовки и проверки документов - последовательная.

Я предлагал избавиться от цикла. И уж во всяком случае я не предлагал начинать процесс с intermediary event.
На сколько я понимаю, вы предлагали избавиться от looping sub-proccess, распараллелив поток подготовки документов и каждую параллельную ветку предложить для обработки 1 документа. А что делать если таких документов 15, 30, 100 ....?




Очень интересный вопрос был задан. Вот бы посмотреть паттерн с решением. Жаль, что обсуждение закончилось...




 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19