EDGE — Application Architecture¶
원본:
EDGE_아키텍처_v0_2.pptx— Slide 2 (Application Architecture)[설계 뷰] 논리 설계 개요다. 현행·계약의 권위는 SSOT에 있다 — 서비스/책임 경계 상세는 ../context.md, 콘솔 화면·메뉴 상세는 super-admin-console.md·tenant-console.md. 논리명↔배포 모듈은 system-architecture.md의 논리→배포 매핑 참조. 충돌 시 SSOT 우선.
⚠️ 위젯 접점: 이 문서의 "위젯 UI 임베드" 서술은 SSOT로 전진됨 — EDGE 위젯 UI를 빌드 산출물로 납품(실행 서버 없음, 증권사가 임베드·호스팅)하는 것이 현행이다 (../context.md §2, ../adr/0035). 위젯이 벤더 클라우드를 직접 호출하지 않는 것은 그대로다.
⚠️ 호출 경로·고객 컨텍스트: 아래 "금융사 구축 API"(중계 백엔드)와 "계정계 보유 여부 확인" 서술은 ADR-0053으로 폐지됨 — 개인화 없음이 확정되어 위젯이 증권사 엣지(프록시) 경유로 On-Prem Publication API 를 직접 호출하고, 고객 식별은 어떤 형태로도 받지 않는다. 다이어그램 갱신은 뷰 재작도 PR 소관.
개요¶
애플리케이션은 크게 금융사 통제 환경과 EDGE 환경 두 영역으로 분리되며, 두 환경은 DMZ의 수집 중계 컴포넌트를 통해서만 연결된다. 고객 데이터는 금융사 밖으로 반출되지 않고, EDGE에서 생성된 가격 변동 분석이 금융사 내부로 반입(pull)되는 구조다.
- 행위자: 투자자(채널계 위젯 이용), 준법 감시인(내부 통제 영역 콘솔 이용), 슈퍼 어드민(EDGE 콘솔 이용)
1. 금융사 통제 환경¶
1.1 채널계 (고객 접점 시스템)¶
- 금융사 종목 콘텐츠 페이지 — 투자자가 투자 종목 확인
- 가격 변동 설명 위젯 UI (위젯 임베드) — 종목 별 가격 변동 설명 조회
- 금융사 구축 API — 위젯의 가격 변동 설명 요청 처리
- 계정계에 보유 여부 확인 (Y/N)
- 내부 통제 영역의 가격 변동 설명 제공 API에 승인된 가격 변동 설명 조회
1.2 계정계 (금융사 계정 시스템)¶
- 고객 데이터 — 외부 반출 없음
1.3 사내 공통 인프라¶
- 사내 인증 체계 — 인증 API가 OIDC / SAML 인증 위임
1.4 내부 통제 영역 (컴플라이언스 검수 · 승인)¶
UI 계층 (준법 감시인)¶
| UI | 기능 |
|---|---|
| 인증 / 온보딩 UI | 로그인, 온보딩 |
| 대시보드 UI | 가격 변동 설명 수신 상태 조회, 자동 제공 건수 조회, 검수 대기 건수 조회, 미제공(차단/반려/중단) 건수 조회, 최근 가격 변동 설명 조회 |
| 가격 변동 설명 관리 UI | 가격 변동 설명 목록 조회, 종목 검색, 상태 필터, 시장 필터, 확신도 필터, 근거 데이터 조회, 원본 설명 문구 조회, 최종 제공 문구 조회, 관리 액션 |
| 검수 관리 UI | 검수 대기 목록 조회, 종목 검색, 검수 사유 필터, 원본 설명 문구 조회, 근거 데이터 조회, 검수 사유 조회, 최종 문구 수정, 검수 의견 생성, 검수 액션 |
| 점검 기준 관리 UI | 금칙어 설정, 점검 처리 기준 설정, 면책 문구 설정 |
| 설정 UI | 시장 / 종목 제공 범위 설정, 사용자 조회 / 등록(관리자 직접) |
API / 서비스 계층¶
| API·서비스 | 기능 |
|---|---|
| 가격 변동 설명 제공 API | 종목별 가격 변동 설명 조회, 제공 이벤트 로그 기록 |
| 인증 API | 로그인(사내 SSO 위임), 로그아웃 / 토큰 갱신, 온보딩, 사용자 조회 / 등록(관리자 직접) / 역할 변경 — 초대·재설정 메일 흐름 없음(온프렘 SMTP 통제, ../adr/0025) |
| 대시보드 API | 주요현황 집계, 최근 설명 요약, 제공·검수·미제공 카운트 |
| 가격 변동 설명 API | 가격 변동 설명 목록 조회, 설명 상세 / 근거 데이터 조회, 최종 문구 수정, 상태 전이(검수로 이관 / 중단) |
| 검수 API | 검수 대기 목록 조회, 검수 의견 저장, 검수 판정 제출(승인 / 반려) |
| 점검 기준 API | 금칙어 조회 / 등록 / 활성화, 점검 처리 기준 조회 / 설정, 면책 문구 조회 / 수정 |
| 환경 설정 API | 시장 제공 범위 조회 / 설정, 종목별 제공 여부 조회 / 설정 |
| 점검 엔진 | 금칙어 검사, 투자권유성 표현 검사, 필수 고지 / 근거 부족 검사 |
| 가격 변동 설명 수집 (반입) | 가격 변동 설명 데이터 수집 — DMZ 중계 컴포넌트로부터 반입 |
저장소 계층¶
- 사용자 Repository
- 감사 로그 Repository
- 가격 변동 설명 Repository
- 검수 Repository
- 점검 기준 Repository
→ 모든 Repository는 금융사 내부 DB에 저장
주요 흐름 (UI → API)¶
- 인증/온보딩 UI → 인증 API: 로그인
- 대시보드 UI → 대시보드 API: 대시보드 조회 / 최근 설명 조회
- 가격 변동 설명 관리 UI → 가격 변동 설명 API: 가격 변동 설명 조회, 관리 액션
- 검수 관리 UI → 가격 변동 설명 API: 최종 문구 수정 / 검수 API: 검수 대기 목록 조회, 판정 / 검수 사유 조회
- 점검 기준 관리 UI → 점검 기준 API: 점검 기준 설정
- 설정 UI → 인증 API: 사용자 조회 / 등록(관리자 직접), 환경 설정 API: 시장 / 종목 제공 범위 설정
2. DMZ¶
- 가격 변동 설명 수집 (중계) — 가격 변동 설명 데이터 수집
- EDGE 환경의 Tenant Sync API(반입 표면 — cursor·fan-out·mTLS 이벤트 번들, ../contracts/sync-protocol.md)에서 번들을 가져와 금융사 내부의 수집(반입) 컴포넌트로 중계. 분석 데이터가 논리적 원천이나 실제 반입 와이어 API는 Tenant Sync API다 — 콘솔 조회용 분석 API(super-admin)로 붙이면 sync 계약(커서·멱등·mTLS)을 우회한다.
- 금융사 통제 환경과 EDGE 환경 간 유일한 데이터 통로
3. EDGE 환경¶
3.1 가격 변동 분석 파이프라인¶
데이터 소스: 뉴스, 가격, 공시
| 단계 | 기능 |
|---|---|
| 데이터 수집 | 뉴스 데이터 수집, 가격 데이터 수집, 재무제표 데이터 수집 |
| 뉴스 데이터 처리 | 규칙 기반 중복 제거, 데이터 정합성 확인, 의미 기반 중복 제거, 개체명 추출, 뉴스 데이터 구조화, 연관 뉴스 연결 |
| 가격 데이터 처리 | 규칙 기반 중복 제거, 데이터 정합성 확인, NAV·괴리율 확인 |
| 공시 데이터 처리 | 규칙 기반 중복 제거, 데이터 정합성 확인, 공시 제목 정규화, 연관 뉴스와 연결, 교차소스 정합(뉴스 ↔ 공시 같은 사건 통합) |
| 가격 분석 엔진 | 괴리율·환율 설명분 계산, 시장 설명분 계산, 구성 종목의 연관 기업 수익률 설명분 계산, 설명 수치 데이터 적재, 이벤트 설명 필요성 결정 |
| 가격 변동 분석 AI | 설명 수치 데이터 로드, ETF 보유 종목별 비율 로드, ETF 구성 비율이 높은 개별 종목 선택, 신규/후속/재보도 판정, 선별된 뉴스 컨텍스트 로드, 필요시 공시 데이터 로드, 가격 변동 분석 추출 |
3.2 슈퍼 어드민 콘솔¶
UI 계층 (슈퍼 어드민)¶
| UI | 기능 |
|---|---|
| 인증 UI | 로그인 |
| 테넌트 관리 UI | 테넌트 목록 조회, 테넌트 검색, 상태 필터, 기본 정보 조회, 동기화 / 호출 현황 조회, 테넌트 생성 |
| 가격 변동 분석 관리 UI | 데이터 소스 수집 상태 조회, 가격 변동 분석 목록 조회, 종목 검색, 상태 필터, 시장 필터, 종목 / 등락 정보 조회, 근거 데이터 조회, 분석 결과 조회, 분석 정보 조회, 관리 액션 |
API 계층¶
| API | 기능 |
|---|---|
| 인증 API | 로그인(OAuth 위임), 로그아웃 / 토큰 갱신, 사용자 조회 / 초대 |
| 테넌트 API | 테넌트 목록 조회, 테넌트 상세 / 기본 정보 조회, 동기화 / 호출 현황 조회 / 설정, 테넌트 생성 |
| 가격 변동 분석 API | 데이터 소스 수집 상태 조회, 가격 변동 분석 목록 조회, 분석 상세 / 근거 데이터 조회, 분석 결과 조회, 분석 무효화(게시 철회 + 테넌트 전파) |
저장소 계층¶
- 사용자 Repository
- 테넌트 Repository
- 가격 변동 분석 Repository
→ 모든 Repository는 EDGE DB에 저장
주요 흐름¶
- 인증 UI → 인증 API: 로그인
- 테넌트 관리 UI → 테넌트 API: 테넌트 조회, 생성 / 테넌트 동기화 · 호출 현황 갱신
- 가격 변동 분석 관리 UI → 가격 변동 분석 API: 가격 변동 분석 조회, 관리 액션
- Tenant Sync API → DMZ 중계(Relay): 이벤트 번들 반입 (분석 결과는 Cloud Event Store를 거친 원천, 금융사로의 반입 경로) — 콘솔 조회용 분석 API가 아님
아키텍처 특징 요약¶
- 데이터 주권 분리 — 고객 데이터는 계정계에 머물며 외부 반출이 없고, 위젯의 보유 여부 확인은 Y/N만 응답
- 컴플라이언스 게이트 — EDGE의 분석 결과는 금융사 내부 통제 영역(점검 엔진 + 검수)을 거쳐 승인된 것만 제공 API로 노출
- DMZ 단방향 반입 — EDGE → DMZ 중계 → 금융사 수집(반입)의 통로로만 환경 간 데이터가 이동
- 인증 위임 — 금융사 콘솔은 사내 인증 체계에 OIDC/SAML 위임, EDGE 콘솔은 OAuth 위임
- 감사 추적 — 제공 이벤트 로그 기록과 감사 로그 Repository로 제공 이력 보존