REST 웹 서비스 기반
REST(Representational State Transfer)는 분산된 웹 애플리케이션을 만드는 스타일입니다. 웹 서비스 API 설계에 적용할 경우 서버 기반 리소스를 노출하고 상태를 관리하기 위한 일련의 기술과 Best Practice를 수립합니다. 이 솔루션은 메인스트림 프로토콜과 표준을 사용하여 ONTAP Select 클러스터를 배포하고 관리하기 위한 유연한 기반을 제공합니다.
기존의 제약과 아키텍처를 동시에 사용합니다
휴식은 로이 필딩의 박사 학위를 받아 공식적으로 표현되었습니다 "학위 논문" 2000년 UC Irvine에서. 이 아키텍처는 일련의 제약 조건을 통해 아키텍처 스타일을 정의하며, 이러한 제약은 웹 기반 응용 프로그램과 기본 프로토콜을 모두 개선합니다. 이 제약 조건은 상태 비저장 통신 프로토콜을 사용하는 클라이언트/서버 아키텍처를 기반으로 RESTful 웹 서비스 애플리케이션을 설정합니다.
리소스 및 상태 표시
리소스는 웹 기반 시스템의 기본 구성 요소입니다. REST 웹 서비스 응용 프로그램을 만들 때 초기 설계 작업은 다음과 같습니다.
-
시스템 또는 서버 기반 리소스 식별
모든 시스템은 리소스를 사용하고 유지합니다. 리소스는 파일, 비즈니스 트랜잭션, 프로세스 또는 관리 엔티티가 될 수 있습니다. REST 웹 서비스를 기반으로 애플리케이션을 설계하는 첫 번째 작업 중 하나는 리소스를 식별하는 것입니다. -
자원 상태 및 연관된 상태 작업의 정의
리소스는 항상 한정된 수의 상태 중 하나에 있습니다. 상태 변경에 영향을 주는 데 사용되는 상태 및 관련 작업을 명확하게 정의해야 합니다.
일반 CRUD(생성, 읽기, 업데이트 및 삭제) 모델에 따라 리소스 상태를 액세스하고 변경하기 위해 클라이언트와 서버 간에 메시지가 교환됩니다.
URI 끝점
모든 REST 리소스는 잘 정의된 주소 지정 체계를 사용하여 정의되고 사용 가능해야 합니다. 리소스가 있고 식별된 끝점은 URI(Uniform Resource Identifier)를 사용합니다. URI는 네트워크의 각 리소스에 대해 고유한 이름을 만들기 위한 일반 프레임워크를 제공합니다. URL(Uniform Resource Locator)은 리소스를 식별하고 액세스하기 위해 웹 서비스와 함께 사용되는 URI 유형입니다. 일반적으로 리소스는 파일 디렉터리와 비슷한 계층적 구조로 표시됩니다.
HTTP 메시지
HTTP(Hypertext Transfer Protocol)는 웹 서비스 클라이언트 및 서버가 리소스에 대한 요청 및 응답 메시지를 교환하기 위해 사용하는 프로토콜입니다. 웹 서비스 응용 프로그램을 디자인하는 과정에서 HTTP 동사(예: GET 및 POST)가 리소스와 해당 상태 관리 작업에 매핑됩니다.
HTTP는 상태 비저장 입니다. 따라서 하나의 트랜잭션에서 관련 요청 및 응답 집합을 연결하려면 요청/응답 데이터 플로우와 함께 전달된 HTTP 헤더에 추가 정보가 포함되어야 합니다.
JSON 형식
여러 가지 방법으로 클라이언트와 서버 간에 정보를 구성 및 전송할 수 있지만 가장 널리 사용되는 옵션(및 배포 REST API와 함께 사용되는 옵션)은 JSON(JavaScript Object Notation)입니다. JSON은 단순 데이터 구조를 일반 텍스트로 나타내는 업계 표준이며 리소스를 설명하는 상태 정보를 전송하는 데 사용됩니다.