두 손끝의 창조자

BPMN Event Type - 마커별 의미 본문

BPMN

BPMN Event Type - 마커별 의미

codinglog 2020. 5. 14. 18:00

Start Event

트리거 마커 설명
None
정의된 트리거가 없음
Message
메시지가 참가자로부터 도착하여 프로세스를 시작.
메시지 플로우로 연결하면 어느 참여자가 메시지를 보냈는지 표시할 수 있음
Timer
프로세스 시작을 트리거하는 특정 시간 날짜 또는 특정주기 (예 : 매주 월요일 오전 9시)를 설정할 수 있음
Conditional
조건이 만족되면 트리거됨.
이벤트에 대한 조건식은 반드시 이벤트가 다시 트리거되기 전에 false가되어야함.
"조건부 시작 이벤트"의 "조건식"은 프로세스 인스턴스가 아직 작성되지 않았기 때문에 프로세스의 데이터 컨텍스트 또는 인스턴스 속성을 참조해서는 안됨. 대신 환경의 정적 프로세스 속성 및 엔티티 상태를 참조 할 수 있음

Signal
다른 프로세스에서 브로드 캐스트 된 신호가 도착하여 프로세스 시작을 트리거함
신호는 수신자를 지정한 메시지가 아님.
같은 시그널 신호 트리거를 가진 여러 프로세스가 동시에 실행될 수 있음
Multiple
해당 프로세스를 시작시키는 여러가지 방법이 있다는 것을 의미하고 그것들 중 하나만 오면 시작함
Parallel Multiple
해당 프로세스를 실행하기 위해서는 여러가지 트리거가 필요함.
시작 이벤트에 나열한 모든 트리거가 발생해야 프로세스를 시작함

 

End Event

트리거 마커 설명
None
실행한 결과가 없음
Message
프로세스의 결과를 참여자에게 메시지로 보냄
메시지를 수신하는 실 참여자는 메시지 플로우를 연결함으로써 식별함
Error
이름이 있는 에러가 발생함.
활성화된 모든 서브 프로세스가 종료됨
에러는 같은 에러코드를 가지거나 가장 근접한 부모 엑티비티에 존재하는 Catch Error Intermediate Event 에 의해서 잡힘.
계층구조를 가지고 있는 엑티비티에서 Error Intermediate Event가 없으면 프로세스의 동작이 불명확함. 이 경우에는 실행되고 있는 프로세스의 시스템은 추가적으로 에러 처리방법을 정의할 수 있고 일반적으로 프로세스를 종료시킴.
Escalation
에스컬레이션이 트리거되어야 함을 나타냄
다른 활성 스레드는 이것의 영향을받지 않으며 계속 실행됨
같은 에스컬레이션 코드를 가지거나 가장 가까운 부모 엑티비티의 Catch Escalation Intermediate Event가 잡음
만약 계층적인 엑티비티에서 Escalation Intermediate Event가 없으면 프로세스 동작이 불명확함.
Cancel
트랜잭션 서브 프로세스에서 사용함.
트랜잭션이 취소되고 서브 프로세스 경계에 있는 Cancel Intermediate Event가 트리거 될 것임을 표시함.
TransactionProtocol Cancel Message 가 트랜잭션에 관여된 모든 엔티티에게 전송됨을 의미함
Compensation
Compensation이 필수임을 표시
활동이 식별되고 성공적으로 완료되면 해당 활동이 보상됨
보상 종료 이벤트에서 활동을 볼 수 있어야 함
즉, Compensation End Event 가 일반적인 흐름 안에 있고 서브프로세스와 동일한 레벨에 있어야 함.

