번역(翻訳): 방석구
RESTful Web 서비스의 기본
Alex Rodriguez, Software Engineer, IBM
2008年 11月 06日
REST(Representational State Transfer)는 SOAP 기반이나 WSDL(Web Services Description Language) 기반의 웹 서비스(Web Service)를 대체하는 보다 단순한 아키텍처로써 웹 전체에서 폭넓게 이해되고 있습니다. 이처럼 기존의 인퍼테이스interface 설계로부터 REST로 전환한 예로써, Web 2.0 서비스를 제공하는 주요 업체인 Yahoo, Google, Facebook 등은 SOAP 기반이나 WSDL 기반의 인터페이스를 권장하거나 도입하지 않고, 보다 사용이 편리한 리소스 지향 모델을 사용하여 그들의 서비스를 공개하고 있습니다. 이 기사에서는 Alex Rodriguez가 REST의 기본적인 원칙을 소개합니다.
기본
시스템 리소스에 초점을 맞춘 Web 서비스를 설계하는 경우에는 REST에 의해 정의된 일련의 아키텍처architecture의 원칙에 따라 설계하는 것이 가능합니다. 이러한 원칙에는 다양한 언어로 만들어진 광범위한 종류의 client가 HTTP를 통하여 리소스에 접근하고 전송하는 방법도 포함됩니다. REST는 SOAP이나 WSDL 기반의 인터페이스 설계의 대부분을 대체할 정도로 Web에 커다란 영향력을 발휘하고 있지만, 그 이유가 REST의 스타일이 비교적 사용하기 쉬워서만은 아닙니다.
REST는 2000년 캘리포니아 대학 어바인교校(University of California, Irvine)의 로이 필딩Roy Fielding에 의해 박사博士 논문論文 「Architectural Styles and the Design of Network-based Software Architectures」 에 최초 소개되었습니다. 이 시기의 REST는 크게 주목 받지는 못했습니다(이 논문은 분산分散 컴퓨팅 플랫폼으로써 Web을 사용하는 소프트웨어 아키텍처의 일련의 원칙을 분석하고 있습니다(이 논문의 링크는 참고문헌을 참조)). REST가 소개된 후로부터 불과 몇 년이 지나지 않았지만, 현재는 REST만을 지원하는 주요 프레임워크framework가 등장하기 시작했고, 현재도 개발이 진행되고 있습니다. 예컨대 REST가 JSR-311에 의하여 Java™ 6의 필수부분이 되어버린 것이 그러합니다.
이어서…