300x250

REST
● 최근 WOA와 연관되어 REST의 중요성이 부각되고 있습니다. SOAP의 문제점을 해결하면서 새롭게 부각되는 전송 형태인 REST의 동작 방식 및 사용 사례입니다.


I. REST의 이해

가. REST(Representational State Transfer)의 정의
- WWW(World Wide Web)처럼 자원을 정의하고 접근하는 메커니즘을 기반으로 한 네트워크가 가능한 시스템을 만드는 아키텍처 원칙과 소프트웨어 아키텍처 스타일의 집합
- Roy Fielding (Architectural Styles and the Design of Network-based Software Architectures)에서 정의되어 사용

나. REST의 특징
- 부수적인 시맨틱 레이어나 세션 관리를 추가하지 않고도 HTTP 같은 프로토콜로 데이터를 전달하는 프레임워크를 설명하는 데 사용
- URI(Uniform Resource Identifiers)를 사용하여 주어진 자원 표현의 위치를 알아내고 접근
- 표현 상태(representational state)라 알려진 자원 표현은 만들어질 수도, 찾아올 수도, 수정될 수도, 삭제될 수도 있음
- HTTP처럼 웹과 관련된 기존 기술, 표준 프로토콜을 활용할 수 있음
- 무상태 대화(stateless conversation) 내에서 동작하기 때문에 RSS, RDF, OWL, Atorn 같은 등록 기반의 기술이 쉽게 보급될 수 있게 영향


II. REST의 구성개체

 

가. REST 구성체계및 설명

구성개체 상세설명
데이터 요소 - 데이터, 식별자(URI와 URL), HTML 문서, XML 문서, 이미지와 같은 데이터 표현
컴포넌트 - 아파치(Apache) http와 마이크로소프트(Internet Information Serivces) 같은 고유 서버, 스퀴드(Squid)와 CGI 같은 게이트웨이(gateways), 건틀렛(Gauntlet)과 넷스케이프(Netscape) 프록시 같은 프록시, 웹 브라우저나 모바일 기기 같은 사용자 에이전트
커넥터  - Iibwww 같은 클라이언트 커넥터, NSAPI 같은 서버 커넥터, 브라우저 캐시 같은 캐시 등



나. HTTP 기반 REST 예제
- GET, PUT, POST, DELETE라는 표준 HTTP 메서드를 사용하여 자원의 표현 상태에 접근
- GET : 발행자가 소비자에게 자원의 현재 표현 상태를 전달할 때 이 메서드를 사용
- PUT: 소비자가 발행자에게 자원의 수정된 표현 상태를 전달할 때 이 메서드를 사용
- POST : 소비자가 발행자에게 자원의 새 표현 상태를 전달할 때 이 메서드를 사용
- DELETE : 자원의 표현 상태를 삭제 상태로 변경해야 하는 정보를 전달할 때 이 메서드를 사용

III. REST와 SOAP과의 비교 및 활용분야

가. REST와 SOAP와의 비교

구분 SOAP REST
장점 - 언어, 플랫폼, 전송(Transport) 중립
- 분산컴퓨팅 환경에서 사용하기 위한 디자인
- 웹서비스를 위해 널리 사용되는 표준이며, 다른표준과 통합을 통한 확장성이 뛰어나고 다양한 Vendor를 통한 지원이 이루어지고 있음
- 에러처리 기능이 포함되어 있음
- 언어, 플랫폼 중립
- 일반적으로 SOAP보다 웹서비스 개발이 더 쉬움
- 매시 업을 통한 새로운 형태의 웹서비스 개발을 쉽게 할 수 있음
- Virtual Earth API와 연계하여 교통정보 제공 웹 사이트를 개발하는 등
단점 - 개념적으로 REST보다 더 어렵고 무거움
- 개발이 REST 보다 어렵고 Tool이 필요한 경우 가 많음
- 분산 환경에서 메시지가 중간 경유지를 여러 번 통과하는 경우 사용하기 어려움
- 보안 정책, 안정적인 메시지 전달을 지원하기 위한 표준이 부족함
- 복잡한 요구사항을 표현하기 위해 직접 구현해야함

 

반응형

+ Recent posts