본문 바로가기

카테고리 없음

SOAP와 REST의 이해

Web Service

  • request ( input ) 요청
    • 웹 어플리케이션에서 웹 서비스로 전달되는 요청, 클라이언트의 request
  • response ( output) 응답
    • 웹 서비스에서 처리된 결과를 웹 어플리케이션으로 반환, 웹 서비스의 response

Service Definition

  • Request / Response Format
  • Request Structure
  • Response Structure
  • Endpoint(URL...)

Data exchange 2 formats

  • XML
  • JSON : 문서의 양이 xml보다 적다.

SOAP 이란 ?

SOAP (Simple Object Access Protocol)

http, https, SMTP(Simple Mail Transfer Protocol) 등을 이용해서 XML 기반의 메세지를 컴퓨터 네트워크 상에서 교환하는 형태의 프로토콜을 말함

  • 장점 : 프록시나 방화벽에 구애받지 않고 비교적 쉽게 통신이 가능하다, 플랫폼이나 프로그래밍 언어에 독립적이고 확장가능하다
  • 단점 : 다른 미들웨어 기술과 비교해 느리다. 복잡한 구조로 오버헤드가 많았다. 개발하기 어렵고 무겁다 = 느리다
<?xml version="1.0"?>

<soap:Envelope
xmlns:soap="http://www.w3.org/2003/05/soap-envelope"
soap:encodingStyle="http://www.w3.org/2003/05/soap-encoding">

<soap:Header>
...
</soap:Header>

<soap:Body>
...
  <soap:Fault>
  ...
  </soap:Fault>
</soap:Body>

</soap:Envelope>

RESTful 이란 ?

REST (REpresentational State Transfer)

  • Resouce의 Representation에 의한 상태 전달
  • HTTP Method를 통해 Resource를 처리하기 위한 아키텍쳐
    • HTTP Methods (GET, PUT, POST, DELETE)
  • Http Status Codes (200, 404, ...)

RESTful

  • REST API를 제공하는 웹 서비스
    • API(Application Programming Interface)
  • Resource
    • URI(Uniform Resource Identifier) : 인터넷 자원을 나타내는 유일한 주소
    • XML, JSON, HTML
  • Endpoint
    • API를 통해 서버가 제공하는 리소스에 접근하기 위해서 제공되는 주소, 즉 같은 URL 이라도 HTTP Method의 쓰임새에 따라 다른 역할을 수행하게 해준다