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
728x90
'Programming > 개념들' 카테고리의 다른 글
[WEB] 도메인, DNS(Domain Name System)서버와 Hosts 개념 이해 (0) | 2021.07.06 |
---|