Programming/개념들

[WEB] 웹 서비스 REST 와 SOAP / 장단점 비교

joah.k 2021. 7. 7. 16:08
728x90

 

 

웹 서비스(WebService) 

 

네트워크 상에서 서로 다른 종류의 컴퓨터들 간의 상호작용을 위한 소프트웨어 시스템. 

간단하게 말해서, 이기종 간에 XML 메시징으로 상호작용하는 것이다. 

 

WWW(World Wide Web)가 사람과 컴퓨터 간의 상호작용을 위한 시스템이라면,

웹 서비스는 컴퓨터-컴퓨터 간의 상호작용을 위한 시스템이다. 

 

 

 

 

 

웹 서비스 종류에는 SOAP, REST가 있다.

 

SOAP (Simple Object Access Protocol) 

 

일반적으로 널리 알려진 HTTP, HTTPS, SMTP 등을 통해 XML 기반의 메세지를 컴퓨터 네트워크 상에서 교환하는 통신 규약 프로토콜  (*프로토콜 : 통신의 목적을 경제적으로 달성하기 위한 정보의 송신자와 수신자 사이의 약속 )

 

 

 

 > SOAP을 사용하는 이유 

 

  • Proxy와 방화벽에 구애받지 않고 쉽게 통신 가능
  • 플랫폼과 프로그래밍 언어에 독립적
  • WSDL, UDDI 등 표준 통신규약이 있다.
  • 분산 환경에 적합
  • 에러 처리에 대한 내용이 기본으로 내장

 

 

> SOAP의 단점 

 

  • 복잡한 구조로 인해 오버헤드가 있으며, 이는 SOAP의 확장을 저해하고 있음
  • REST에 비해 상대적으로 무겁고 속도도 느리다
  • 개발 난이도가 높아 개발 환경의 지원이 필요하다

 

 

 REST (REpresentational State Transfer)

 

월드 와이드 웹과 같은 분산 하이퍼미디어 시스템을 위한 소프트웨어 아키텍처 한 형식이다. 

일반적으로 JSON이 많이사용되지만, XML, YAML 등 protocol을 강제하지 않는다. 

 

 

> REST를 사용하는 이유 

 

  • 플랫폼과 프로그래밍 언어에 독립적이다 (SOAP과 동일)
  • SOAP의 UDDI와 같은 중개자를 통하지 않아 빠르다 -> SOAP보다 구조가 단순
  • 간결하므로 추가적인 메세징 계층이 없음

 

 

> REST의 단점 

 

  • point-to-point 통신 모델을 가정하므로 둘 이상으로 상호작용하는 분산환경에는 유용하지 않다
  • 보안, 정책 등에 대한 표준이 없다
  • HTTP 통신 모델만 지원한다

 

 

 

SOAP vs. REST 

 

 

 

출처 : https://roazium.tistory.com/62

 

728x90