2017-04-21 4 views
0

enter image description hereBPMN은 - 전용 게이트웨이 병렬 브랜치 모두의

우선 외출, 도시와 같은 전용 게이트웨이를 가질에도 유효 외출과 평행 경로의 역방향이다?

그렇다면 비즈니스 프로세스 엔진이이 문제를 처리하는 방법에 대해 몇 가지 질문이 있습니다.

시나리오 단계 :

  1. 작업 2와 작업 3 활성화됩니다. 2 단계에서

    1. :
    2. 작업 3 완료, 게이트웨이 조건은 작업 1 (두 번째)

    질문 완료가 작업 1.

  2. 로 돌아 갈 수 있도록 작업 2의 상태는 무엇입니까? 중단되었거나 활성 상태입니까?
  3. 2 단계에서 작업 1의 새 인스턴스를 만들거나 기존 인스턴스를 다시 여는 중입니까?
  4. 3 단계 (이전 질문과 유사)에서 새 작업 2와 3을 생성하거나 기존의 작업을 다시 엽니 까? 새로운 것이 생성되면 2 개의 활성 Task2를 동시에 가질 수 있습니까? '병합'게이트웨이가이를 어떻게 처리해야합니까? 계층 구조의 동일한 수준에

답변

3
  1. 활동 인스턴스는 서로 일반적으로 독립적입니다. 이 예제에서 작업 2는 여전히 활성 상태입니다.
  2. 일단 활동 인스턴스가 완료되면 다시 열 수 없습니다. 이 예에서는 작업 1의 두 번째 인스턴스가 만들어집니다.
  3. 동일한 활동의 ​​인스턴스가 여러 개있을 수 있습니다. 들어오는 활동의 흐름이 신호 될 때마다 그 활동의 새로운 인스턴스가 작성됩니다. 관련하여, 병합 병렬 게이트웨이 : 들어오는 시퀀스 흐름이 적어도 한 번 신호를받을 때 게이트웨이가 활성화됩니다. 활성화 은 들어오는 흐름 당 하나의 신호 만을 소모합니다. 작업 2의 시퀀스 흐름이 두 번째로 신호를 받으면 해당 신호는 소비되지 않습니다. 따라서 프로세스 인스턴스는 여전히 활성 상태가되어 다른시 v 스 플로우가 두 x 째 신호가 보내질 때까지 게이트웨이가 무한히 기다립니다. 따라서 공정 설계가 최적이 아닙니다.

추가 읽기 :

+0

감사합니다, 정말 도움이됩니다. 귀하의 의견에 관하여 : 활성화는 들어오는 흐름마다 단 하나의 신호만을 소비합니다. 작업 2의 시퀀스 흐름이 두 번째로 신호를 받으면 해당 신호는 소비되지 않습니다. 작업 4 이후 작업 1로 리디렉션 할 수있는 다른 전용 게이트웨이가있는 경우 어떻게됩니까? 작업 2와 3이 다시 완료되면 병합 게이트웨이가 다시 활성화됩니까? 그렇다면 엔진은이 '경로'를 이전과 차별화 할 수있는 방법이 있어야만합니다. –

+0

예, 게이트웨이가 다시 활성화됩니다. 마지막 질문을 이해했는지는 확실하지 않지만 게이트웨이의 경우 어떤 신호가 트리거되는지는 중요하지 않습니다. 나는. 작업 2의 시퀀스 흐름이 두 번 신호되면 그 중 하나가 소비됩니다.참고 사항 : camunda 엔진은 여기의 스펙에 따라 올바르게 작동하지 않습니다. * 어느 시퀀스 플로우가 시그널링되었는지에 상관없이 들어오는 시퀀스 플로우가 들어오는 시퀀스가 ​​여러 번있을 때 게이트웨이가 트리거됩니다. – thorben