경계 이벤트
경계 이벤트란
BPMN 2.0 경계 이벤트는 활동의 테두리에 붙는 중간 캐치 이벤트입니다. 활동이 진행되는 동안 기한, 메시지, 오류, 신호, 데이터 변경 등의 트리거를 기다리다가 트리거가 발생하면 해당 활동에서 빠져나가는 경로를 엽니다.
- 항상 작업, 하위 프로세스, 트랜잭션 또는 Call Activity의 테두리에 배치합니다. 이벤트나 Gateway에는 붙일 수 없으며, 흐름 안에 따로 배치할 수도 없습니다.
- 나가는 시퀀스 플로우는 있지만 들어오는 시퀀스 플로우는 없습니다. 붙어 있는 활동이 유일한 진입점입니다.
- 활동이 활성 상태일 때만 트리거를 기다립니다. 활동이 먼저 끝나면 경계 이벤트는 발생하지 않습니다. 단, 보상 이벤트는 활동이 완료된 뒤 활성화됩니다.
- 트리거가 발생하면 토큰이 경계 이벤트의 나가는 플로우를 따라 이동합니다. 중단형 이벤트는 활동의 토큰을 대체하고, 비중단형 이벤트는 활동과 함께 별도의 토큰을 추가합니다.
- 표기에서는 활동의 테두리에 이중 원으로 표시하고, 원 안에 트리거 기호를 넣습니다.
ProcessMind는 이 페이지에 나열된 모든 유형의 경계 이벤트를 지원합니다. 경계 이벤트 또는 경계 비대화형. 그룹에서 이벤트를 끌어와 BPMN 요소 팔레트의 활동 테두리에 놓으면 이벤트가 연결됩니다. 기존 중간 캐치 이벤트를 활동 테두리로 끌어와 연결하거나, 테두리 밖으로 끌어 연결을 해제할 수도 있습니다. BPMN을 내보내고 다시 가져와도 연결 상태와 중단 설정이 유지됩니다.
중단형과 비중단형 비교
경계 이벤트는 두 가지 유형으로 나뉩니다. 트리거가 발생했을 때 활동에 어떤 영향을 주는지가 유형에 따라 달라집니다.
| 중단형 | 비중단형 | |
|---|---|---|
| 표시 | 실선 이중 원 | 점선 이중 원 |
| 활동에 미치는 영향 | 즉시 취소되며 진행 중인 작업을 중단합니다 | 계속 실행되며 취소되는 작업이 없습니다 |
| 트리거 발생 후 경로 | 경계 경로만 실행합니다. 활동의 일반적인 나가는 플로우는 실행하지 않습니다 | 두 경로 모두 실행합니다. 일반 경로가 계속되고 경계 경로가 병렬로 진행됩니다 |
| 발생 횟수 | 한 번 발생합니다. 트리거가 발생하면 활동이 종료됩니다 | 활동이 활성 상태인 동안 여러 번 발생할 수 있습니다. 예를 들어 반복 타이머가 작동할 때마다 발생합니다 |
| BPMN 속성 | cancelActivity="true" | cancelActivity="false" |
중단형 경계 이벤트는 활동의 일반적인 진행을 대체합니다. 비중단형 경계 이벤트는 활동에서 분기합니다.
트리거가 발생하면 활동을 계속하는 것이 무의미하거나 위험해지는 경우 중단형을 사용합니다. 예를 들어 기한을 놓쳤거나, 실패가 발생했거나, 요청이 철회된 경우입니다. 활동과 함께 추가 작업을 진행하거나, 진행 중인 작업을 중단하지 않고 알림이나 통지를 보내야 할 때는 비중단형을 사용합니다.
두 유형 모두 활동이 활성 상태일 때만 의미가 있습니다. 중단형 이벤트가 발생하면 활동이 취소되므로 해당 활동에 연결된 다른 경계 이벤트도 함께 비활성화됩니다. 비중단형 이벤트는 활동과 다른 경계 이벤트를 그대로 유지합니다.
하나의 활동에 여러 경계 이벤트를 연결할 수 있습니다. 승인 작업에는 다음과 같은 조합을 자주 사용합니다.
- 영업일 기준 이틀 뒤 발생하는 중단형 타이머: 에스컬레이션하고 작업을 중단합니다.
- 네 시간마다 발생하는 비중단형 타이머: 알림을 보내고 작업은 계속 진행합니다.
- 실제 확인을 수행하는 하위 프로세스의 중단형 오류 이벤트: 기술적 오류를 처리합니다.
경계 이벤트 유형
ProcessMind는 아래 유형을 지원합니다. 일부 트리거는 활동을 중단할 때만 의미가 있으므로 중단형 유형이 더 많습니다.
중단형 경계 이벤트
| 유형 | 의미 | 일반적인 예 |
|---|---|---|
| 메시지 | 이 활동을 대상으로 하는 특정 메시지를 기다립니다. | “공급업체 견적 대기”는 “견적 철회” 메시지가 오면 중단되고 “대체 공급업체 찾기”로 이어집니다. |
| 타이머 | 기한입니다. 활동이 시작된 시점부터 계산한 기간, 날짜 또는 주기를 지정합니다. | “비용 승인”에 이틀 타이머를 설정합니다. 작업이 끝나지 않으면 해당 건은 “재무 관리자에게 에스컬레이션”으로 이동합니다. |
| 오류 | 활동 내부에서 발생한 오류를 감지하고 활동을 중단합니다. 오류 경계 이벤트는 항상 중단형입니다. | “신용 확인” 하위 프로세스에서 “확인 실패” 오류가 발생하면 경계 경로를 따라 “수동 심사 요청”으로 이동합니다. |
| 에스컬레이션 | 상위 수준에서 처리해야 할 때 활동을 중단합니다. | “사고 해결”의 최초 응답 목표를 놓치면 에스컬레이션되어 “사고 지휘자가 인계”로 이동합니다. |
| 취소 | 트랜잭션 하위 프로세스의 취소 종료 이벤트를 감지합니다. 트랜잭션에만 사용할 수 있습니다. | 고객이 “출장 예약” 트랜잭션을 취소하면 경계 경로를 따라 “결제 환불 및 예약 해제”로 이동합니다. |
| 보상(특수 사례) | 이미 완료된 활동의 보상 처리기를 실행해 그 효과를 되돌립니다. 진행 중인 작업을 취소하지는 않습니다. | 프로세스 후반에 주문이 취소되면 “보증금 결제”를 “보증금 환불”로 보상합니다. |
| 조건 | 활동이 진행되는 동안 비즈니스 조건이 참이 되면 발생합니다. | availableStock < orderedQuantity일 때 “재고 예약”이 중단되고 해당 건은 “주문 대기 처리 및 고객 통지”로 이동합니다. |
| 신호 | 브로드캐스트 신호를 감지합니다. 신호는 특정 활동을 대상으로 하지 않으며, 조건에 맞는 모든 수신자가 반응할 수 있습니다. | 회사 전체에 전송된 “건 철회” 신호가 오면 “누락 서류 수집”이 중단되고 해당 건이 종료됩니다. |
| 다중 | 여러 트리거 중 하나라도 발생하면 실행됩니다. | “고객 답변 대기”는 “답변 수신” 메시지 또는 열흘 타이머를 기다립니다. 먼저 발생한 트리거가 대기를 취소합니다. |
| 병렬 다중 | 모든 트리거가 발생한 뒤에만 실행됩니다. | “출시 승인 수집”은 법무 승인 메시지와 보안 승인 메시지를 모두 받은 뒤 다음 단계로 진행합니다. |
이 유형에 적용되는 몇 가지 기본 원칙은 다음과 같습니다.
- 오류는 하위 프로세스, Call Activity 또는 트랜잭션에 연결해야 합니다. 실제로 오류가 발생할 수 있는 활동에 연결해야 하며, 일반 작업 내부에는 실패할 요소가 없습니다.
- 취소는 트랜잭션 하위 프로세스에 연결해야 합니다. 다른 곳에는 감지할 취소 이벤트가 없습니다.
- 보상은 특수 사례입니다. 활동이 완료된 뒤 활성화되며, 프로세스의 다른 위치에서 발생한 보상 Throw Event에 의해 실행됩니다. 이미 완료된 단계를 “되돌리는” 상황을 모델링하며, “진행 중인 단계를 중단하는” 상황에는 사용하지 않습니다.
- 다중은 여러 트리거 중 하나가 먼저 발생하는 경우에 사용합니다. 병렬 다중은 모든 트리거를 기다리는 게이트입니다.
비중단형 경계 이벤트
| 유형 | 의미 | 일반적인 예 |
|---|---|---|
| 메시지 | 활동이 계속되는 동안 메시지가 도착하면 별도의 경로를 시작합니다. | “제안서 작성”은 “검토자 의견 수신” 메시지가 도착해 “검토 의견 기록”이 시작되어도 계속 진행됩니다. |
| 타이머 | 알림이나 정기 확인에 사용하며 활동을 중단하지 않습니다. | “지원 티켓 처리”가 계속되는 동안 8시간 반복 타이머가 “상태 업데이트 전송”을 시작합니다. |
| 에스컬레이션 | 활동을 종료하지 않고 에스컬레이션 경로를 함께 시작합니다. | “불만 해결”이 계속되는 동안 “고객이 주요 고객임” 에스컬레이션이 “고객 담당 이사에게 알림”을 시작합니다. |
| 조건 | 활동이 계속되는 동안 조건이 충족되면 별도 경로를 시작합니다. | riskScore > 70일 때 “대출 신청 처리”가 계속 진행되면서 “감사 검토 대상으로 표시”가 시작됩니다. |
| 신호 | 브로드캐스트 신호가 모든 수신자의 별도 경로를 시작합니다. 활동은 계속됩니다. | “야간 일괄 처리 실행”이 계속되는 동안 “시장 마감” 신호가 “중간 합계 스냅샷”을 시작합니다. |
| 다중 | 여러 트리거 중 하나가 별도 경로를 시작합니다. 활동은 계속됩니다. | “계약 협상”이 계속 열려 있는 동안 상대방의 메시지나 3일 타이머가 “알림 전송”을 시작합니다. |
| 병렬 다중 | 모든 트리거가 함께 별도 경로를 시작합니다. 활동은 계속됩니다. | “모든 확인 대기”는 메시지와 신호를 모두 받을 때까지 활성 상태를 유지한 뒤 “준비 상태 기록”을 시작합니다. |
비중단형 경계 이벤트는 알림, 통지, 모니터링, 병렬 에스컬레이션에 사용합니다. 주 흐름을 바꾸지 않고 그 옆에 분기 경로를 추가합니다.
경계 이벤트가 아닌 이벤트 유형
경계 이벤트처럼 보이지만 실제로는 경계 이벤트가 아닌 유형도 있습니다.
- Link 이벤트는 흐름의 여러 부분을 연결합니다. 흐름 안에 배치하는 중간 캐치 또는 Throw Event이며, 활동에 연결하지 않습니다.
- Terminate는 프로세스 인스턴스 전체를 종료하며, 종료 이벤트로만 사용할 수 있습니다.
- 없음은 트리거가 아니므로 경계 이벤트 유형으로 사용할 수 없습니다. 모든 경계 이벤트에는 감지할 대상이 필요합니다.
ProcessMind에서 경계 이벤트 추가하기
- BPMN 요소 팔레트를 엽니다.
- 중단형 이벤트는 경계 이벤트 그룹에서, 비중단형 이벤트는 경계 비대화형. 그룹에서 유형을 선택합니다.
- 작업, 하위 프로세스, 트랜잭션 또는 Call Activity의 테두리로 끌어옵니다.
- 놓으면 이벤트가 가장 가까운 테두리에 맞춰지고 해당 활동에 연결됩니다.
- 경계 이벤트에서 예외 처리 또는 별도 경로의 첫 단계까지 시퀀스 플로우를 그립니다.
사용할 때 참고할 사항:
- 중간 이벤트를 활동 테두리에 놓으면 활동에 연결됩니다. 같은 이벤트를 빈 캔버스에 놓으면 일반 중간 캐치 이벤트가 됩니다. 나중에 테두리로 끌어 연결하거나, 테두리 밖으로 끌어 연결을 해제할 수 있습니다.
- 경계 이벤트는 연결된 활동과 함께 이동하고 숨겨지며 삭제됩니다. 활동과 분리해 배치할 수 없습니다.
- 비중단형 이벤트는 체크박스가 아니라 팔레트의 별도 항목입니다. 활동을 계속 실행해야 한다면 끌어오기 전에 비중단형을 선택합니다.
- 내보낼 때 연결 정보는
attachedToRef로, 중단 설정은cancelActivity로 기록됩니다. 파일을 다시 가져오면 두 설정이 모두 복원됩니다.
자주 하는 실수
- 나가는 플로우가 없는 경계 이벤트. 트리거를 감지해도 이어갈 곳이 없어 예외 경로가 막힙니다.
- 즉시 중단해야 하는 상황에 비중단형 타이머 사용. 활동이 계속 실행되므로 기한이 지나도 작업이 끝나지 않습니다. 기한을 넘기면 중단해야 하는 경우 중단형을 사용합니다.
- 일반 작업에 오류 경계 이벤트 연결. 오류가 발생하는 단계를 포함한 하위 프로세스나 Call Activity에 연결합니다.
- 활동이 끝난 뒤 경계 이벤트가 발생할 것으로 예상. 보상 이벤트는 완료 후 활성화되지만, 그 외 경계 이벤트는 활동이 끝난 뒤 발생할 수 없습니다.
- 트랜잭션이 아닌 곳에서 취소 사용. 취소 경계 이벤트는 트랜잭션 하위 프로세스에만 사용할 수 있습니다.
- 하나의 활동에 중단형 이벤트 두 개를 연결하고 두 경로가 모두 실행될 것으로 예상. 먼저 발생한 트리거가 우선합니다. 활동과 다른 경계 이벤트는 함께 취소됩니다.
기호와 함께 보는 전체 이벤트
| 시작 | 중간 | 종료 | ||||||
|---|---|---|---|---|---|---|---|---|
| Type | 일반 | 이벤트 하위 프로세스 | 중단하지 않는 이벤트 하위 프로세스 | 캐치 | 경계 | 중단하지 않는 경계 | 던지기 | |
| 없음 | | |||||||
| Message | | | | | | | | |
| Timer | | | | | | | ||
| Conditional | | | | | | | ||
| Link | | | | |||||
| Signal | | | | | | | | |
| Error | | | | |||||
| Escalation | | | | | | | ||
| 종료 | | |||||||
| Compensation | | | | | ||||
| Cancel | | | ||||||
| Multiple | | | | | | | | |
| Multiple Parallel | | | | | | | ||
사용자 지정 BPMN 모델 생성
관련 주제
- 이벤트: 모든 이벤트 유형을 확인합니다.
- 중간 이벤트: 흐름 중간에 발생하는 이벤트입니다.
- 활동: 경계 이벤트를 연결할 수 있는 작업과 하위 프로세스입니다.
- 지원되는 BPMN 요소: ProcessMind에서 가져오고 내보낼 수 있는 요소를 확인합니다.
- BPMN 2.0 실전 가이드: 예제를 통해 표기법을 설명합니다.
더 나은 프로세스를 설계하고, 연결된 아키텍처를 구축해 관리하세요.
신용카드 등록이나 대기 없이 바로 이용할 수 있습니다. 조직의 업무 방식을 명확하고 유기적으로 연결된 프로세스 설계로 바꿔 보세요.
프로세스 아키텍처를 구축하고, 소유권과 통제 기준을 정립하며, 모든 계층의 역할과 책임을 조율하세요.
무료 체험을 시작하고 프로세스를 관리·운영하고 지속적으로 개선할 수 있는 신뢰할 만한 기반을 마련하세요.