Signal
End에 도달하면 신호가 브로드 캐스트됨을 나타냄
신호를 수신 할 수있는 모든 프로세스로 브로드 캐스트되는 신호는 프로세스 레벨 또는 풀을 통해 전송 될 수 있지만 메시지는 아님
Terminate
프로세스의 모든 활동이 즉시 종료되어야 함을 나타냄
여기에는 모든 인스턴스가 포함됨
보상 또는 이벤트 처리없이 프로세스가 종료됨
Multiple
프로세스를 종료하면 여러 가지 결과가 있음을 의미

 

Intermedidate Event

트리거 마커 설명
None
일반적인 흐름위에서만 의미 있음(Activity의 경계에 놓을 수 없음)
이벤트가 발생하는 특정한 트리거가 없고 그냥 던짐
프로세스에서 상태 변경을 나타 내기 위해 이벤트를 사용하는 모델링 방법론에 사용
Message
메시지는 보내거나 받는데 사용
받는 메시지 이벤트는 메시지를 기다리는 중 일때 프로세스를 계속하게 하거나 예외 처리를 위한 플로우로 변경함
메시지를 수신한 참여자는 메시지 플로우로 식별함

Timer
일반 플로우에서는 지정한 시간이나 특정 사이클에 맞게 지연을 시킴
Escalation
Escalation 을 발생시킴
Compensation
Compensation이 필수임을 표시
활동이 식별되고 성공적으로 완료되면 해당 활동이 보상됨
보상 종료 이벤트에서 활동을 볼 수 있어야 함
즉, Compensation End Event 가 일반적인 흐름 안에 있고 서브프로세스와 동일한 레벨에 있어야 함.
Conditional
조건이 true가되면 트리거됨
조건은 식 유형
Link
일반적인 흐름에서만 사용가능, 즉 활동의 경계에 사용될 수 없음

링크는 프로세스의 두 섹션을 연결하는 메커니즘. 연결 이벤트를 사용하여 루핑 상황을 만들거나 긴 시퀀스 흐름 라인을 피할 수 있음

링크 이벤트 사용은 단일 프로세스 수준으로 제한됨 (즉, 상위 프로세스와 하위 프로세스를 연결할 수 없음). 짝을 이루는 중간 이벤트는 여러 페이지에 걸쳐 프로세스를 인쇄하기 위해 "오프 페이지 커넥터"로 사용될 수도 있음. 또한 프로세스 수준 내에서 일반 "이동"개체로 사용할 수도 있음. 소스 링크 이벤트는 여러 개있을 수 있지만 대상 링크 이벤트는 하나만있을 수 있음.
Signal
신호를 보내거나받는 데 사용.
신호는 프로세스 수준 내, 프로세스 수준, 풀 및 비즈니스 프로세스 다이어그램 간의 일반적인 통신을위한 것
BPMN 신호는 관심을 보인 후 반응을 원하는 사람을 위해 하늘로 발사되는 신호 플레어와 유사함. 따라서 신호 원이 있지만 특정 목표는 없음.
이 유형의 중간 이벤트는 이벤트가 정상 흐름의 일부인 경우 신호를 보내거나 받을 수 있음.
이벤트는 활동의 경계에 연결된 경우에만 신호를 수신 할 수 있음
에러 이벤트보다 더 일반적이고 엑티비티를 인터럽트 할 수 있는 에러 컨디션이 없고 에러 이벤트보다 더 큰 영역을 가짐
 
Multiple
다수의 트리거들이 이 이벤드에 할당되어 있다는 의미.
일반 플로우에서는 트래거를 잡거나 보낼수 있고, 엑티비티 경계에 있으면 트리거를 잡을 수만 있음.
트리거를 잡기 위해 사용할 떄는 한개 트리거만 할당할 수 있음.
트리거를 던지기 위해 쓸때는 할당된 트리거중에 하나만 트리거 되도 이벤트를 발생시킴

Parallel Multiple
다수의 트리거가 이벤트에 할당되어 있음.
일반 플로우나 엑티비티 경계있을 때 트리거를 잡을 수 있음.
할당된 모든 트리거가 와야지 이벤트가 발생됨

 

반응형
Comments