Reward Engine Foundation v4
02. 아키텍처 원칙 (Architecture Principles)
문서 ID: RES-FND-02
문서명: Architecture Principles
볼륨: Volume 1 --- Reward Engine Foundation v4
버전: 4.0
상태: Official Standard
공개 등급: Public Specification
1. 목적
본 문서는 Reward Engine Standard(RES)의 아키텍처 원칙을 정의한다.
본 문서에서 정의하는 원칙은 모든 RES 구현체가 반드시 준수해야 하는 규범적(Normative) 아키텍처 기준이다.
2. 기본 원칙
모든 RES 구현체는 다음 원칙을 준수하여야 한다.
- 계산과 표현은 SHALL 분리되어야 한다.
- 재무 기준은 SHALL 단일 계층에서 관리되어야 한다.
- 사용자 경험은 SHALL 회계 결과를 변경해서는 안 된다.
- 모든 계산은 SHALL 재현 가능해야 한다.
- 아키텍처는 SHALL 국가 확장에 영향을 받지 않아야 한다.
3. 계층 구조
RES는 다음 두 개의 개념적 계층으로 구성된다.
- Accounting Engine
- Experience Engine
각 계층은 독립적인 책임을 가지며 서로의 책임을 침범해서는 안 된다.
4. Accounting Engine 원칙
Accounting Engine은 재무적 기준을 담당한다.
다음 기능은 Accounting Engine의 책임이다.
- Advertisement Revenue 처리
- Standard eCPM 적용
- 공식 리워드 계산
- Source of Truth 생성
- 계산 이력 유지
- 계산 재현성 보장
Accounting Engine은 공식 계산 결과를 생성하는 유일한 계층이어야 한다(SHALL).
5. Experience Engine 원칙
Experience Engine은 사용자 경험을 담당한다.
다음 기능은 Experience Engine의 책임이다.
- Point 표시
- 사용자 인터페이스
- 이벤트 표현
- 서비스 정책 반영
- 사용자 피드백 제공
Experience Engine은 Accounting Engine의 계산 결과를 수정해서는 안 된다(SHALL NOT).
6. 데이터 흐름 원칙
데이터는 다음 순서를 따라야 한다.
Advertisement Revenue → Standard eCPM → Accounting Engine → Source of Truth → Experience Engine → Point
역방향 데이터 의존성은 허용되지 않는다(SHALL NOT).
7. 의존성 원칙
허용되는 의존성
- Experience Engine → Accounting Engine 결과 참조
- 운영 정책 → Experience Engine 적용
- Standard eCPM → Accounting Engine 입력
허용되지 않는 의존성
- Experience Engine → Accounting Engine 계산 변경
- Point → Accounting Engine 입력
- 사용자 인터페이스 → 공식 계산 변경
8. 확장성 원칙
새로운 국가, 새로운 서비스, 새로운 플랫폼이 추가되더라도 아키텍처 자체는 변경되지 않아야 한다(SHALL).
확장은 데이터와 운영 정책을 통해 수행되어야 하며 계산 구조를 변경해서는 안 된다.
9. 구현 요구사항
모든 RES 구현체는 다음 요구사항을 만족하여야 한다.
- SHALL 하나의 Accounting Engine만 사용한다.
- SHALL 하나의 Source of Truth만 유지한다.
- SHALL Experience Engine을 표현 계층으로 유지한다.
- SHALL 계산 결과를 재현할 수 있어야 한다.
- SHALL 계층 간 책임을 명확히 분리해야 한다.
10. 요약
본 문서는 RES의 핵심 아키텍처 원칙을 정의한다.
모든 구현체는 본 문서의 계층 구조와 책임 분리 원칙을 준수하여 재무 무결성, 확장성 및 사용자 경험을 동시에 달성하여야 한다.