Когда узлы потока XML BPMN 2.0 должны содержать входящие и исходящие элементы?

Согласно разделу 8.4.13 BPMN 2.0.2, потоковые узлы (родительские для шлюзов, действий и событий) содержат следующие атрибуты:

incoming: Sequence Flow [0..*] This attribute identifies the incoming Sequence Flow of the FlowNode.
outgoing: Sequence Flow [0..*] This attribute identifies the outgoing Sequence Flow of the FlowNode.

Несмотря на это, многие файлы BPMN, которые я видел, решили не включать эти элементы. Например, я не вижу их в официальном документе BPMN 2.0 by Example по адресу http://www.omg.org/spec/BPMN/20100601/10-06-02.pdf. Ни в фрагментах XML из https://docs.camunda.org/manual/7.3/api-references/bpmn20/#tasks. Однако я вижу их в образцах на http://www.omg.org/spec/BPMN/20100602/2010-06-03/.

Есть ли объяснение этой вариации? Требуются ли эти элементы, когда поток последовательности подключен к узлу? Включают ли их общие инструменты?


person lmsurprenant    schedule 11.11.2015    source источник


Ответы (2)


Интересный вопрос, по крайней мере, на теоретическом уровне. Большинство разработчиков моделей BPMN будут использовать атрибуты sourceRef и targetRef для обозначения источника и цели для элемента FlowNode. Причина в образцах на http://www.omg.org/spec/BPMN/20100602/2010-06-03/. использование входящей / исходящей семантики вероятно, потому что все они создаются одним и тем же инструментом (Trisotech). Честно говоря, я не могу сказать, прав он или нет, но могу сказать, что очень немногие разработчики моделей используют входящую / исходящую семантику.

person Greg Harley    schedule 16.11.2015

От коллеги из IBM:

Обычно они не требуются. Списки входящих / исходящих могут быть получены в большинстве случаев, то есть они могут быть рассчитаны на основе sourceRef / targetRef элементов потока последовательности. В таких случаях списки входящих / исходящих просто удобны.

Однако они необходимы, когда у вас есть поток условной последовательности. Например, рассмотрите условия в потоке последовательности, покидающем действие или монопольный шлюз. Здесь важен порядок исходящих потоков, и эта информация переносится только в исходящем списке.

person lmsurprenant    schedule 17.11.2015