ID: key_26_13_03_23_11_09_12_17100 Created date: 3월 23 2026 월요일, 13주 11:09
연관 문서
목적
- 서로 다른 프로그래밍 언어로 개발된 서비스들 간의 메시지 규약 관리 효율화
- 서비스 기획 및 메시지 스펙 조회 및 업데이트 용이한 구조
Strategy
- Json Schema Repository를 별도로 구성하여 통합적으로 메시지 스펙을 관리
Architecture
- Schema Repository (구축 필요)
- Json 으로 구성된 Schema 저장소
- 버전 관리, 형상 유지 수행
- 변경 발생 시, CI/CD 이용하여 Nexus 배포
- 프로그래밍 언어에 따라 빌드 설정 다르게 구성 → 라이브러리 구성
- Java / Python / Node
- Repository 구축
-
github workflow 설정하여 신규 버전 배포 시, Nexus에 자동 등록이 되야함
- Nexsus (구축 필요)
- 하위 시스템에서 관련 라이브러리를 참조
- 프로젝트 상세 구성
- TAS-BEFW Nexsus 구축
- 04 Apr 결정사항
- Nexus 구축 시, 많은 리소스 필요 (4gb memory)
- 오라클 클라우드 기준 1gb → 진행 불가
- github packages와 releases 변경 진행
- Nexus 구축 시, 많은 리소스 필요 (4gb memory)
- 단위 서비스
- 재 빌드 통해 변경된 스키마 반영
기획자, Schema 설계 방식
- 목적
- Schema 관리 및 손쉽게 구성 및 변경하는 방식 필요
- 관리 프로세스 정립 Schema 관리 작업 프로세스
- 방식
- DB 구성
- 구성 안함
- Github page 통해 수행
- 구성
- 별도 백엔드 구성 여부
- 구성
- 별도 개발 필요
- 미 구성
- APP에서 병행 수행
- 구성
- 별도 UI 구성 여부
- 별도 백엔드 구성 여부
- 구성 안함
- DB 구성
- 결론
- FW을 만드는게 목적
- 별도 UI와 백엔드 구성하는게 맞을 듯
- app-mdm
추가 문의
- JPA Entity 같은 model 도 Schema 형식으로 관리가 가능한가?
- 성격이 서로 다름 → Json Schema 로는 Model에서 필요한 테이블 명이나 컬럼 명에 대한 정의 불가
- Liquibase / Flyway가 JPA Entity에는 더 적합함
- JSON Schema 이외 다른 Spec 으로도 가능한가?
- OpenAPI 3.1이 대안이다.
설계 변경 (29 Mar)
- OpenAPI 3.1은 JSON Schema 대응하면서 Swagger 장점 존재
- 장점
- Response 까지 정의 가능
- 테스트 손쉽게 됨
- URI 관리 가능
- 단점
- Solace Interface에 대한 대응 애매함
- 대응
- 메시지 전문은 별도로 구성
- Solace 인터페이스 용과 HTTP 인터페이스 용을 분리하여 메시지 전문을 참조하는 방식으로
- 예시

- 예시
- 정리
- 장점
Schema 관리 프로세스 (정리)
- 29 Mar
- 04 Apr
- nexus 를 서버에 올리기엔 리소스 낭비가 심해서 github package로 변경
정의된 Schema, 서비스에 적용하기
- Schema 실제 서비스에 적용해서 원하는 방향대로 진행하는지 확인
연관 메일

