2016-07-25 10 views
2

Предположим, у меня есть диаграмма сотрудничества, которая моделирует процесс с именем CheckMessage, который довольно сложный и охватывает несколько дорожек и бассейнов. Теперь я хотел бы моделировать другой процесс, например. CreateMessage который будет использовать предыдущий процесс, чтобы проверить первое сообщение, если уже не существует, или если все его поля являются действительными, и т.д.BPMN Объединение диаграмм сотрудничества или использование активности звонка

Дело в том, что оба процесса используют одни и те же Swimlanes и бассейны , Каков правильный способ моделирования таких взаимодействий? Я думал моделировать CheckMessage как подпроцесс CreateMessage, однако подпроцессы не могут быть присоединены к пулам или дорожкам - если я правильно их понимаю, они просто остаются в пределах полосы действия, которая их вызывала. Can a Звоните инкапсулируйте такие beahviour (перекрестные бассейны и дорожки)? Или я могу как-то ссылаться на диаграмму CheckMessage в целом?

Заранее спасибо.

ответ

0

я мог думать о следующих подходов:

  1. Использование Диаграмма Код: используется довольно часто, когда вы хотите, чтобы легко перейти к более сложной части. Недостаток заключается в том, что, в отличие от фрагментов в SD-файлах, у вас нет способов действительно подключать потоки к диаграммам и из них.
  2. Повторяющиеся части процесса: здесь вы просто выбираете эти действия из сложного процесса, который должен взаимодействовать с другим процессом. Вы можете выделить это, установив границу вокруг них и добавив ссылку на диаграмму, как описано выше.
  3. Call Activity: Это еще один действительный способ. Здесь у вас есть действие, которое вы создаете как действие. Преимущество заключается в том, что вы можете добавлять контакты для входных и выходных параметров.

Я думаю, что нет серебряной пули, и вам нужно выбрать то, что подходит в каждом случае.

Редактировать Относительно # 3 это выглядит следующим образом:

enter image description here

(это пример, а не для использования на практике) Действие по праву является экземпляром деятельности как вы можете увидеть Ctrl-L (показать родительский).

+0

Спасибо за ваш ответ, однако я не уверен, могу ли я пойти на вариант 1., поскольку упомянутый Digram должен предоставить вывод (по крайней мере, в виде потока сообщений), а для варианта 2 - Мне действительно нужна часть диаграммы, и все это в целом. Моей самой безопасной ставкой будет активность вызова, но, похоже, по определению активность вызова может вводить новые пулы и полосы, но я не уверен, что она также может использовать пулы или полосы родительской активности. Как-то я думаю, что такое поведение нарушит лучшие практики, поскольку все задачи в одном пуле не будут связаны потоками последовательности. – 80833

+0

Зачем нужно, чтобы деятельность по вызову вводила новые пулы/полосы? Это элемент сам по себе. –

+0

«Соединение глобальных подпроцессов со своим родителем значительно меньше, и у них могут быть свои собственные пулы и полосы». https://camunda.org/bpmn/reference/#activities-call-activity – 80833

 Смежные вопросы

  • Нет связанных вопросов^_^