22
윤윤윤 Date : 2014. 09. 03 윤윤윤 윤윤윤윤 SOAP ? REST ?

SOAP REST 이해

Embed Size (px)

DESCRIPTION

SOAP과 REST에 대한 PPT 입니다.

Citation preview

Page 1: SOAP REST 이해

윤재석Date : 2014. 09. 03

그것이 문제로다

SOAP ? REST ?

Page 2: SOAP REST 이해

SOAP? & Example1.

TABLE OF CONTENTS

2.REST? & Example

그것이 문제로다 .

SOAP ? REST ?

Page 3: SOAP REST 이해

SOAP 란 ?

일반적으로 널리 알려진 HTTP, HTTPS, SMTP 등을 통해

XML 기반의 메시지를 컴퓨터 네트워크 상에서 교환하는 프로토콜

In SOAP(Simple Object Access Protocol)

그것이 문제로다 .

SOAP ? REST ?

Page 4: SOAP REST 이해

SOAP 장점

SOAP 는 기존 원격 기술들에 비해서 프록시와

방화벽에 구애 받지 않고 쉽게 통신 가능하다 .

SOAP 는 플랫폼과 프로그래밍 언어에 독립적이다 .

SOAP 는 웹 서비스를 제공하기 위한 표준 (WSDL,

UDDI, WS-*) 이 잘 정립되어 있다 .

SOAP 는 에러 처리에 대한 내용이 기본으로 내장되어 있다 .

SOAP 는 분산 환경에 적합하다 .

그렇다면 , 왜 ? SOAP 를 사용하는가 ?

그것이 문제로다 .

SOAP ? REST ?

Page 5: SOAP REST 이해

SOAP 단점

SOAP 는 복잡한 구조로 인한 오버헤드가 있으며 , 이는 SOAP 의 확장을 저해하고 있다 .

SOAP 는 REST 에 비해 상대적으로 무겁고 속도도 느리다 .

개발 난이도가 높아 개발 환경의 지원이 필요하다 .

그렇다면 , 왜 ? SOAP 를 사용하지 않는가 ?

그것이 문제로다 .

SOAP ? REST ?

Page 6: SOAP REST 이해

SOAP 아키텍처

< 그림 > SOAP 의 아키텍처

UDDI 레지스트리를 통해 웹서비스를 등록 (Publish) 하고 , 탐색 (Find) 하고 , 바인딩 (Bind) 하여 사용

그것이 문제로다 .

SOAP ? REST ?

Page 7: SOAP REST 이해

SOAP 프로세스

서비스 요청자가 SOAP 로 인코딩하여 웹 서비스 요청을 서비스 제공자에게 전달

서비스 제공자는 이를 디코딩하여 적절한 서비스 로직을 수행시켜서 결과를 얻고 , 그 결과를 다시 SOAP 로 인코딩하여 반환

SOAP 의 동작원리

그것이 문제로다 .

SOAP ? REST ?

Page 8: SOAP REST 이해

SOAP 란 ?

< 그림 > SOAP 의 메시지 구조

그것이 문제로다 .

SOAP ? REST ?

Page 9: SOAP REST 이해

SOAP 란 ?

[ 예시 ] HTTP Request 실린 SOAP 메시지

그것이 문제로다 .

SOAP ? REST ?

Page 10: SOAP REST 이해

SOAP 란 ?

[ 예시 ] HTTP Response 에 실린 SOAP 메시지

그것이 문제로다 .

SOAP ? REST ?

Page 11: SOAP REST 이해

SOAP 라이브러리

C/C++

gSOAP : C++ 로 작성되었으며 , SOAP 1.1/1.2 명세를 충실히 따르는 안정적인 라이브러리로 클라이언트와 서버를 모두 지원한다 .

cSOAP : 순수 C 언어로 구현된 라이브러리로 클라이언트와 서버를 모두 지원하며 의존 라이브러리로 libxml, libssl, libpthread가 있음

libSoap : GNOME 환경을 위한 HTTP 클라이언트 / 서버 라이브러리이며 의존 라이브러리로 libglib, libgnutls, libpthread 가 있으며 , 비동기뿐만 아니라 동기 API 도 가지고 있어 Thread 프로그래밍도 가능

구현을 위한 라이브러리

그것이 문제로다 .

SOAP ? REST ?

Page 12: SOAP REST 이해

REST 란 ?

HTTP 를 통해 세션 트랙킹 같은 부가적인

전송 레이어 없이 , 전송하기 위한 아주 간단한 인터페이스

In REST(REepresentational State Transfer)

HTTP 등의 기본 개념에 충실히 따르는 웹 서비스

그것이 문제로다 .

SOAP ? REST ?

Page 13: SOAP REST 이해

REST 장점

REST 는 플랫폼과 프로그래밍 언어에 독립적이다 . (=SOAP)

REST 는 SOAP 보다 개발하기 단순하므로 학습곡선이 작고 도구가 거의 필요 없다 .

REST 간결하므로 추가적인 메시징 계층이 없다 .

그렇다면 , 왜 ? REST 를 사용하는가 ?

그것이 문제로다 .

SOAP ? REST ?

Page 14: SOAP REST 이해

REST 장점

REST 는 point-to-point 통신 모델을 가정하므로 둘 이상으로 상호작용하는 분산환경에는 유용하지 않다 .

REST 는 보안 , 정책 등에 대한 표준이 없다 .

RESTHTTP 통신 모델만 지원한다 .

그렇다면 , 왜 ? REST 를 사용하지 않는가 ?

그것이 문제로다 .

SOAP ? REST ?

Page 15: SOAP REST 이해

REST 아키텍처

< 그림 > REST 의 아키텍처

리소스를 등록하고 저장해두는 중간 매체 없이 리소스 제공자가 직접 리소스 요청자에게 제공함

그것이 문제로다 .

SOAP ? REST ?

Page 16: SOAP REST 이해

REST 프로세스

기본 HTTP 프로토콜의 메소드 GET/PUT/POST/DELETE 를 이용하여 서비스 제공자에게 서비스를 요청

서비스 제공자는 다양한 형태로 표현된 (JSON, XML, RSS 등 ) 리소스를 반환

REST 의 동작원리

Method CRUD SQL

POST Create Insert

GET Read SELECT

PUT Update UPDATE

DELETE Delete DELETE

그것이 문제로다 .

SOAP ? REST ?

Page 17: SOAP REST 이해

REST 란 ?

[ 예시 ] HTTP Request 실린 REST 메시지

그것이 문제로다 .

SOAP ? REST ?

Page 18: SOAP REST 이해

REST 란 ?

[ 예시 ] HTTP Response 에 실린 REST 메시지

그것이 문제로다 .

SOAP ? REST ?

Page 19: SOAP REST 이해

REST 의 URI 방식

REST 의 동작원리

The Gate to the Service http://www.thomas-bayer.com/sqlrest/Customer # 18 http://www.thomas-bayer.com/sqlrest/CUSTOMER/18/List of invoices http://www.thomas-bayer.com/sqlrest/INVOICE/

예시 사이트http://www.peej.co.uk/articles/restfully-delicious.html

그것이 문제로다 .

SOAP ? REST ?

Page 21: SOAP REST 이해

SOAP vs REST

Google Trend

그것이 문제로다 .

SOAP ? REST ?

Page 22: SOAP REST 이해

Q&A