 |
|
난이도 : 중급 Andrew Glover, 대표, Stelligent Incorporated
2008 년 9 월 23 일 구상화 상태 전송(역주: 현재까지는 명확히 한국어로 번역되어 쓰이는 말은 없다)을 뜻하는 REST(Representational state transfer)는 메시지가 아닌 이름이 부여된 자원에 의존하는 느슨히 연결된(loosely coupled) 애플리케이션을 디자인하는 한 형식입니다. "RESTful"한 애플리케이션을 만드는 데에 가장 어려운 부분은 노출하고자 하는 자원을 결정하는 일입니다. 일단 하겠다고 마음먹었다면 오픈 소스 Restlet 프레임워크를 사용하는 게 RESTful한 웹 서비스를 만드는 데 있어 가장 손쉬운 방법입니다. 이 튜토리얼에서는 REST의 기본 개념에 대해 소개하고, Restlet을 이용해 단계별로 애플리케이션을 만들어 갈 것입니다.
시작하기 전에
이 튜토리얼에 대해
REST는 프로토콜이나 표준이 아닌 생각하는 방식 중4 하나다. 메시지가 아닌 이름이 부여된 자원에 의존하는 느슨하게 결합된 애플리케이션(대개는 웹 지향적인 애플리케이션들)을 디자인하는 한 스타일이다. 이 튜토리얼에서는 REST가 무엇이고 RESTful한 애플리케이션을 Restlet을 이용해 어떻게 만드는지 알아볼 것이다. Restlet이란 자바(Java™) 애플리케이션을 위한 경량화된 REST 프레임워크다.
목표
이 튜토리얼에서는 REST의 기본 개념과 Restlet을 이용한 애플리케이션 작성에 대해 단계별로 알아볼 것이며 다음 내용에 대해 배운다.
- RESTful한 웹 서비스의 정의
- Restlet 프레임워크를 이용해 구현
- JUnit 테스팅 프레임워크를 써서 검증
튜토리얼을 마치면 RESTful의 원칙으로 디자인할 때 얻는 이득을 이해하게 될 것이며 Restlet 프레임워크가 이를 어떻게 쉽게 해줄 수 있는지 알게 될 것이다.
필요한 사전 지식
이 튜토리얼을 통해 최상의 효과를 얻어내려면 자바 문법과 자바 플랫폼에서 객체 지향 개발의 기본 개념에 대해 친숙해야 한다. 또한 웹 애플리케이션에 대해서도 잘 알고 있어야 한다. 그루비(Groovy), JUnit, DbUnit, XMLUnit에 대해 알고 있는 것도 도움이 된다.
시스템 요구 사항
류토리얼에 나온 코드를 써보려면 다음 중 하나는 설치해 둘 필요가 있다.
이 튜토리얼에는 두 가지 버전의 소스 코드가 있다(다운로드 참조). 하나에는 모든 코드와 함께 코드에 의존하는 모든 다른 코드들(Restlet 프레임워크, JUnit, XMLUnit, DbUnit)이 들어있다. 네트워크 사정이 별로 좋지 않은 독자들이라면 튜토리얼에 포함된 코드만 들어있는 걸 다운로드하고 나머지는 원하는 사이트에서 Restlet 프레임워크, Junit, XMLUnit, DbUnit을 개별적으로 다운로드하는 게 좋겠다(참고자료).
이 튜토리얼에서 권장하는 시스템 사양은 다음과 같다.
- 최소 500MB의 메모리를 갖고 있고 썬 JDK 1.5.0_09 이후 버전 혹은 IBM JDK 1.5.0 SR3를 지원하는 시스템
- 소프트웨어 컴포넌트와 예제를 설치하기 위해 필요한 최소 20MB의 디스크 여유 공간
튜토리얼에서 지시 사항과 예제는 마이크로소프트 윈도(Microsoft® Windows®) 운영체제를 기준으로 했다. 이 튜토리얼에서 사용하는 모든 도구는 리눅스(Linux®)와 유닉스(UNIX®)에서도 동작한다.
|