Meridian Workflow로 .NET 8 기반 휴가 승인 워크플로우 구현
AI Store에서 AI코딩으로 만들어진 앱을 만나보세요!
지금 바로 방문하기

실제 사례의 승인 워크플로우 구현: Meridian 사용 (제2부)

카테고리

프로그래밍/소프트웨어 개발

서브카테고리

웹 개발

대상자

.NET 8 및 Meridian Workflow 사용자, 승인 시스템 개발자, 워크플로우 엔진 구현자

난이도: 중급~고급 (Fluent API 및 상태 전이 구현 필요)

핵심 요약

  • Meridian Workflow를 사용해 .NET 8 기반의 휴가 요청 승인 워크플로우Fluent API만으로 구현 (템플릿/확장 없음)
  • 상태 전이 조건(Days > 15 기준)과 Hook 기반 로깅/알림(SendNotification)을 사용한 다중 역할 워크플로우 설계
  • REST API(CreateRequest, DoAction, GetRequest)를 통해 프론트엔드 통합 가능

섹션별 세부 요약

1. 워크플로우 엔진 개요

  • Meridian Workflowtype-safe한 .NET 8 워크플로우 엔진으로, 템플릿 없이 Fluent API로만 정의 가능
  • IWorkflowData 인터페이스를 구현한 LeaveRequestData 클래스는 휴가 요청 데이터를 저장
  • IWorkflowHook을 구현한 NewLeaveRequestCreated, SendNotification이벤트 기반 로깅 및 알림 수행

2. 워크플로우 정의

  • 상태 전이 조건 적용:

- Days > 15 조건으로 Supervisor → Section Head 전이

- Reason 필드 유효성 검사(IWorkflowHook 사용)

  • 상태별 역할 할당:

- UnderDirectManagerReviewsupervisor

- UnderSectionHeadReviewsectionHead

- UnderHRReviewhr

3. REST API 구현

  • /create 엔드포인트: IWorkflowService.CreateRequestAsync()로 요청 생성
  • /action/{action}/{id} 엔드포인트: DoActionAsync()로 상태 전이 처리
  • /request/{id} 엔드포인트: GetRequestAsync()로 요청 조회
  • /tasks 엔드포인트: GetUserTasksAsync()로 사용자 작업 목록 제공

결론

  • Meridian Workflow의 Fluent API를 통해 확장 가능한 워크플로우 구현 가능
  • Part 3에서는 TemplateExtensions 활용한 DRY 설계, 파일 첨부 기능, 중심화된 검증/호크 관리 추가 예정
  • 템플릿 기반 설계 vs. Fluent API 직접 구현에 대한 피드백 요청