SOAP(Simple Object Access Protocol)란?
SOAP은 네트워크 상에서 XML 기반의 메시지를 교환하는 프로토콜입니다. 주로 HTTP, HTTPS, SMTP 등을 통해 데이터를 전달하며, 웹 서비스의 기본적인 메시지 전달 방식으로 사용됩니다. 하지만 최근 REST API가 등장하면서, SOAP의 사용은 점차 줄어들고 있습니다.
SOAP의 특징
- 플랫폼 및 언어 독립적: 다양한 환경에서 데이터 교환이 가능합니다.
- XML 기반 데이터 전송: REST API가 JSON 등 다양한 데이터 포맷을 지원하는 반면, SOAP은 XML만을 사용합니다.
- 모든 요청이 하나의 URI로 전달: REST는 URI와 HTTP 메서드로 요청을 구분하지만, SOAP은 모든 요청을 한 URI로 보냅니다.
- 주로 POST 요청 사용: 데이터 크기가 커서 POST 방식으로 전송됩니다.
- CORS 문제 발생 가능: 웹 프론트엔드에서는 거의 사용되지 않습니다.
SOAP의 문법
SOAP 메시지는 <Envelope> 태그로 감싸져 있으며, 요청하려는 기능을 XML 문서 내에서 명확히 표현하는 방식(function-driven)으로 구성됩니다. REST API가 동사를 포함한 가독성 높은 URI 패턴을 사용하는 것과 대조적입니다.
WSDL(Web Services Description Language)이란?
WSDL은 SOAP 기반 서비스의 사용 방법을 정의한 XML 문서입니다. 클라이언트와 서버는 이 문서를 참조하여 서비스를 호출하는 방식을 이해하고 구현할 수 있습니다. REST API 문서가 사람이 이해하기 쉽게 작성되는 반면, WSDL은 프로그램이 처리하도록 설계되었습니다.
UDDI(Universal Description, Discovery and Integration)란?
UDDI는 SOAP 기반 서비스의 저장소 역할을 하는 시스템으로, 사용자가 필요할 때 원하는 서비스를 검색하고 접근할 수 있도록 돕습니다.
✅ UDDI의 장점
- 서비스에 대한 표준화가 가능하여 개발을 자동화할 수 있습니다.
- 문서 기반으로 서버-클라이언트 기능을 자동 생성하여 개발 과정이 간소화됩니다.
❌ UDDI의 단점
- XML 기반이라 사람이 읽고 작성하기 어려우며, 코드 변경이 필요할 경우 유지보수가 어렵습니다.
- 변경이 발생하면 서버와 클라이언트 모두 수정해야 하므로 유연성이 낮습니다.
- 모든 메시지가 POST 방식으로 전송되기 때문에 캐싱이 어렵습니다.
SOAP의 활용 분야
SOAP은 높은 보안과 안정성이 요구되는 환경에서 여전히 사용됩니다.
- 금융 업계: 은행 시스템, 결제 게이트웨이 등
- 의료 정보 시스템: 전자 건강 기록 관리, 의료 데이터 전송
- 정부 서비스: 전자정부 시스템, 공공 API
SOAP은 엄격한 규약을 따르는 만큼 신뢰성이 중요한 서비스에서 강점을 발휘합니다. 하지만 웹 환경에서 REST API가 더욱 유연하고 효율적이므로, 일반적인 웹 서비스에서는 REST가 더 선호됩니다.
마무리
SOAP은 한때 웹 서비스의 대표적인 표준이었지만, REST API의 등장으로 활용이 점차 줄어들고 있습니다. 그러나 높은 보안성과 트랜잭션 처리 기능이 필요한 금융, 의료, 정부 서비스에서는 여전히 중요한 역할을 하고 있습니다. 프로젝트의 요구사항에 따라 SOAP과 REST 중 어떤 방식을 선택할지 고민하는 것이 중요합니다.
'CS 지식' 카테고리의 다른 글
데이터베이스 무결성과 키 개념 정리 (0) | 2025.02.02 |
---|---|
Proxy Server (0) | 2025.02.02 |
Framework vs Library (2) | 2024.10.15 |
SWEA [Computational Thinking] 1. 논리와 증명 / 수와 표현 (0) | 2024.06.28 |
SWEA [Computational Thinking] 0. 프로그래밍과 논리 / 수학 (0) | 2024.06.28 |