피드로 돌아가기
Computed business rules in Okyline: what JSON Schema cannot validate
Dev.toDev.to
Backend

JSON Schema 한계를 극복한 $compute 기반 비즈니스 불변성 검증

Computed business rules in Okyline: what JSON Schema cannot validate

Pierre-Michel Bret2026년 5월 15일7intermediate

Context

데이터 계약 단계에서 필드 간 상관관계 및 계산 값 검증이 불가능한 JSON Schema의 구조적 한계 발생. 이로 인해 비즈니스 로직이 다수의 마이크로서비스 코드 내에 파편화되어 중복 구현되고 유지보수 비용이 증가하는 문제 직면.

Technical Solution

  • $compute 엔진 도입을 통한 데이터 계약 내 비즈니스 Invariants 직접 정의
  • Boolean Expression 기반의 필드 간 계산식 검증으로 하드코딩된 체크 로직 제거
  • sum() 함수 및 % Reference 구조를 활용한 배열 데이터 집계 및 계산 로직 재사용 설계
  • IEEE 754 부동 소수점 오차 해결을 위한 Financial-grade Exact Decimal Arithmetic 적용
  • Nomenclature 기반 Lookup 테이블과 문자열 조작 함수를 결합한 IBAN 등 복잡한 도메인 검증 규칙 구현
  • 계약 중심의 검증 체계를 통한 서비스 간 비즈니스 룰 동기화 및 버전 관리 일원화

- 데이터 계약 단계에서 필드 간 계산 결과(Total, Sum 등)를 검증하는 로직이 분산되어 있는지 확인 - 금액 계산 시 Floating-point 오차 방지를 위해 Decimal Arithmetic 라이브러리 또는 전용 엔진 도입 검토 - 복잡한 도메인 검증 룰을 코드에서 분리하여 선언적 계약(Declarative Contract)으로 관리 가능한지 평가

원문 읽기