System Architecture · 한장정리
[기술사토픽] SOA & ESB & 웹서비스 & RPC 완벽 정리 - 한장정리
SOA 3대 역할, ESB 기능, SOAP 웹서비스(WSDL·UDDI), REST, gRPC 비교, SOA vs MSA 차이까지 완벽 정리합니다.
Ⅰ.서비스 지향 아키텍처 — SOA & ESB
개념: SOA(Service-Oriented Architecture)는 비즈니스 기능을 재사용 가능한 서비스로 구성하고 표준화된 인터페이스로 연동하는 아키텍처 스타일입니다. MSA의 전신이며 엔터프라이즈 통합의 핵심입니다.
가. SOA 3대 역할
| 역할 | 설명 | 비유 |
|---|---|---|
| 서비스 제공자 (Provider) | 서비스를 구현하고 레지스트리에 등록 | 가게 주인 |
| 서비스 요청자 (Requester) | 레지스트리에서 서비스 검색 후 호출 | 손님 |
| 서비스 레지스트리 (Registry) | 서비스 정보를 중앙 관리·검색 제공 | 전화번호부 |
나. ESB(Enterprise Service Bus)
ESB는 SOA의 핵심 미들웨어로, 서비스 간 메시지 라우팅·변환·오케스트레이션을 중앙에서 처리합니다.
| ESB 기능 | 설명 |
|---|---|
| 메시지 라우팅 | 조건에 따라 적절한 서비스로 메시지 전달 |
| 메시지 변환 | 서로 다른 포맷 간 변환 (XML↔JSON, SOAP↔REST) |
| 프로토콜 변환 | HTTP·JMS·MQTT 등 프로토콜 브리징 |
| 서비스 오케스트레이션 | 복수 서비스 조합·순서 제어 |
| 보안·모니터링 | 중앙화된 인증·로깅·감사 |
Ⅱ.웹서비스(SOAP) & REST & RPC 비교
| 구분 | SOAP 웹서비스 | REST | RPC/gRPC |
|---|---|---|---|
| 프로토콜 | XML+SOAP (HTTP/SMTP) | HTTP/HTTPS | HTTP/2 (gRPC) |
| 메시지 포맷 | XML (엄격한 스키마) | JSON, XML 등 자유 | Protocol Buffers (이진) |
| 인터페이스 기술 | WSDL | OpenAPI (Swagger) | .proto 파일 |
| 서비스 탐색 | UDDI 레지스트리 | 없음 (URL로 직접) | 없음 |
| 성능 | 낮음 (XML 파싱 오버헤드) | 중간 | 높음 (이진·HTTP/2) |
| 보안 | WS-Security (강력) | TLS+OAuth2 | TLS |
| 적합 상황 | 금융·공공·엔터프라이즈 | 웹·모바일 API | 내부 마이크로서비스 |
나. SOA vs MSA 비교
| 구분 | SOA | MSA |
|---|---|---|
| 통신 | ESB 중앙 집중 | 직접 API 통신 (경량) |
| 서비스 크기 | 상대적으로 큰 서비스 | 매우 작은 단일 기능 |
| 데이터 | 공유 DB 허용 | 서비스별 독립 DB |
| 배포 | 주기적 릴리스 | 독립 지속 배포 |
| 복잡도 | ESB 복잡도 | 분산 시스템 복잡도 |
시험 포인트
웹서비스 3요소: SOAP(통신) + WSDL(기술) + UDDI(탐색)
SOA vs MSA: SOA는 ESB 중심, MSA는 ESB 없이 경량. SOA가 더 먼저 등장한 개념.
Ⅲ.결론
결론
SOA·ESB는 엔터프라이즈 통합의 핵심 패러다임이며, REST·gRPC는 현대 API의 표준입니다.
향후 AsyncAPI(이벤트 기반), GraphQL(클라이언트 주도 쿼리), 서비스 메시로 진화하고 있습니다.
"SOA는 기업 통합의 철학이고, MSA는 그 철학의 현대적 실천이다."
블로그: 기술사 학습노트 · imt-log.tistory.com
'시스템아키텍처' 카테고리의 다른 글
| 마이크로서비스 아키텍처(MSA) 개념과 설계 원칙 정리 (0) | 2026.04.04 |
|---|---|
| 프로세스·스레드 멀티태스킹·컨텍스트 스위칭 정리 (0) | 2026.04.03 |
| 운영체제(OS) 핵심 개념과 구조 완벽 정리 (0) | 2026.04.02 |
| 컨테이너 오케스트레이션과 서비스 메시(Istio) 정리 (0) | 2026.04.02 |
| 클라우드 서비스 IaaS PaaS SaaS 비교 정리 (0) | 2026.03.19 |