There are some features every developer in the world always need to implement:
- Data persistence.
- Authentication and Authorization.
RESTHeart provides out-of-the-box:
- Data persistence via MongoDB.
- Secure Identity and Access Management.
- REST API with JSON messages.
RESTHeart is a REST API Microservice for MongoDB which provides server-side Data, Identity and Access Management for Web and Mobile applications.
- A Stateless Microservice.
- Designed to be distributed as a Docker container.
- Easily deployable both on cloud and on-premises.
With RESTHeart teams can focus on building Angular, React, Vue, iOS or Android applications, because most of the server-side logic necessary to manage database operations, authentication / authorization and related APIs is automatically handled, without the need to write any server-side code except for the UX/UI.
For these reasons, RESTHeart is widely used by freelancers, Web agencies and System Integrators with deadlines, because it allows them to focus on the most important and creative part of their work: the User Experience.
RESTHeart is written in Java and is build on top of the Undertow high performance, non-blocking HTTP server.
The founding ideas around RESTHeart are:
- The key architectural trends in software development are microservices architecture and NoSQL databases
- Developers primarily need a backend to easily store and retrieve content, as these days Single Page Applications and Mobile Apps are moving the business logic to the client side;
- Modern Apps want consuming a REST API and use JSON as the message format (goodbye XML and RPC);
- MongoDB is the leading NoSQL database for Web and Mobile apps; it’s lightweight, fast, schema-less and uses JSON.
- Having an out-of-the-box backend, we can better focus on what matter the most: the User Experience;
- Docker is emerging as the de facto standard to package and distribute applications.
- Setup in minutes a microservice with support for MongoDB, AWS DocumentDB and Azure Cosmos DB; available also as a Docker image
- Based on open standards, like HTTP, JSON, REST, JSON and JSON Schema
- Read JSON documents with GET requests, specifying MongoDB queries and projection options; deal with large result sets with pagination
- Create, modify and delete JSON documents with POST, PUT, PATCH and DELETE requests. Use bulk requests to deal with multiple documents in one shot
- Authentication and Authorization provided by a dedicated security microservice
- Store and serve binary data with GridFS support
- Define and execute Aggregations, supporting both map-reduce and aggregation pipelines
- Execute requests in multi-document ACID transactions
- Access real-time data changes via Websocket Change Streams
- Create dbs, collections and indexes with Data Model API
- Validate requests with JSON Schema
- Define Relationships so that documents automatically include hyperlinks to referenced data
- Forget about HTTP details with automatic support of Cross-origin resource sharing, Web Caching and HTTP ETag to avoid ghost writes