본문 바로가기

공부/Spring Boot를 이용한 RESTful Web Services 정리

[Spring boot] SOAP VS REST?

 

WebService


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

 

(1) machine to machine or application to application 을 상호작용을 위한 설계

(2) 플랫폼에 독립적인 구조

(3) 어플리케이션간의 네트워크를 통한 통신 지원

 

 

Web Application


:  서버에 저장되어있고 웹 브라우저를 통해 사용할 수 있는 웹 프로그램

:  ex) webmail, 온라인 쇼핑몰, 온라인 뱅킹 등

 

(1) 웹 브라우저 

 - HTTP 프로토콜을 통해 제공되는 HTML을 해석해서 보여줌

 - 웹브라우저를 이용해 웹 애플리케이션을 사용

 

(2) webserver

 - 웹 애플리케이션을 실행하기 위한 서버, 외부 데이터베이스와 같이 연결

 

: 클라이언트의 요청이 html,css 등은 웹 서버에서 수행이 가능하지만, 프로그램 동작이나 외부와의 서비스 연결이 필요할 때 클라이언트 요청을 웹서버에 전달 후 웹 애플리케이션에서 처리 된 결과 값을 웹서버에 재 전송, 클라이언트에 전달한다.

 

 

- 웹 애플리케이션에서 웹서버로 전송되고 전송 하는 요청을 request(input),  response(output) 이라함.

- webservice를 정의하기 위한 정보

  (1) Request/Response Format

  (2) Request Structure

  (3) Response Structure

  (4) Endpoint (URL ...)

 

웹서비스의 요청 정보를 전달하기 위해 일반적으로 xml과, json을 사용해 개발하게 된다.

 

SOAP(Simple Object Access Protocol)


 : HTTP, HTTPS 등 프로토콜을 이용해서 xml 기반의 메시지를 컴퓨터 네트워크 상에서 전달할 수 있는 시스템

 : 복잡한 구조로 되어있고 오버헤드가 큼

 

 

RESTful


REST(Represnetational State transfer)

 - soap과 마찬가지로 메시지를 컴퓨터 네트워크 상에서 전달할 수 있는 시스템

 - Resource의 Representation에 의한 상태 전달

 - HTTP Method를 통해 resource를 처리하기 위한 아키텍쳐

 

RESTful 

 - REST API를 제공하는 웹 서비스

 

 

 

REFERENCE


인프런 강의 - Spring Boot를 이용한 RESTful Web Services 개발

 

300x250