RESTHeart
| Company type | Open source / Commercial |
|---|---|
| Industry | Software, Microservices platform |
| Products | Low Code microservices platform |
RESTHeart is an open source Low Code microservices platform developed in Java, offered under both the AGPL and a commercial license.
Functioning as a framework for creating HTTP microservices, it parallels technologies such as Undertow (which serves as its internal engine), Micronaut, and Quarkus. The platform's development environment enables the creation of Services to handle incoming requests and Interceptors to alter requests and responses throughout their lifecycle. It supports multiple programming languages—including Java, Kotlin, JavaScript, and TypeScript—leveraging the polyglot capabilities of the GraalVM runtime.
A key differentiator of RESTHeart is its integrated application-level functionalities that position it as a Low Code Platform:
- A Data API designed for MongoDB and compatible databases (such as Percona Server for MongoDB, AWS DocumentDB, and Azure Cosmos DB), providing access to resources via REST, GraphQL, and WebSocket interfaces.
- Declarative Security features that administer Authorization and Authentication through configuration files and Access Control Lists. This security framework can be extended using the same plugin system employed for Services and Interceptors.
Technical implementation
RESTHeart is entirely written in Java and incorporates Undertow, the high-throughput HTTP server foundational to the WildFly Application Server. It utilizes Undertow's pipeline model by linking specialized handlers to manage request processing.
At its core, RESTHeart manages runtime operations including parsing configurations, registering plugins, enforcing security policies, routing requests to Services, and orchestrating the execution of Interceptors and Initializers.
Plugins bundle reusable functionalities and business logic, which can be deployed through a file-based approach.
With GraalVM support, RESTHeart can be compiled into native images optimized for containerized deployments. Additionally, it is available as Docker container images.