SOAP가 도대체 무엇인가 공부해보자
오늘은 SOAP에 대해서 정리해보려고 한다.
정처기 공부하다가 SOAP라는 단어가 나왔는데, REST API랑 묶어서 들어본 적 있는것 같아서 어떤건 지 알고싶어졌다. 이거 포스팅하고 나면 REST도 정리할 예정~
근데 정리하려고 찾다보니 나 진짜 기초가 없구나를 많이 느꼈다ㅎㅋㅋㅋ
CS, 네트워크 등.. 기초이론 열심히 공부해야겠다 (당분간 포스팅 소재고갈 걱정은 없겠넹^___^)
SOAP란 HTTP HTTPS, SMTP를 통해서 XML 기반의 데이터를 주고받는 프로토콜로 Envelope, Header, Body로 구성되어있다.
SOAP은 웹서비스*에서 기본적인 메시지를 전달하는 기반이 된다.
* 웹서비스란? 기존의 서로다른 컴퓨터에서 상호작용(정보를 주고받기)을 하기 위한 시스템. 웹서비스는 플랫폼에 독립적이며 연결을 유지하지 않는 특징이 있다.
복잡한 구조라 어렵고 오버헤드* 발생확률이 높음
* 오버헤드: 특정 기능을 수행하는데 드는 간접적인(부가적인) 시간, 메모리 등 자원을 말함
Xml기반의 메시지가 교환되는 과정에서 인코딩/디코딩 과정 등 웹서비스 개발 난이도가 높음
Xml포맷은 태그형태로 보내기 때문에 다른 미들웨어 기술(REST 등)보다 무겁고 속도도 느림
⬆️ SOAP아키텍처
서비스 요청자가 soap로 인코딩하여 웹서비스 요청을 서비스 제공자에게 전달하며, 서비스 제공자는 이를 디코딩하여 적절한 서비스 로직을 수행시켜서 결과를 얻고 그 결고를 다시 soap로 인코딩하여 반환함
위키백과
SOAP : Simple Object Access Protocol
[Open API] SOAP 란?