Skip to content

아키텍처 개요

설계 철학

Q-Framework의 아키텍처는 세 가지 핵심 원칙을 기반으로 합니다.

1. 선언이 구현을 주도한다

개발자는 무엇을 원하는지 선언하고, 프레임워크가 어떻게 처리할지 결정합니다.

선언 (What)          →       구현 (How)
@QfCrypto            →       AES-256 암호화 자동 적용
@QfOrganizationScope →       조직 필터링 쿼리 자동 생성
@QfCreateAttribute(requiredOn = @QfRequiredOn(always = true))  →  서버/클라이언트 검증 자동 적용

2. 컴파일 시점이 런타임보다 우선한다

런타임 장애보다 빌드 실패가 훨씬 낫습니다.

잘못된 선언

컴파일 오류 발생 → 빌드 거부 → 배포 불가

                              런타임 장애 방지

3. 계약은 사람과 AI 모두에게 강제된다

AI가 코드를 생성해도 동일한 품질 게이트를 통과해야 합니다.


Human-AI-System 계약 모델

┌──────────────────────────────────────────────────────────┐
│                    Human (개발자)                         │
│  "@QfCrypto를 이메일 필드에 추가해줘"                      │
└─────────────────────┬────────────────────────────────────┘
                      │ 의도 선언

┌──────────────────────────────────────────────────────────┐
│                    AI (어시스턴트)                         │
│  @QfCrypto                                               │
│  @QfDisplayLabel(text = "Email")                         │
│  private String email;                                   │
└─────────────────────┬────────────────────────────────────┘
                      │ 코드 생성

┌──────────────────────────────────────────────────────────┐
│                  System (Q-Framework)                     │
│  컴파일 시점: @QfCrypto 규칙 검증 통과                     │
│  런타임: 암호화 자동 적용 강제                              │
└──────────────────────────────────────────────────────────┘

Human은 비즈니스 의도를 선언합니다. AI는 선언을 코드로 구현합니다. System은 계약을 강제합니다.

이 세 주체 모두에게 동일한 계약이 적용됩니다.


온톨로지와의 비교

Q-Framework의 접근 방식은 온톨로지(Ontology)와 유사한 면이 있습니다.

항목온톨로지Q-Framework
지식 표현OWL, RDF어노테이션
추론런타임 추론 엔진컴파일 시점 처리
강제 방식추론 기반컴파일 거부
대상지식 그래프소프트웨어 도메인
언어 의존성없음Java (현재), 언어 독립 목표
학습 비용높음낮음 (어노테이션 선언)

Q-Framework의 차별점: 소프트웨어 개발에 최적화된 가벼운 메타데이터 시스템으로, 컴파일 시점 강제와 런타임 자동화에 집중합니다.


언어 독립성

현재 Java 구현은 Q-Framework 아이디어의 첫 번째 검증입니다.

언어 독립적 핵심 패턴

        ├── Java 구현 (현재)
        │       어노테이션 + APT(JSR-269)

        ├── TypeScript 구현 (계획)
        │       데코레이터 + tsc 플러그인

        └── Python 구현 (계획)
                데코레이터 + mypy 플러그인

어떤 언어로 구현하든, 다음 패턴이 핵심입니다:

  1. 선언적 메타데이터 — 의미와 계약을 코드에 선언
  2. 컴파일 시점 검증 — 잘못된 선언을 빌드에서 차단
  3. 런타임 자동화 — 선언에서 파생된 동작을 자동 처리

다음 단계

Released under the Apache 2.0 License.