Как я могу моделировать много параллельных действий в BPMN 2.0? - PullRequest
1 голос
/ 19 марта 2012

У меня 40 занятий, которые не зависят друг от друга. Я хочу смоделировать их таким образом, чтобы механизм исполнения обрабатывал их в нескольких параллельных потоках в любом порядке. Механизм выполнения может оптимизировать порядок их выполнения (например, сначала взять действие, которое заняло больше всего времени при предыдущем запуске).

Возможно ли это с BPEL или BPMN 2.0? Если да - как?

На параллельном шлюзе мне придется нарисовать 40 ребер, насколько я понимаю. Есть ли лучший способ?

Спасибо!

1 Ответ

7 голосов
/ 19 марта 2012

Да, оба языка поддерживают параллельные действия:

  • BPMN 2.0 :

    1. Типичным сценарием, как вы сказали, является использование параллельного шлюза и подключение всех действий с использованием потоков последовательности.
    2. Что может сработать, это использовать подпроцесс Adhoc без потока последовательности и атрибут ordering, установленный в parallel. Сложная часть, вероятно, для определения completionCondition. Спецификация несколько неясна в этом сценарии, поскольку она больше предназначена для поддержки неструктурированных рабочих процессов с человеческими взаимодействиями.
  • BPEL

    1. Это простая задача для BPEL. Используйте конструкцию <flow> без элементов <link>. Все вложенные действия будут выполняться параллельно, «ребра» не нужны.
...