레스트하르트

RESTHeart
RESTHeart, 현대 웹을 위한 백엔드 사용 준비 완료
Restheart logo.png
원본 작성자안드레아 디 체사레
개발자안드레아 디 체사레, 마우리치오 투라티
초기 릴리즈2014년 11월 30일 (2014-11-30)[1]
안정적 해제
6.0.5 / 2021년[2] 7월 30일(2021-07-30)
리포지토리
운영 체제크로스 플랫폼
다음에서 사용 가능자바
유형서버(컴퓨터)
면허증아페로 일반 공중 면허증
웹사이트restheart.org

RESTHeart는 선언적 액세스 제어, MongoDB의 Instant Data API, Polyglot Development Framework를 갖춘 자바 오픈소스 웹 API 오픈소스 서비스다.null

그것의 개발 프레임워크는 서비스 구현이 API와 인터셉터를 확장하여 요청 라이프사이클의 서로 다른 단계에서 요청과 응답을 스누핑하고 수정할 수 있도록 한다.GraalVM 가상 머신의 폴리글롯 특성을 활용한 자바, 코틀린, 자바스크립트, 타입스크립트 등 다양한 프로그래밍 언어를 지원한다.null

RESTHeart는 MongoDB 또는 모든 호환 데이터베이스(예: MongoDB용 Percona Server, AWS Document)에 자동으로 연결됨DB 및 Azure Cosmos DB) 및 포괄적인 REST, GraphQLWebSocket APIs 집합을 통해 모든 데이터베이스의 기능을 노출한다.null

기본 액세스 제어 구현에서는 구성을 통한 인증 및 인증을 관리할 수 있다.서비스 및 인터셉터를 구현하기 위해 동일한 플러그인 메커니즘을 활용하면 보안 계층을 사용자 정의할 수 있다.null

RESTHeart는 AGPL과 비즈니스 친화적인 상업용 라이센스에 따라 이중 라이센스를 부여받았다.null

동기와 건축

RESTHeart는 MongoDB에 접속하여, MongoDB의 문서 지향적 특성을 활용한 플레인 HTTP 요청으로 데이터를 읽고 쓸 수 있는 API를 공개하고, 데이터와 HTTP 자원 간의 자동 매핑을 만든다.null

RESTHeart는 HTTP를 통해 MongoDB 위에 있는 문서 지향 데이터 서비스를 호출할 필요가 있는 아키텍처에 자연스럽게 맞지만 프로그래머들은 손으로 반복적인 CRUD 논리를 구축하여 시간을 낭비하고 싶지 않다.null

RESTHeart는 전문화된 독립적인 마이크로 서비스를 배포하고 실행할 수 있으며 이미 Docker 컨테이너를 통해 사용할 수 있다.[3]null

기술 구현

RESTHeart는 Java에서 완벽하게 구현되며 Wildfly Application Server의 핵심 구성요소 중 하나인 비차단 HTTP 서버인 Underdow를 내장하고 있다.null

멀티스레드 프로세스는 MongoDB 서버에 연결하여 HTTP 프로토콜을 통한 RESTful 인터페이스를 통해 그 데이터를 운영으로 노출시켜 데이터 클라이언트가 낮은 수준의 데이터베이스 드라이버 없이도 DataBase Management System과 상호 작용할 수 있도록 한다.null

데이터베이스, 컬렉션, 문서와 같은 MongoDB 자원은 JSON으로 자동 표시된다.

RESTHeart는 요청을 처리하기 위해 전문 처리기를 체인으로 묶는 동일한 Entdow의 파이프라인 아키텍처를 상속한다.추가적인 논리를 제공하기 위해 사용자 지정 플러그인을 추가할 수 있다.[4]null

RESTHeart는 또한 MongoDB의 GridFS를 지원하며 HTTP를 통해 대용량 이진 파일을 저장하고 검색할 수 있다.[5]null

클라이언트와 데이터베이스 사이에 위치한 RESTHeart는 인증 및 권한 부여, 데이터 변환 및 검증과 같은 게이트웨이 서비스도 제공한다.null

참조

  1. ^ "SoftInstigate - RESTHeart data API server open sourced". www.softinstigate.com.
  2. ^ "restheart: RESTHeart, the Web API for MongoDB". 30 June 2021 – via GitHub.
  3. ^ "Docker Hub". hub.docker.com. Retrieved April 17, 2018.
  4. ^ "Packaging Plugins". restheart.org. Retrieved August 28, 2019.
  5. ^ "Binary Data (GridFS) - RESTHeart". restheart.org. Retrieved August 28, 2019.

외부 링크