Skip to content

Commit

Permalink
Update index.adoc
Browse files Browse the repository at this point in the history
  • Loading branch information
mkjsix authored Nov 25, 2023
1 parent 25d198d commit f326484
Showing 1 changed file with 23 additions and 24 deletions.
47 changes: 23 additions & 24 deletions docs/index.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ layout: docs-adoc
menu: overview
---

> *RESTHeart is a modern, JVM/GraalVM based, platform for building cloud-native HTTP microservices*
> *RESTHeart is a modern, JVM and GraalVM-based platform for building cloud-native HTTP microservices*

NOTE: An _HTTP microservice_ is a server-side, lightweight component that exposes an HTTP API. Clients interact with it only through HTTP requests, usually - but not exclusively - using JSON payloads, decoupling the client from the underlying technology and completely separating the presentation from the business logic.

Expand All @@ -29,9 +29,9 @@ Save time and effort with RESTHeart's pre-configured APIs, covering a broad rang

== What makes RESTHeart different from other frameworks?

*RESTHeart* is a framework for building HTTP microservices comparable to others, like _Undertow_ (that is actually internally used by RESTHeart), _Vert.x_, _Quarkus_, _Spring Boot_, _Node.js_, etc.
*RESTHeart* is a framework for building HTTP microservices comparable to others, like _Undertow_ (internally used by RESTHeart), _Vert.x_, _Quarkus_, _Spring Boot_, _Node.js_, etc.

However RESTHeart does not only comprises a framework, but also a set of application level features that allow developers to build their applications without the need to reinvent the wheel.
However, RESTHeart does not only comprise a framework but also a set of application-level features that allow developers to build their applications without the need to reinvent the wheel.

++++
<div class="col-md-8 col-12 mx-auto">
Expand All @@ -40,9 +40,9 @@ However RESTHeart does not only comprises a framework, but also a set of applica
</div>
++++

`restheart-core` is the foundation of the platform, the runtime process responsible for handling the core services, parsing the configuration, registering the plugins, enforce the security policy, resolve dependency injections with the available `Providers`, route requests to the correct `Services`, executing `Interceptors` and `Initializers`.
`restheart-core` is the foundation of the platform, the runtime process responsible for handling the core services, parsing the configuration, registering the plugins, enforcing the security policy, resolving dependency injections with the available `Providers`, routing requests to the correct `Services`, executing `Interceptors` and `Initializers`.

If you look at the restheart installation directory structure, you will notice a directory called `plugins`:
If you look at the RESTHeart installation directory structure, you will notice a directory called `plugins`:

[source,bash]
----
Expand All @@ -54,18 +54,18 @@ plugins
└── restheart-security.jar
----

Those plugins implement application level functionalities that help building applications.
Those plugins implement application-level functionalities that help build applications.

For instance, the plugin `restheart-mongodb` implements the REST API for MongoDB and `restheart-security.jar` implements the ready-to-use Authentication and Authorization features.

A developer can easily deploy a custom plugin, by just adding it into the `plugins` directory. The plugin is just a JAR file, in case of Java or Kotlin and a directory with its `package.json` file in case of JavaScript.
A developer can easily deploy a custom plugin, by just adding it into the `plugins` directory. The plugin is just a JAR file, in the case of Java or Kotlin and a directory with its `package.json` file in the case of JavaScript.

== Built for developers

RESTHeart is built for developers by developers and evolved by implementing dozens of real world projects and following one golden rule: _if it is complex, it is wrong_.
RESTHeart is built for developers by developers and evolved by implementing dozens of real-world projects.

