이 문서는 AI로 번역되었습니다. 부정확한 내용이 있을 경우 영어 버전을 참조하세요
FlowEngine은 NocoBase 2.0에서 새롭게 선보이는 프런트엔드 노코드/로우코드 개발 엔진입니다. 이 엔진은 Model과 Flow를 결합하여 프런트엔드 로직을 간소화하고 재사용성 및 유지보수성을 향상시킵니다. 동시에 Flow의 설정 가능(configurable)한 특성을 활용하여 프런트엔드 컴포넌트와 비즈니스 로직에 노코드 방식의 설정 및 오케스트레이션 기능을 제공합니다.
FlowEngine에서는 컴포넌트의 속성과 로직이 더 이상 정적으로 정의되지 않고, Flow를 통해 구동되고 관리되기 때문입니다.
따라서 FlowEngine은 Flow에 의해 구동되는 프런트엔드 로직 엔진입니다.
FlowEngine에서 Model은 컴포넌트의 추상 모델이며, 다음을 담당합니다:
다시 말해, Model은 컴포넌트의 로직을 담당하는 두뇌이며, 컴포넌트를 정적인 단위에서 설정 가능하고 오케스트레이션 가능한 동적 단위로 변화시킵니다.
FlowEngine에서 Flow는 Model을 위한 로직 스트림입니다. Flow의 역할은 다음과 같습니다:
Flow를 물줄기에 비유하여 생각해 볼 수 있습니다:
Step은 물줄기가 지나가는 노드와 같습니다. 각 Step은 작은 작업(예: 속성 설정, 이벤트 트리거, API 호출)을 수행하며, 이는 물줄기가 수문이나 물레방아를 지날 때 특정 작용이 일어나는 것과 유사합니다.
Flow는 순서가 있습니다. 물줄기가 정해진 경로를 따라 상류에서 하류로 흐르며 모든 Step을 순서대로 지나가듯이, Flow 내의 로직도 정의된 순서에 따라 실행됩니다.
Flow는 분기되고 조합될 수 있습니다. 하나의 물줄기가 여러 작은 물줄기로 나뉘거나 다시 합쳐질 수 있듯이, Flow도 여러 하위 Flow로 분해되거나 더 복잡한 로직 체인으로 조합될 수 있습니다.
Flow는 설정 가능하고 제어 가능합니다. 물줄기의 방향과 유량은 수문을 통해 조절할 수 있듯이, Flow의 실행 방식과 매개변수도 설정(stepParams)을 통해 제어할 수 있습니다.
비유 요약
따라서 FlowEngine에서는: