워크플로우 언어와 BPEL, BPMN 250423
q1: 워크플로우 언어와 BPEL, BPMN
a1:
워크플로우 언어와 그 대표격인 BPEL·BPMN에 대해 정리해 드리겠습니다.
⸻
1. 워크플로우 언어란?
• 정의: 업무 프로세스(비즈니스 프로세스)나 시스템 간 연계 흐름을 “어떤 순서로, 어떤 조건에 따라, 누가(혹은 어떤 서비스가) 무슨 작업을 수행할지”를 표준화된 문법으로 기술하는 언어입니다.
• 역할:
• 사람(업무 분석가)과 시스템(통합 미들웨어)이 공통으로 해석할 수 있는 프로세스 정의서
• 자동화 엔진(오케스트레이션 엔진)이 실행 가능한 스크립트·모델을 생성
• 특징:
• 표현력: 시퀀스(순차), 병렬(split/join), 조건(branch), 반복(loop) 같은 제어 구조 지원
• 이식성: 표준 언어를 쓰면 서로 다른 벤더 제품 간에 모델·정의서를 공유 가능
• 모델↔실행 분리: 비즈니스 모델링 단계와 런타임 실행 단계를 분리해 유지보수 용이
⸻
2. BPEL (Business Process Execution Language)
• 정의: OASIS 표준 XML 기반 언어로, 주로 웹서비스 연동 프로세스의 “실행(execution)” 관점에 초점을 맞춰 설계된 워크플로우 언어입니다.
• 주요 요소:
• <sequence>, <flow>: 순차·병렬 실행 제어
• <receive>, <invoke>: 외부 서비스 호출·응답 수신
• <reply>, <throw>, <scope>: 응답·예외 처리·트랜잭션 경계 지정
• 특징:
• 실행 지향: 모델링보다는 런타임 엔진에서 바로 실행 가능한 ‘프로세스 스크립트’로 사용
• 웹서비스 중심: SOAP·WSDL과 결합해 서비스 호출계약(포트·엔드포인트)까지 기술
• 활용 예: 금융권 계좌이체 → 대출 심사 → 채권관리 시스템 연계 같은 웹서비스 기반 시나리오 자동화
⸻
3. BPMN (Business Process Model and Notation)
• 정의: OMG(Object Management Group) 표준으로, 비즈니스 애널리스트가 읽고 작성하기 쉬운 그래픽 표기법(다이어그램) 기반의 워크플로우 모델링 언어입니다.
• 주요 구성요소:
• Flow Objects: 이벤트(◯), 활동(□), 게이트웨이(◇)
• Connecting Objects: 시퀀스 흐름(→), 메시지 흐름(–▶), 협업 풀·레인
• Artifacts: 데이터 객체, 어소시어션, 그룹
• 특징:
• 표현력 풍부: 프로세스 상의 의사결정·메시지 교환·병렬 제어를 직관적 아이콘으로 표현
• 모델링 지향: ‘어떤 프로세스인지’ 시각적으로 설계하고, 시뮬레이션·검증 단계에 활용
• 자동화 연계: BPMN 모델을 BPEL·Java 코드 등 실행 스크립트로 변환해 오케스트레이션 엔진에 배포 가능
⸻
▶ 정리 비교
항목
BPEL
BPMN
목적
실행(Execution) 중심
모델링(Modeling) 중심
표현 형식
XML 태그
다이어그램 (그래픽 노테이션)
사용자
개발자·통합 엔지니어
비즈니스 애널리스트·업무 담당자
연계 방식
SOAP/WSDL 기반 웹서비스 연동 최적화
사람·시스템 간 프로세스 설계 후 자동화 엔진으로 변환
이처럼 워크플로우 언어는 비즈니스 프로세스의 ‘정의와 실행’을 표준화해 주며, BPEL은 실행에, BPMN은 모델링에 특화된 도구라고 이해하시면 좋습니다.