- Only four, simple yet powerful building blocks: `Services`, `Providers` `Intreceptors` and `Initializers`.
- Starts in 100~ msecs, so code-deploy-test cycles are smooth and fast.
- Only four, simple yet powerful building blocks: `Services`, `Providers` `Interceptors` and `Initializers`.
- Starts in 100~ milliseconds, so code-deploy-test cycles are smooth and fast.
- Each request is handled in a dedicated thread, so all code is _thread-safe_, _simple_ to write and maintain and _scales well_.
- Powerful Dependency Injection via `@Inject` annotation and `Provider` plugin.
- The framework is polyglot and supports *Java*, *Kotlin*, *JavaScript* and *Typescript*.
Expand Down Expand Up @@ -96,27 +96,27 @@ export function handle(request, response) {
}
----

NOTE: Javascript is executed in a thread safe, multi-threading concurrency environment. So you don't need to deal with async/await, promises, observable or any other fancy stuff. *Just clean and simple code*.
NOTE: Javascript is executed in a thread-safe, multi-threading concurrency environment. So you don't need to deal with async/await, promises, observable or any other fancy stuff. *Just clean and simple code*.

== Features

RESTHeart provides developers with the features required by most applications: authentication/authorization and data management:
RESTHeart provides developers with the features required by most applications: authentication, authorization and data management:

- Declarative Authentication and Authorization.
- Instant REST, GraphQL and WebSocket API for MongoDB.
- SDK to easily develop custom features.

NOTE: Most applications just require this. Then you just run a stock RESTHeart. Really, no code!
> Most applications just require this. Then you just run a stock RESTHeart. Really, no code!

TIP: Check the link:/docs/try[demo Web Chat application]. It requires *zero* lines of backend code.

== The perfect MongoDB’s companion

RESTHeart is the best API for MongoDB (and link:https://www.ferretdb.io[FerretDB], AWS DocumentDB and Azure CosmosDB)
RESTHeart is the best API for MongoDB any compatible database (like link:https://www.ferretdb.io[FerretDB], AWS DocumentDB and Azure CosmosDB).

- It exposes full database’s capabilities via REST, GraphQL and WebSocket APIs.
- Developers don’t need to write a single line of backend code to handle data and wit Mobile Apps, Web Apps or Integration Middleware.
- The Instant Data API cuts development complexity and costs up to 90%.
- It exposes the full database’s capabilities via *REST*, *GraphQL* and *WebSocket* APIs.
- Developers don’t need to write a single line of backend code to handle data with Mobile Apps, Web Apps or Integration Middleware.
- The Instant Data API cuts development complexity and costs by up to 90%.

++++
<div class="col-md-8 col-12 mx-auto">
Expand All @@ -129,7 +129,7 @@ RESTHeart is the best API for MongoDB (and link:https://www.ferretdb.io[FerretDB

*Hundreds of thousands TPS*

RESTHeart parallel architecture provides superior performances.
RESTHeart parallel architecture provides superior performance.
link:/docs/performances[Read More]

*Horizontal scaling*
Expand All @@ -141,7 +141,7 @@ link:/docs/clustering[Read More]
*Even faster on GraalVM*

RESTHeart on GraalVM provides a
native solution with instant startup time and smaller memory footprint.
native solution with instant startup time and a smaller memory footprint.
This is perfect when deploying to Kubernetes clusters,
where regular Java applications usually consume too many resources.

Expand All @@ -154,10 +154,9 @@ designed to radically simplify microservices development and deployment.
- Available as a standalone JAR file, native binary or Docker image.
- Deploy it on Cloud and On-Premises.

== Dual licensed
== Open-source and business-friendly licenses

RESTHeart is dual-licensed under the AGPL and a Business Friendly
Enterprise License
RESTHeart is dual-licensed under the AGPL and a *Business Friendly* Enterprise License.

- Enjoy the free AGPL distribution without feature restrictions.
- Rely on the Enterprise License for production-grade support and to use RESTHeart in closed source products or services link:https://restheart.com[Read More].
- Use the free AGPL distribution without feature restrictions.
- Rely on the Enterprise License for production-grade support and to use RESTHeart in closed-source products or services link:https://restheart.com[Read More].

0 comments on commit f326484

Please sign in to comment.