[ Spring ] 웹 API 발전 과정


목표 : 웹 API의 발전 과정에서 SOAP에서 REST로의 전환이 일어난 이유와 그 장단점에 대해 설명하세요.
출처 : https://drg2524.tistory.com/138, https://july7k.tistory.com/166
1️⃣SOAP → REST 전환
SOAP
SOAP은 웹 서비스 간의 통신에 사용되며, XML 기반의 메시지 교환 프로토콜이다. 또한, 엄격한 통신 규칙을 정의한다. 데이터 교환의 모든 측면을 제어하는 몇 가지 관련 표준이 있습니다.
웹 서비스 보안(WS-Security)은 고유 식별자로 토큰을 사용하는 것과 같은 보안 조치로 웹 서비스 간 통신을 보호하고 데이터의 안전성과 기밀성을 유지할 수 있다.
웹 서비스 주소 지정(WS-Addressing)에는 라우팅 정보를 메타데이터로 포함해야 함
WS-ReliableMessaging은 SOAP 메시징의 오류 처리를 표준화함
웹 서비스 기술 언어(WSDL)로 SOAP 웹 서비스의 기능과 메세지 교환에 대해 설명한다.
WSDL은 웹서비스의 API를 기술하고 클라이언트가 서비스를 호출하는데 필요한 정보를 제공한다.
XML기반 메세지 포맷 : XML을 사용하여 데이터를 표현한다.
메시지 구조로 헤더, 바디 부분이 있다. 헤더에는 메시지에 대한 부가적인 정보를 포함하고 바디에는 실제 데이터가 포함되어있다.
REST
웹 리소스를 사용하여 클라이언트와 서버 간의 통신을 수행하는 방법을 규정한 아키텍처이며, 네트워크 상에서 분산 시스템과 웹 서비스를 구축하는 데 많이 사용되고 가장 널리 사용되는 웹 서비스 스타일 중 하나입니다..
리소스 중심으로 URL을 설계한다.
HTTP메서드로 리소스를 조작한다.
GET : 리소스 조회, POST : 새로운 리소스 생성, PUT/PATCH : 기존 리소스 수정, DELETE : 리소스 삭제
JSON, XML데이터 형식을 사용한다.
계층구조로 서비스의 확장성과 유연성이 증가한다.
이유
XML의 사용으로 인한 오버헤드와 복잡성 때문에, 간단하고 가벼운 웹 서비스에는 REST와 같은 다른 프로토콜이 선호되고 있다.
2️⃣ 장단점
SOAP
장점 : 보안기능이 좋다. 플랫폼과 프로그래밍 언어에 독립적이며 표준 통신규약이 있다. 분산환경에 적합하며 에러 처리에 대한 내용이 기본으로 내장되어있다.
단점 : 복잡한 구조로 오버헤드가 있으며 확장이 힘들다. 무겁고 속도가 느리다. 개발 난이도가 높다.
REST
장점 : 플랫폼과 프로그래밍 언어에 독립적이며 빠르다. 간결하고 추가적인 메시징 계층이 존재하지 않는다.
단점 : 보안, 정책 등에 대한 표준이 없으며 HTTP 통신 모델만 지원한다.
Subscribe to my newsletter
Read articles from Soyulia directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by

Soyulia
Soyulia
Nice to meet u :) Im Backend Developer