Computer 그리고 Developer/dW

[dW] RESTful한 웹 서비스 만들기

버리야 2008. 9. 29. 14:49
반응형

RESTful한 웹 서비스 만들기(REST와 RESTlet 프레임워크에 대한 소개)

REST란 동사(verb)라고 볼 수 있는 이러한 요청들과 명사(noun)라 볼 수 있는 자원을 연결함으로써 행동(behavior)을 논리적으로 표현한다.


* CRUD/HTTP 간의 대응


애플리케이션 작업
HTTP 명령





Create
POST

Read
GET

Update
PUT

Delete
DELETE

장점
메시지가 아닌 이름이 부여된 자원에 REST가 의존하기에 애플리케이션 디자인 측면에서 볼 때 느슨한 결합이라는 게 쉽게 가능해지는데, 이는 하부를 떠 받치는 기술이 무엇인지 노출되지 않기 때문이다.


REST의 아름다움은, 자원은 어떤 것이든 될 수 있고 표현될 수 있는 방식도 다양하다는 점이다. 바로 전에 보았던 예에서 자원은 HTML 파일이었기에 응답 형식도 그에 따라 HTML이 될 것이다. 하지만 자원이 XML 문서이거나, 직렬화된 객체이거나, 혹은 JSON 표현법이었을 수도 있다.

그게 뭐든 상관없다. 중요한 건 하나의 자원은 이름이 부여된다는 것 그리고 자원과의 통신은 자원의 상태에 영향을 주지 않는다는 것이다. 상태에 영향을 미치지 않는다는 것은 중요하다. 상태 없는(stateless) 상호 작용이 확장을 쉽게 해주기 때문이다.


Restlets 프레임워크

첫째, Restlet은 HTTP 혹은 HTTP가 이야기하는 쿠키, 세션과 같은 실질적인 상태와 관련한 것에 대해 직접적인 개념을 갖고 있지 않다. 둘째, Restlet 프레임워크는 초경량화되어 있다. 알게 되겠지만 완벽한 기능을 갖춘 RESTful한 애플리케이션은 핵심 Restlet 기본 클래스 몇 개에서 확장(extends)한 소수의 클래스들만으로도 만들 수 있다. 설정과 배치는 기존 컨테이너 모델을 이용할 수 있기 때문에 간단히 web.xml 파일 정도만 고쳐 표준 웹 아카이브(WAR) 파일을 배치한다.





반응형