[논문 리뷰] Cloud Process Execution Engine: Architecture and Interfaces
이 논문은 클라우드, 엣지, IoT 환경에서 확장성 있고 저코드 기반의 BPMN 실행을 가능하게 하는 극적으로 분산된 오픈소스 프로세스 실행 엔진인 Cloud Process Execution Engine(CPEE.org)을 제시한다. 이 엔진은 변환 컴파일(트랜스파일레이션)과 REST/SSE 기반 이벤트 스트리밍을 활용하여, 실시간 모니터링, 동적 인스턴스 적응, 외부 서비스와의 원활한 통합을 지원한다. 모듈러하고 서비스 중심의 아키텍처를 통해 실시간 모니터링, 동적 인스턴스 적응, 최소한의 인터페이스를 통한 외부 서비스와의 원활한 통합을 지원한다.
Process Execution Engines are a vital part of Business Process Management (BPM) and Manufacturing Orchestration Management (MOM), as they allow the business or manufacturing logic (expressed in a graphical notation such as BPMN) to be executed. This execution drives and supervises all interactions between humans, machines, software, and the environment. If done right, this will lead to a highly flexible, low-code, and easy to maintain solution, that allows for ad-hoc changes and functional evolution, as well as delivering a wealth of data for data-science applications. The Cloud Process Execution Engine CPEE.org implements a radically distributed scale-out architecture, together with a minimal set of interfaces, to allow for the simplest possible integration with existing services, machines, and existing data-analysis tools. Its open-source components can serve as a blueprint for future development of commercial solutions, and serves as a proven testbed for academic research, teaching, and industrial application since 2008. In this paper we present the architecture, interfaces that make CPEE.org possible, as well as discuss different lifecycle models utilized during execution to provide overarching support for a wide range of data-analysis tasks.
연구 동기 및 목표
- 실시간 모니터링, 동적 인스턴스 적응, 외부 서비스와의 원활한 통합을 지원하는 고도로 확장 가능한 분산 프로세스 실행 엔진을 설계하기.
- BPMN 기반의 저코드, 모델 기반 프로세스 실행을 가능하게 하되, 연구 및 산업적 용도에서의 모듈성과 확장성을 유지하기.
- 중앙집중형 및 피어 투 피어 배포를 모두 지원하는 생산 준비 상태의 오픈소스 플랫폼을 제공하여 엣지 및 IoT 워크로드에 적합하게 하기.
- 모든 내부 컴포onent을 표준화된 REST 및 SSE 인터페이스를 통해 노출하여 교육, 연구 및 시스템 점검을 가능하게 하기.
- 핵심 엔진을 수정하지 않고도 외부 서비스 통합을 통해 라이프사이클 관리, 버전 관리, 자가 복구 메커니즘을 지원하기.
제안 방법
- CPEE.org 엔진은 BPMN 모델을 하위 수준의 실행 가능한 코드로 변환하는 변환 컴파일 기반 아키텍처를 사용하여, 각 인스턴스별 인터프리터 오버헤드를 방지한다.
- Redis를 메모리 기반 데이터베이스로 사용하여 Pub/Sub 메커니즘을 활용해 분산된 컴포넌트 간에 이벤트, 라이프사이클 상태, 투표를 스트리밍한다.
- 내부 서비스인 영속성 구현(PI), 이벤트 배포(EDI), 투표 배포(VDI), 콜백 종료(CEI), REST 서비스(RS)는 분리되어 있으며 이벤트 스트림을 통해 통신한다.
- REST 서비스(RS)는 중앙 제어 인터페이스 역할을 하며, 모든 명령어를 Pub/Sub 시스템으로 전달하고, 실시간 UI 업데이트를 위해 HTTP 푸시와 서버 세션 이벤트(SSE)를 모두 지원한다.
- 시스템은 두 가지 배포 모델을 지원한다: 분산형(클러스터링된 Redis, 로드 밸런싱된 인스턴스)과 피어 투 피어형(상호 작용을 위한 운영 인터페이스를 통해 통신하는 다수의 독립된 PE).
- 모든 컴포넌트는 표준화된 REST 및 SSE 인터페이스를 통해 노출되어 있어, 외부 서비스가 엔진의 핵심을 수정하지 않고도 功能을 확장할 수 있다.
실험 결과
연구 질문
- RQ1확장성 있는 분산 실행을 지원하면서도 저지연성과 고가용성을 유지할 수 있는 프로세스 실행 엔진의 아키텍처 설계는 어떻게 이루어질 수 있는가?
- RQ2심층적인 엔진 수정 없이도 외부 서비스(예: 데이터 분석, 인간 작업)의 원활한 통합을 가능하게 하는 아키텍처 패턴은 무엇인가?
- RQ3분산형 이벤트 기반 시스템에서 프로세스 인스턴스의 실시간 모니터링 및 라이프사이클 관리는 어떻게 달성할 수 있는가?
- RQ4외부 서비스 조합을 통해 프로세스 엔진이 얼마나 적응형 인스턴스 변경, 모델 버전 관리, 자가 복구 기능을 지원할 수 있는가?
- RQ5대규모 프로세스 실행 환경에서 성능과 메모리 효율성 측면에서 해석기 기반 대비 변환 컴파일 방식의 영향은 무엇인가?
주요 결과
- 변환 컴파일 기반 아키텍처는 각 인스턴스별 인터프리터 오버헤드를 제거하여 기존 인터프리터 기반 엔진 대비 메모리 소비를 크게 감소시킨다.
- Redis를 공유 메모리 데이터베이스로 사용함으로써 분산 노드 간에 효율적이고 저지연의 이벤트 배포 및 상태 동기화가 가능해진다.
- 이벤트 기반의 서비스 중심 설계 덕분에 SSE 기반 UI를 통해 동적 실시간 프로세스 인스턴스 모니터링이 가능하며, 이벤트가 게시될 때마다 업데이트가 즉시 전달된다.
- 시스템은 중앙집중형 및 피어 투 피어 배포를 모두 지원하여 엣지 및 IoT 환경에서 다수의 독립된 프로세스 엔진 간 표준 운영 인터페이스를 통해 상호 운용성이 확보된다.
- 모듈러하고 인터페이스 중심의 설계 덕분에 완전한 확장성이 가능하며, 엔진 핵심을 수정하지 않고도 모든 BPMN 의미 체계를 외부 REST 서비스를 통해 커스터마이징할 수 있다.
- 이 플랫폼는 2008년 이래로 지속적으로 유지보수되고 있으며 학술 연구 및 산업 응용 분야에서 활용되고 있어 장기적인 안정성과 실용적 확장성을 입증하고 있다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.