4. 1.1 BPMN (Business Process Modeling and Notation)
BPMN이란?
보다 더 쉽게 프로세스를 정의하고 이해하고
개선할 수 있도록 하는 프로세스의 그래픽적
표기법에 대한 대표적인 국제표준규격이며,
기존 UML의 Activity Diagram과 비슷하지만
비즈니스 프로세스와 관련하여 좀더 다양한
표현이 가능한 표준 표기 방법이다
기존 UML의 Activity Diagram 보다 훨씬 더
구체적이고 다양한 상황에 대한 표현이 가능
하다
<그림 1 > BPMN을 활용한 비디오 주문처리 예제
3
5. 1.2 BPMN의 목적
BPMN의 목적
OMG(Object Management Group)에 의해 2006년 비즈니스 프로세스 모델링을 위한
새로운 표준으로 등장한 것이 바로 BPMN(Business Process Modeling Notation)이다.
BPMN로 작성된 프로세스 표현들에 대한 그래픽 표기법 을 제공하기 위해
BPMI(Business Process Management Initiative)에 의해서 만들어 짐.
(BPMI는 후에 OMG(Object Management Group)의 일원이 됨
BPMN의 역할
BPMN 표기법은 비교적 짧은 시간에 실무에서 널리 채택되어 사용
2011년 1월 BPMN Version 2.0이 공식 확정
BPMN의 전망
BPMN은 간단한 기업업무절차에서부터 SOA(Service Oriented Architecture)와 같은
혁신적인 엔터프라이즈 아키텍처까지 다양한 형태의 비즈니스를 프로세스를
비교적 용이하게 표현할 도구로 활용될 것으로 전망하고 있다.
4
6. 1.3 BPMN을 활용한 비디오 주문처리 예제
BPMN은 최초의 프로세스 모델링을 위한
표준으로 광범위하게 수용
BPMN 모델링 도구만 해도 이미 60개 이상,
많은 수의 웹사이트,블로그, 출판물들의 관심
유럽의 대규모 기관들은 프로세스 관리팀에게
BPMN 교육을 제공,이를 모델링의 표준으로 사용
플로우차트나 액티비티 다이어그램을
작성하는 방법과 매우 유사
<그림 1 > BPMN을 활용한 비디오 주문처리 예제
5
8. 2.1 간단한 BPMN 모델(1)
<그림 2> 간단한 BPMN 모델
액티비티(Activity)
일이나 업무를 처리하는 단위이다.
시작 이벤트 중간 이벤트 종료 이벤트
이벤트(Event)
이벤트는 비즈니스 프로세스에서 발생되는 하나의 사건을 표현하기 위해서 사용된다.
시퀀스 플로우(Sequence Flow)
업무의 흐름을 나타내는데 사용되며, 풀과 레인을 가로질러 다른 이벤트나 액티비티
그리고 추가 요소들을 연결하는데 사용된다.
7
9. 2.2 간단한 BPMN 모델(2)
사업부와 인사부는 구인 광고를 진행하는 과정에 관계된 부서.
사업부에 의해 새로운 직원이 요구될 때 시작
사업부에서는 직원의 필요성을 보고,인사부에서 구인 광고 작성, 다시 사업부에서 구인 광고를 검토
인사부에서 작성된 구인 광고는 여러 번 반복해서 검토
적합하다고 판단되는 경우에만 공고하는 것으로 전체 프로세스가 진행
<그림 2> 간단한 BPMN 모델
8
10. 2.3 타이머-조건 이벤트
타이머 이벤트
이벤트(event)의 표현도 가능
미 발생된 하나의 사건을 표현하기 위해
사용되는 것으로 다양한 형태의 이벤트 사용이 가능
케이크를 오븐에 넣은 후에 ‘케이크 꺼내기’
액티비티는 한 시간을 기다린 다음에 시작
< 그림 6 > 타이머 이벤트
조건 이벤트
이벤트의 조건이 참이 되는 상황이 될 때만 이벤트를 유발하기도 함
오븐이 먼저 켜지고, 케이크를 오븐에 넣기 전에
온도가 180도를 넘어설 때까지 프로세스는 대기
< 그림 7 > 조건 이벤트
9
11. 2.5 이벤트 기반 결정
이벤트 기반 결정
이러한 표기방식은 기존의 플로우차트에서도
표현 가능한 것이었으나, BPMN이 기존의 방식
보다 훨씬 단순하고 이해하기가 쉬움
면접 요청이 먼저 발송
만약 승낙이 수신되면 면접이 준비되지만,
거절이 수신되면 서류는 반환.
하지만 만약 다른 두 이벤트가 발생하지 않은 채
14일이 경과하면 지원자에게 전화를 해 상기시킴
<그림 8> 이벤트 기반 결정
10
13. 3.1 게이트웨이의 종류
게이트웨이(Gateway)
게이트웨이는 프로세스의 논리적인 흐름을 정의하기 위해 프로세스를 분할하거나 병합하기 위한 용도로 사용된다.
구분 표기 설명
데이터 기반
출구 조건을 갖는다.
(Data Based)
배타적 게이트웨이는 반드시
배타적 (Exclusive)
한 경로만 선택된다.
이벤트 기반
출구 조건을 갖지 않는다.
(Event Based)
포괄적 (Inclusive) 하나 혹은 그 이상의 경로로 분할되거나 병합한다.
병렬 (Parallel) 두 개 이상의 경로로 분할되어 동시에 실행된다.
복합 (Complex) 토큰을 처리하기 위한 임의의 규칙이 포함될 수 있다.
12
14. 3.2 배타적 조건을 표기한 예(1)
배타적 게이트웨이(Exclusive Gateway)
하나의 경로만 선택되며, 프로세스를 분할 하거나
병합하기 위해 사용된다.
빈 마름모 모양이나 마름모 안에 ‘X’ 표시가
되어있는
마름모 기호를 사용한다.
판단을 해야 하는 액티비티가 존재한다면
- 기본적으로 배타적 게이트웨이가 사용된다.
배타적 게이트웨이 안에 질문이 포함될 수도 있다.
- 하나의 게이트웨이는 여러 출구를 가질 수
있으며,
- 기본 출구도 정의될 수 있다.
<그림 3> 배타적 조건을 표기한 예
13
15. 3.3 배타적 조건을 표기한 예(2)
복잡한 조건문을 처리하는 것도 용이
다이아몬드 모양의 게이트웨이가
프로세스를 분할하고 병합
조건에 따라 항공편 예약과
기차편 예약중 하나의 프로세스만 선택
전형적으로 많이 사용되는 형태의 조건문
<그림 3> 배타적 조건을 표기한 예
14
16. 3.4 병렬적 조건을 표기한 예(1)
병렬 게이트웨이(Parallel Gateway)
프로세스가 두 개 혹은 그 이상의 병렬 경로로
분할되어 동시에 실행되는 것을 표현하기 위한
게이트웨이이다.
논리적으로 “And”에 해당하며, 마름모 기호 안에
‘+’ 표시가 되어있는 기호를 사용한다.
병렬 게이트웨이에 의해 분할된 경로는
병렬 게이트웨이에 의해 다시 합쳐진다.
분할 병렬 게이트웨이는 각각의 시퀀스
플로우로 토큰을 복제한다.
<그림 4> 병렬적 조건을 표기한 예
통합 병렬 게이트웨이는 모든 토큰들을
기다린 후 하나의 토큰으로 통합한다.
15
17. 3.5 병렬적 조건을 표기한 예(2)
프로세스가 두 개 혹은 그 이상의 병렬 경로로 분할되어 동시에 실행되는 것을 표현하기 위한 게이트웨이
논리적으로 ‘and’에 해당하며, 다이아몬드 기호 안에 ‘+’ 표시가 되어있는 기호를 사용
<그림 4> 병렬적 조건을 표기한 예
16
18. 3.6 포괄적 조건을 표기한 예(1)
포괄적 게이트웨이(Inclusive Gateway)
포괄적 게이트웨이는 하나 혹은 그 이상의 경로를
선택하거나 병합한다.
논리적으로 “Or”에 해당하며, 마름모 기호 안에
동그라미 표시가 되어있는 기호를 사용한다.
최소한 하나 이상의 어떠한 조합도 가능하다.
분할 포괄적 게이트웨이의 송신 시퀀스 플로우는
조건이 함께 제시된다.
<그림 5> 포괄적 조건을 표기한 예
17
19. 3.7 포괄적 조건을 표기한 예(2)
하나 혹은 그 이상의 경로를 선택하거나 병합
논리적으로 ‘or’에 해당, 다이아몬드 기호 안에 동그라미 표시가 되어있는 기호를 사용
플로우차트나 액티비티 다이어그램에서 표현하기 어려운 부분을 BPMN에서는 쉽게 표현 가능하다는 것을 알 수 있음
<그림 5> 포괄적 조건을 표기한 예
18
21. 4.1 SOA(Service Oriented Architecture)
SOA(Service Oriented Architecture) 란?
웹 서비스에 근거하여 기업내의 각 업무단위를 독립적이고 반
복사용이 가능한 형태인 서비스라는 컴포넌트로 구현하여, 이를
유연하게 연결함으로써 결과물을 산출한다. 웹 서비스의 유연한
연결방식을 바탕으로, 각각의 서비스는 필요에 따라 다양한 형태
로 연결되어 구성이 될 수 있으며, 이러한 변경을 통해 비즈니스
환경이나 요구사항의 변화에 발 빠르게 대처할 수 있는 것이다.
즉, SOA는 내부의 단위 업무를 서비스로 정의하고 이를 조합하
여 하나의 어플리케이션을 구성하는데 이러한 어플리케이션을
컴포지트 어플리케이션(Composite Application)이라고 한다.
20
22. 4.2 SOA(Service Oriented Architecture)
SOA(Service Oriented Architecture)의 장점
SOA를 통해서 구현된 컴포지트 어플리케이션은 미리 정의된 서비스들을 조합하여 원하는 기능을 구현하
며, 새로운 기능의 추가나 개선은 기존 서비스를 수정하거나 재 조합함으로써 구현되기 때문에 변화하는
비즈니스 환경에 쉽게 대처할 수 있는 융통성을 제공해 준다.
SOA 구현
기존 어플리케이션은 분할 가능한 서비스로 분할
각각의 서비스들을 비즈니스 프로세스 내에 통합
BPEL(Business Process Execution Language) 이란?
웹서비스 환경에서 비즈니스 프로세스를 정의하고 실행하기 위한 업계 표준 언어로서
이 기종 어플리케이션 및 서비스들을 비즈니스 프로세스로 통합하기 위한 새로운 표준이다.
(비즈니스 프로세스를 설계하는 것은 BPMN의 영역이다.)
21
23. 4.3 차세대 시스템
차세대 시스템이란?
차세대 시스템 비즈니스 프로세스를 중심으로 하위 단의 구현 기능 등을
표준화된 방법으로 유연하게 제어할 수 있는 시스템을 말한다.
현대기아차의 SOA 프로젝트
현대기아차의 경우 2009년부터 20012년까지 SOA 솔루션 구축의 로드맵 발표.
신한카드 차세대 시스템(2010년 12월)
신한카드 차세대 시스템 구축 프로젝트에 BPMN과 BPEL 표준을 준수해야 한다는 것이 RFP에 명시됨.
http://www.isnews.co.kr/news/articleView.html?idxno=12669
22
25. 4.1 BPMN 2.0의 혁신
• 프로세스와 협업 모델링을 위한 확장
새로운 이벤트 타입: 병렬 다중 이벤트(parallel multiple event), 그리고 단계 상승 (escalations)
프로세스를 시작하기 위한 병렬 이벤트 기반 게이트웨이(parallel event-based gateway)
액티비티(activity)에 덧붙여진 중간 이벤트들(intermediate events)
특별히 정의된 이벤트 발생 시에만 실행되는 이벤트 하위 프로세스(event sub-processes)
데이터의 표현을 위한 확장된 옵션: 예를 들어 데이터 저장소와 데이터 객체를 나타내는 리스트
프로세스에 관계하는 다중 인스턴스 참가자들의 협업(collaboration) 모델링으로의 업그레이드,
인벨롭 심볼(봉투 기호)로 표현되는 참가자들간 전달 메시지 표시
다른 종류의 작업(task)을 위한 기호(symbol)
다른 곳에서 정의된 액티비티를 불러오는 모델링의 새로운 방법
병렬 혹은 순차적 실행에 따른 다중 인스턴스 액티비티(multi- instance activity)를 위한 구분되는 표시기
• 새로운 다이어그램
통합 연출 다이어그램 협업의 의미에서처럼 비즈니스 파트너 간의 데이터 교환에 대한 모델링.
(choreography diagram)
대화형 다이어그램 여러 비즈니스 파트너들과의 커뮤니케이션 통로(links)를 정의한다.
(conversation diagram)
24
26. 4.2 BPMN 2.0의 혁신
메타 모델(Meta Model)이란?
메타모델이란 모델을 기술하기 위한 모델을 말한다.
메타 모델(Meta Model)표현
• OMG에선 BPDM(Business Process Definition Metamodel, 비즈니스 프로세스를 정의하기 위한 메타 모델)의 제안서를 통해서
• 메타 모델과 연동되기 위한 태스크의 유형(Task Type)이나 구현(Implementation)에 관한 속성이 있어야 한다는 것을 정의했다.
BPMN 2.0은 비즈니스 프로세스 다이어그램에서 메타 모델(Meta Model)을 표현하기 위한 최초의 공식적인 표기법이라고 할 수 있다.
더 이상 BPMN의 약어는 ‘Business Process Modeling Notation’이 아니라 ‘Business Process Modeling and Notation’ 이다.
BPMN 2.0의 표준화된 교환 형식
BPMN 2.0은 표준화된 교환 형식을 제공하기 때문에 다른 툴(Tool)로 BPMN 다이어그램을 옮기는 것이 가능해졌다.
그러므로 툴과 툴 뿐만 아니라 툴과 비즈니스 프로세스 관리 시스템(BPMS) 사이에서도
BPMN 다이어그램의 교환이 가능해 질 수 있다.
BPMN 2.0의 실행 프로세스에 대한 정의
실행 프로세스란 하위 단의 구현 기능들을 제어하기 위한 수단을 말하는데 BPMN 2.0에서는 특정 모델을 구체적으로 실행하는
방법에 대해 정의할 수 있게 되었으며, BPMN 다이어그램을 BPEL(Business Process Execution Language)로 전환하기 위한 규칙 또한
정의되어 있다.
25
27. 4.3 비즈니스 모델과 실행 가능(기술) 모델(1)
BPMN의 역할
BPMN은 워크프로우나 비즈니스 프로세스 관리 시스템(BPMS)의 프로세스 엔진에 의해서 실행되는
프로세스를 정의하기 위한 영역에서 출발했지만, 결국 BPMN이 업무 담당자와 IT 전문가 사이의
원활한 커뮤니케이션을 위한 소통의 언어가 될 것이다.
비즈니스 모델
비즈니스 모델을 작성하는 주요 목적은 기본적인 프로세스의 흐름을 이해하기 위한 것이다.
그러므로 너무 많은 세부사항을 정의하지 않는 것이 바람직하다.
실행 가능(기술) 모델
기술 모델에서는 반복이나 예외처리 그리고 트랜잭션 등을 포함할 수 있다.
그러므로 비즈니스 모델에서도 기술적인 처리를 표현해줄 수 있어야만 한다.
BPMN 2.0은 프로세스 모델을 위한 실행 구조를 규정하고 있기 때문에
실행 가능 모델과 관련한 많은 문제들을 감소시킨다.
26
28. 4.4 비즈니스 모델 실행 가능(기술) 모델 (2)
비즈니스 모델과 기술 모델(워크플로우 모델)의 차이점
비즈니스 모델의 주요 목적은 기본적인 프로세스의 흐름을 이해
일반적으로 너무 많은 세부사항을 정의하는 것은 자제
결정조건은 명확한 논리적 용어보다는 단순 텍스트로 표현
예외 처리나 일반적이지 않은 경우는 대개 상세하게 모델로 정의 X, 주석이나 해설을 통해 설명
기술 모델의 경우, 구체적인 상황과 조건이 다 반영되어 나타나야 함
비즈니스 모델의 한계점
기존의 프로세스 모델링 도구의 표현의 한계로 비즈니스,기술 모델 통합에 어려움과 시간 소요
IT전문가들이 프로세스 모델링 도구 활용으로 모델링을 할 때는 반복 구조, 예외 처리, 트랜잭션 포함하여 작성
비즈니스 전문가들은 일반적으로 내용을 대개 생략한 채로 다이어그램을 작성 (반복구조, 예외처리, 트랜잭션 포함 X)
이러한 기본적인 차이로 인해서 전형적인 비즈니스 모델들은 전체 표기법 중에서 제한된 부분만을 포함
27
29. 4.5 BPMN 가능성
비즈니스 모델 가능성
과거에는 비즈니스 모델과 기술 모델은 다소 거리가 있는 영역
BPMN에서는 비즈니스 모델이 바로 기술 모델로 전환될 수 있는 가능성 갖게 됨
BPMN은 더 이상 단순히 비즈니스 프로세스 모델링 표기법(Business Process Modeling Notation)이 아니라
비즈니스 프로세스 모델링과 표기법(Business Process Modeling and Notation)이 된 것이다.
BPMN은 분명히 IT에 기반을 두고 출발했지만, IT업계뿐만 아니라 경영을 비롯한 산업계 전반에서
모든 업무적인 상황을 표현하고 관리하기 위한 일반적인 방법으로 광범위하게 사용될 것이다.
28
30. 책에 관하여
• BPMN 2.0 – 비즈니스 프로세스 모델링 입문
• 입문서
• 원서의 웹사이트는 www.bpmn-introduction.com이다.
• 한국 내의BPMN커뮤니티사이트는BPMN연구소(www.bpmn.co.kr, www.bpmnlab.com)이다.
29