IBM®
메인 컨텐츠로 가기
    Korea [국가변경]    이용약관
 
 
   
        제품    서비스 & 솔루션    고객지원 & 다운로드    회원 서비스    

한국 developerWorks  >  자바 | SOA와 웹서비스 | 오픈 소스  >

RESTful한 웹 서비스 만들기

REST와 RESTlet 프레임워크에 대한 소개

developerWorks

난이도 : 중급

Andrew Glover , 대표, Stelligent Incorporated

2008 년 9 월 23 일

튜토리얼 보러가기

구상화 상태 전송(역주: 현재까지는 명확히 한국어로 번역되어 쓰이는 말은 없다)을 뜻하는 REST(Representational state transfer)는 메시지가 아닌 이름이 부여된 자원에 의존하는 느슨히 연결된(loosely coupled) 애플리케이션을 디자인하는 한 형식입니다. "RESTful"한 애플리케이션을 만드는 데에 가장 어려운 부분은 노출하고자 하는 자원을 결정하는 일입니다. 일단 하겠다고 마음먹었다면 오픈 소스 Restlet 프레임워크를 사용하는 게 RESTful한 웹 서비스를 만드는 데 있어 가장 손쉬운 방법입니다. 이 튜토리얼에서는 REST의 기본 개념에 대해 소개하고, Restlet을 이용해 단계별로 애플리케이션을 만들어 갈 것입니다.

이 튜토리얼 내에서

REST는 프로토콜이나 표준이 아닌 생각하는 방식 중 하나다. 메시지가 아닌 이름이 부여된 자원에 의존하는 느슨하게 결합된 애플리케이션(대개는 웹 지향적인 애플리케이션들)을 디자인하는 한 스타일이다. 이 튜토리얼에서는 REST가 무엇이고 RESTful한 애플리케이션을 Restlet을 이용해 어떻게 만드는지 알아볼 것이다. Restlet이란 자바(Java™) 애플리케이션을 위한 경량화된 REST 프레임워크다.


목표

  • RESTful한 웹 서비스의 정의

  • Restlet 프레임워크를 이용해 구현

  • JUnit 테스팅 프레임워크를 써서 검증

선수조건

이 튜토리얼을 통해 최상의 효과를 얻어내려면 자바 문법과 자바 플랫폼에서 객체 지향 개발의 기본 개념에 대해 친숙해야 한다. 또한 웹 애플리케이션에 대해서도 잘 알고 있어야 한다. 그루비(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®)에서도 동작한다.



기간

한 시간


포맷

html


이 문서 북마킹 하기

mar.gar.in mar.gar.in naver naver eolin eolin del.icio.us del.icio.us



위로


developerWorks 콘텐트를 다른 사이트에 전재하기:
developerWorks 콘텐트에 대한 저작권은 IBM에 있습니다. IBM의 서면 허가나 원본 저자의 허락이 없이는 전재를 금합니다. 저희 콘텐트를 전재하시려면 IBM developerWorks 담당자 에게 문의하십시오.

문서 옵션

JavaScript가 필요한 문서 옵션은 디스플레이되지 않습니다.

영어원문

영어원문


제안 및 의견
피드백

    IBM 소개 개인정보 보호정책 문의