uEngine6 BPM 튜토리얼
시작하기

uEngine6 BPM 튜토리얼

uEngine6 BPM으로 프로세스를 그리고, 사람 작업과 폼을 붙이고, 외부 시스템을 이벤트로 연결하고, 운영 화면에서 되돌리는 법을 처음부터 따라 합니다. 마지막 부에서는 은행 계정계와 ERP를 실제로 연결합니다.

무엇을 · 왜#

uEngine6 BPM은 BPMN 2.0으로 그린 업무 흐름을 실행하는 오픈소스 엔진과 화면입니다. 흐름은 BPM이 정하고, 실제 업무는 사람(업무 목록·폼)과 다른 시스템(REST·SQL·Kafka 이벤트)이 합니다.

구성 기본 포트 하는 일
keycloak-gateway 8288 브라우저의 단일 진입점. 로그인(Keycloak) 처리와 각 서비스·화면으로 요청 전달
definition-service 9293 프로세스 정의·폼 저장과 버전
process-service 9294 인스턴스 실행, 업무 목록, 이벤트 수신(Kafka/폴링)
웹 화면 5373 모델러, 업무 목록, 인스턴스·관리자 화면
Keycloak · PostgreSQL 8280 · 5632 사용자·그룹·역할, 엔진 저장소

Camunda를 써 본 분을 위해 차이점부터 설명합니다.

  • 확장 속성은 JSON 한 덩어리. 작업마다 <uengine:properties json="…">에 _type(예: org.uengine.kernel.FormActivity)과 설정을 넣습니다. 모델러 패널이 이 JSON을 고칩니다.
  • 레인 = 담당자 규칙. 레인에 Keycloak 그룹·역할을 설정하면 해당하는 사람들의 업무 목록에 레인의 작업이 표시됩니다. 선점(경합) 방식이면 한 사람이 가져갑니다.
  • 이벤트 동기화. 작업에 이벤트 이름과 상관 키를 설정하면, 외부 시스템이 Kafka로 보낸 그 이벤트가 작업을 끝내고 payload가 프로세스 변수가 됩니다. 외부 시스템이 BPM API를 호출하지 않아도 됩니다.

이 튜토리얼의 갈래#

부 하는 일
시작하기 설치, 첫 프로세스 만들고 실행하기, API로 같은 일 하기
모델링 모델러, 프로세스 변수와 인스턴스 이름, 레인과 담당자, 작업 입력값과 데이터 매핑
사람 작업 폼, 업무 목록(선점), 반송과 SKIP, 다른 앱 화면을 작업으로
흐름 제어 배타·병렬·포괄 게이트웨이, 스크립트, 규칙표(DMN), 콜 액티비티, 다중 인스턴스
이벤트 이벤트로 시작하기, 이벤트로 작업 끝내기, 오류와 보상
시스템 연동 REST 서비스 작업, SQL 작업, Kafka 이벤트 연동
운영 인스턴스 찾기, 변수 고치기, 되돌리기와 실패 다루기, 배포 전 시험, 버전, 분석
API·보안 REST API 레퍼런스, Keycloak 사용자·그룹·역할
산업 예제 금융 계정계, uEngine ERP 구매 발주
참고 BPMN 지원 범위, 엔진 확장하기

각 장은 「무엇을 · 왜 → 따라 하기 → 설정 레퍼런스 → 확인 문제」 순서로 구성합니다. 따라 하기는 영상과 같은 순서로 진행합니다. 예제 회사는 가상 회사 가온가전입니다.

사람 로그인 하는 일
홍길동 hong 관리자. 프로세스를 그려 배포하고 운영 화면을 확인합니다
최구매 choi 구매 담당. 구매를 요청합니다
윤팀장 yoon 구매 팀장. 결재합니다
김대표 kim 대표. 큰 금액을 결재합니다
이재고 lee 재고 담당. 입고를 처리합니다
정회계 jung 회계 담당. 청구서와 지급을 처리합니다

먼저 알아 둘 것

  • 화면과 결과는 로컬 스택(uEngine6 bmt/sds-process-test 브랜치, 프런트 process-gpt-vue3-hli 같은 이름의 브랜치)을 실제로 실행해 얻었습니다. 다른 브랜치에서는 화면이 다를 수 있습니다.
  • 이 브랜치에서 동작하지 않거나 우회가 필요한 기능은 장마다 「알려진 제약」으로 적었고, BPMN 지원 범위에 모았습니다. 안 되는 것을 되는 것처럼 보여 주지 않습니다.
  • 예전 튜토리얼(bpm-intro.uengine.io)은 uEngine6 초기 화면 기준입니다. 새로 시작한다면 이 튜토리얼을 따라 주세요.
© uEngine Solutions · 문의하기 · 이 튜토리얼의 화면과 결과는 uEngine6 (bmt/sds-process-test 브랜치)을 로컬에서 실제로 실행해 얻었습니다. 회사와 사람은 가상입니다.