SWIM은 왜 쓰는 걸까? — 항공 시스템이 ‘연결’되는 진짜 이유
SWIM은 왜 쓰는 걸까?
이전 글에서 나는 항공 SI 프로젝트에 처음 들어오면서
“SWIM이라는 걸 계속 듣는데 정확히 뭔지 모르겠다”는 상태였다.
👉 (이전 글 참고) 항공 SI 온보딩 이야기 1편
문제는 ‘연결’이었다
항공 시스템은 생각보다 단순하지 않다.
- 관제 시스템 (ATC)
- 비행계획 시스템 (FDP)
- 공항 시스템 (AODB)
- 항공사 시스템
- 기상 시스템
👉 이 모든 시스템이 각자 따로 존재한다
문제는 여기서 발생한다.
❗ 서로 데이터 형식도 다르고
❗ 통신 방식도 다르고
❗ 연결 방식도 제각각이다
SWIM 없이 연결하면 어떻게 될까?

예전 방식은 단순했다.
- 시스템 A → 시스템 B 직접 연결
- 시스템 B → 시스템 C 또 직접 연결
결과는?
👉 지옥의 인터페이스 구조
- N:N 연결 구조
- 유지보수 난이도 폭발
- 장애 발생 시 원인 추적 어려움
그래서 등장한 게 SWIM이다

SWIM(System Wide Information Management)은
한마디로 정리하면 이거다.
“항공 시스템 간 데이터를 표준 방식으로 공유하는 플랫폼”
조금 더 쉽게 말하면:
👉 항공판 API + 메시지 플랫폼
SWIM의 핵심 개념 3가지
1. 표준화 (Standardization)
- 데이터 형식 통일 (XML / JSON)
- 인터페이스 정의 (Service)
👉 “이 데이터는 이렇게 생겼다”를 모두가 공유
2. 서비스화 (Service-Oriented)
기존:
- 시스템 간 직접 연결
SWIM:
- 서비스 등록 → 필요한 시스템이 호출
👉 REST API / MQ 기반 구조
3. 느슨한 결합 (Loose Coupling)
이게 핵심이다.
- 시스템 A는 B를 몰라도 된다
- 그냥 “서비스”만 알면 된다
👉 변경 영향 최소화
EUROCONTROL 기준으로 보면
유럽 SWIM 구조는 더 명확하다.
- REG (Registry) → 서비스 등록/조회
- IE (Information Exchange) → 데이터 전달
- ESI → 외부 시스템 연결
👉 즉,
- REG = API 문서 + 서비스 카탈로그
- IE = 메시지 브로커 (RabbitMQ 느낌)
그럼 결국 뭐가 좋아지는가?
정리하면 이거다.
✔ 개발자 입장
- 인터페이스 명확
- 재사용 가능
- 유지보수 쉬움
✔ 운영 입장
- 장애 추적 가능
- 모니터링 용이
- 확장성 확보
✔ 조직 입장
- 표준 기반 협업 가능
- 외부 기관 연동 쉬움
그런데 여기서 중요한 포인트
SWIM은 단순 기술이 아니다.
👉 “조직 간 데이터 공유 방식” 자체를 바꾸는 개념이다
그래서 도입이 어려운 거다.
관련 태그 글
STL 파일을 올리면 3D 프린팅 시간·재료·비용을 계산하는 브라우저 도구를 만들었다
STL 파일을 서버로 올리지 않고 브라우저 안에서 분석해 3D 프린팅 예상 시간, 필라멘트 사용량, 비용과 출력 주의사항을 계산하는 도구를 만들었다.
GA4 조회수를 사이트에 그대로 보여주지 않기로 한 이유
GitHub Pages 블로그는 그대로 두고, 공개 조회수만 Cloudflare Worker와 D1으로 분리하기로 했다. GA4 baseline을 안전하게 이어 붙이고 익명 중복을 제한하는 기준을 정리한다.
달리는 것만으로는 타임어택이 되지 않았다 - Apex Seoul에 결승선을 만드는 법
Apex Seoul에 checkpoint split, best record, 가로등과 Π형 gate를 더하고, 고정 카메라에서도 차량이 도로 위를 계속 달려 사라지는 finish 연출을 만든 과정을 정리합니다.