본문 바로가기
[개발] Programming

SOAP API와 REST API의 차이점과 장단점 분석

by eatyourKimchi 2020. 5. 20.

 

SOAP API vs REST API

 서비스 간 통신을 위해 사용하는 API는 구현 방식에 따라 대표적으로 두 가지, SOAP와 REST가 있습니다. 경력직 자바 개발자 면접에서도 자주 나오는 질문으로 평상시에 알고는 있지만, 좀 깊게 이해하고 기록으로 남기기 위해서 포스트를 작성해봤습니다. 주로 두 방식의 차이점과 각각의 방식을 사용했을 때 이점 위주로 정리해 보았습니다.

 

 

나도 코딩할 때 이런 모습일까?ㅋ

 

 

REST (Representational State Transfer)

REST API는 JSON 데이터 포맷을 기반으로 하는 통신 규약입니다. (HTTP와 JSON 이용) SOAP에 비해 양식이 간단하기 때문에 성능과 브라우저 간에 호환성이 좋습니다. 다른 말로 하면 구조화되지 않은 데이터만 전송한다고 보면 됩니다. 호출하는 방식도 URL 이기 때문에 구성이 매우 간단합니다.

 

 

SOAP (Simple Object Access Protocol)

SOAP API의 경우 XML 데이터 포맷을 기반으로 통신이 이루어지는 프로토콜입니다. 구조화된 데이터 양식을 가지고 있어 REST에 비해서  더 복잡하고 사이즈도 더 큽니다. 호출 방식은 인터페이스를 통해서 이루어지기 때문에 더 복잡하지만, 자체 설정을 통해서 재호출도 가능하기 때문에 신뢰도가 더 높습니다. 그래서 리소스가 더 필요함에도 불구하고 많은 회사들이 SOAP 방식을 사용하고 있습니다.

 

 

SOAP VS REST 비교

앞서 살표 본 내용으로 SOAP와 REST의 차이를 살펴보겠습니다.

 

- SOAP REST
유형 프로토콜 아키택쳐
데이터 포멧 XML HMTL, XML, JSON 등
보안 WS-security, SSL SSL, HTTPS
대역폭 크다 작다
HTTP 메소드 POST, GET으로 CRUD 처리 HTTP, POST, GET, PUT DELETE, PATCH
캐싱 어렵다
body를 해석하여 적용 가능
쉽다
HTTP 레벨에서 처리
호출 방식 인터페이스 URL

 

 

마지막으로 경험을 말씀드리자면, 회사에서는 가벼운 서비스의 경우 RESTful, 예약이나 결제 같이 신뢰도가 중요한 서비스의 경우  SOAP 방식을 사용합니다. SOAP이 개발은 더 복잡하지만, 안정적인 서비스에는 적합해서 더 자주 사용했던 기억이 있네요ㅎ

 

 

 

[ 참고자료 ]

blog.wishket.com/soap-api-vs-rest-api/

sabarada.tistory.com/30

 

댓글