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이 필요한 경우 가 많음 |
- 분산 환경에서 메시지가 중간 경유지를 여러 번 통과하는 경우 사용하기 어려움 - 보안 정책, 안정적인 메시지 전달을 지원하기 위한 표준이 부족함 - 복잡한 요구사항을 표현하기 위해 직접 구현해야함 |
'IT > 정보관리기술사' 카테고리의 다른 글
[기업경영전략] IT 투자분석 및 TCO 절감 방안 (0) | 2022.06.14 |
---|---|
[인터넷 일반] 웹 접근성(Web Contents Accessibility) (0) | 2022.06.07 |
[기업경영전략] OLAP(On-Line Analytical Processing) (0) | 2022.06.04 |
[기업경영전략] 신경망 분석의 분류 및 응용 분야 (0) | 2022.01.19 |
[기업경영전략] 신경망 분석 정의 및 구성요소 (0) | 2022.01.19 |