핵심 인사이트
- 본질: SOA (Service Oriented Architecture, 서비스 지향 아키텍처)는 비즈니스 기능을 독립적으로 호출 가능한 서비스 단위로 모듈화하여 느슨한 결합(Loose Coupling)으로 통합하는 아키텍처 패러다임이다.
- 가치: WSDL(Web Services Description Language)로 서비스를 표준 기술하고, UDDI(Universal Description, Discovery and Integration) 레지스트리에 등록하고, SOAP(Simple Object Access Protocol)로 호출하는 3단계 체계가 SOA의 기술적 기반이다.
- 판단 포인트: SOA는 IT 유연성(서비스 재사용)을 높이지만 SOAP의 복잡성과 UDDI 레지스트리 관리 부담이 단점으로, 현대에는 RESTful API와 MSA로 대부분 대체되었다.
Ⅰ. 개요 및 필요성
SOA는 기업의 IT를 LEGO 블록처럼 표준화된 서비스 단위로 분해하여, 새로운 비즈니스 요구 시 기존 서비스를 조합·재사용할 수 있게 한다. ESB(Enterprise Service Bus)를 통해 서비스 간 메시지를 라우팅한다.
📢 섹션 요약 비유: SOA는 도서관의 표준 검색 시스템이다. 서비스(책)가 표준 형식으로 등록(UDDI)되고, 규격화된 방법(WSDL)으로 찾아 호출(SOAP)한다.
Ⅱ. 아키텍처 및 핵심 원리
┌──────────────────────────────────────────┐
│ SOA 3대 역할 │
│ 서비스 제공자 ─→ UDDI 레지스트리 │
│ (Publisher) (저장·검색) │
│ │ │
│ ↓ 탐색 │
│ 서비스 소비자 ←───────── │
│ (Consumer) WSDL로 인터페이스 확인 │
│ SOAP/HTTP으로 호출 │
└──────────────────────────────────────────┘
| 기술 요소 | 설명 | 역할 |
|---|---|---|
| WSDL | 서비스 인터페이스 기술 언어 | 서비스 계약 정의 |
| UDDI | 서비스 레지스트리/디렉토리 | 서비스 발견 |
| SOAP | XML 기반 메시지 프로토콜 | 서비스 호출 |
📢 섹션 요약 비유: SOAP는 형식이 엄격한 법률 문서, REST는 간결한 이메일이다. 같은 정보지만 전달 방식이 다르다.
Ⅲ. 비교 및 연결
| 구분 | SOA/SOAP | MSA/REST |
|---|---|---|
| 메시지 | SOAP(XML, 무거움) | REST(JSON, 경량) |
| 서비스 단위 | 비즈니스 기능 | 마이크로서비스 |
| 통합 방식 | ESB 중앙집중 | API Gateway |
📢 섹션 요약 비유: SOA와 MSA는 같은 목표(서비스 분리)를 크기가 다른 단위로 실현한다. SOA는 큰 서비스, MSA는 작은 서비스다.
Ⅳ. 실무 적용 및 기술사 판단
2000년대 대형 SI 프로젝트에서 SOA는 ERP·CRM 서비스를 표준 인터페이스로 재사용하는 아키텍처였다. 현재는 SOAP→REST 전환이 완료된 기업이 대부분이며, 레거시 SOA와 MSA를 점진적으로 통합하는 과도기에 있다.
기술사 시험에서 이 개념의 정의·구성·비교·기대효과를 논하는 문제가 출제된다.
📢 섹션 요약 비유: SOA의 UDDI는 음식점 앱처럼 어떤 서비스가 있는지 찾아볼 수 있는 카탈로그다.
Ⅴ. 기대효과 및 결론
SOA에서 MSA로의 진화: SOA는 거버넌스·통합의 효율화를, MSA는 독립 배포·확장성을 최대화한다.
📢 섹션 요약 비유: SOA는 레고 블록의 인터페이스 명세서와 같다.
📌 관련 개념 맵
| 개념 | 설명 | 연관 키워드 |
|---|---|---|
| ESB | SOA 구현 미들웨어 | 서비스 라우팅 |
| REST API | SOA 대체 경량 인터페이스 | JSON/HTTP |
| MSA | 마이크로서비스 아키텍처 | SOA 진화 |
👶 어린이를 위한 3줄 비유 설명
- SOA는 레고 블록처럼 IT 기능을 표준화된 조각으로 만들어 다시 사용할 수 있게 하는 방법이에요.
- WSDL은 조각의 사용 설명서, UDDI는 조각 창고, SOAP는 조각을 주고받는 규칙이에요.
- 현재는 더 간편한 REST와 MSA가 SOA를 대부분 대체하고 있어요.