SOAP

agnusdei·2025년 5월 29일

Database

목록 보기
70/76

✅ SOAP (Simple Object Access Protocol)


🔷 1. 개념

**SOAP(Simple Object Access Protocol)**는
**분산 환경(distributed environment)**에서 이기종 시스템 간구조화된 메시지를 교환하기 위해 설계된 XML 기반의 메시징 프로토콜입니다.

  • 웹 서비스(Web Service)의 핵심 프로토콜
  • 네트워크를 통해 **프로그램 간 원격 호출(Remote Procedure Call, RPC)**이 가능하도록 함
  • W3C(World Wide Web Consortium)에서 표준화

🔷 2. 목적 및 역할

항목설명
시스템 간 통신운영체제(OS)나 언어에 관계없이 통신 가능
메시지 포맷 표준화XML 기반의 표준 메시지 구조 사용
보안 및 확장성WS-* 확장을 통해 보안, 트랜잭션 등 지원
웹 서비스 연동WSDL, UDDI와 함께 서비스 디스커버리 및 호출

🔷 3. 구조

SOAP 메시지는 기본적으로 다음과 같은 구조를 갖습니다:

<SOAP-Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <SOAP-Header>
    <!-- 인증, 보안, 트랜잭션 등 메타데이터 -->
  </SOAP-Header>
  <SOAP-Body>
    <!-- 실제 메시지 데이터 -->
  </SOAP-Body>
</SOAP-Envelope>

🔷 4. 구성 요소

구성요소설명
EnvelopeSOAP 메시지의 최상위 컨테이너
Header선택 항목. 인증, 암호화, 트랜잭션 정보 포함 가능
Body실제 데이터 교환 내용 (메소드 호출, 응답 등)
Fault오류 메시지를 포함할 수 있는 구조

🔷 5. 동작 원리 (원리 및 흐름)

  1. 클라이언트가 서버에 XML 형태로 SOAP 메시지를 요청 전송
  2. 서버는 SOAP 메시지를 해석하여 지정된 로직 수행
  3. 수행 결과를 SOAP 응답 메시지(XML)로 생성
  4. 응답 메시지를 클라이언트에 전송

➡️ 주로 HTTP POST 방식 사용, SMTP, FTP도 가능


🔷 6. 핵심 관련 용어 정리

용어설명
WSDL (Web Services Description Language)SOAP 서비스의 인터페이스 정의 (입력, 출력, 프로토콜 등)
UDDI (Universal Description, Discovery, and Integration)SOAP 서비스를 찾기 위한 디렉토리(레지스트리)
WS-SecuritySOAP 메시지의 보안성(인증, 무결성, 암호화) 보장
XML데이터 표현 및 교환을 위한 마크업 언어

🔷 7. 특징

구분설명
표준화W3C 표준, 다양한 산업에서 사용
언어/플랫폼 독립Java, .NET, Python 등 모든 환경에서 사용 가능
보안성WS-Security로 암호화 및 서명 처리 가능
느림XML 사용으로 인해 데이터가 무겁고 전송량 큼
복잡성REST에 비해 구조와 설정이 복잡

🔷 8. REST와 비교

항목SOAPREST
형식XML 기반 고정 포맷JSON, XML 등 다양한 포맷
호출 방식주로 POSTGET, POST, PUT, DELETE 등
메시지 무게무겁다 (XML, 헤더 등 포함)가볍다 (간단한 HTTP 메시지)
표준 지원보안, 트랜잭션 등 지원상대적으로 부족
유연성낮음높음
개발 난이도높음낮음

🔷 9. 장단점

구분장점단점
기술적표준화, 신뢰성, 보안성복잡한 구조, 느린 성능
운영적다양한 기업 시스템에서 사용 가능개발 및 유지관리 어려움
통신적방화벽 우회 쉬움 (HTTP 사용)대용량 데이터 처리 시 비효율적

👦 어린이 버전 요약

SOAP는 컴퓨터끼리 편지를 주고받는 규칙이에요.
마치 “누구한테, 무슨 일을 해달라고, 결과를 어떻게 받아와야 해”라고 **정해진 양식(XML)**으로 보내는 거예요.
약속한 형식이 있어서 어떤 컴퓨터든 이해할 수 있어요!


✅ 결론

SOAP는 XML 기반의 표준화된 메시지 프로토콜로, 이기종 시스템 간 데이터 교환, 프로세스 호출, 보안성 있는 통신을 지원하며, 기업 시스템 간 연계, 전자정부, 금융 등 신뢰성과 보안이 중요한 분야에서 여전히 사용되고 있습니다.
REST가 대중화되었지만, SOAP는 여전히 보안, 트랜잭션, 메시지 신뢰성이 요구되는 환경에서 강력한 대안이 됩니다.


profile
DevSecOps Pentest🚩

0개의 댓글