All Downloads are FREE. Search and download functionalities are using the official Maven repository.

se.introduction.adoc Maven / Gradle / Ivy

There is a newer version: 4.1.4
Show newest version
///////////////////////////////////////////////////////////////////////////////

    Copyright (c) 2019, 2024 Oracle and/or its affiliates.

    Licensed under the Apache License, Version 2.0 (the "License");
    you may not use this file except in compliance with the License.
    You may obtain a copy of the License at

        http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.

///////////////////////////////////////////////////////////////////////////////

= Introduction
:keywords: helidon, java, microservices, microprofile
:description: Helidon SE introduction
:keywords: helidon, java, SE, microservices, Netty
:rootdir: {docdir}/..

include::{rootdir}/includes/se.adoc[]

Helidon SE is Helidon's foundational set of APIs and, as of Helidon 4, it uses virtual threads to enable these APIs to change from asynchronous to blocking.

== Components

The REST framework for Helidon SE is the Helidon WebServer. It was built from the ground up to take full advantage of Java 21's virtual threads.

Helidon SE supports a number of additional Helidon features:

[PILLARS]
====
//config
[CARD]
.Config
[icon=settings,link=config/introduction.adoc]
--
A flexible configuration framework with support for multiple sources and
 formats.
--

//CORS
[CARD]
.CORS
[icon=share,link=cors.adoc]
--
Add support for CORS to your application using a Helidon module.
--
//DBClient
[CARD]
.DB Client
[icon=storage,link=dbclient.adoc]
--
Provides a unified, reactive API for working with databases in non-blocking way.
--
//GraphQL
[CARD]
.GraphQL
[icon=graphic_eq,link=graphql.adoc]
--
Build GraphQL servers.
--
//gRPC
[CARD]
.gRPC
[icon=swap_horiz,link=grpc/server.adoc]
--
Build gRPC servers and clients.
--
//Health Checks
[CARD]
.Health Checks
[icon=favorite_outline,link=health.adoc]
--
Expose health statuses of your applications.
--
//Metrics
[CARD]
.Metrics
[icon=av_timer,link=metrics/metrics.adoc]
--
Instrumentation to expose metrics of your applications.
--
//Openapi
[CARD]
.OpenAPI
[icon=donut_large,link=openapi/openapi.adoc]
--
Support OpenAPI from your application.
--

//Reactive Messaging
[CARD]
.Reactive Messaging
[icon=message,link=reactive-messaging.adoc]
--
Use prepared tools for repetitive use case scenarios.
--

//Reactive Streams
[CARD]
.Reactive Streams
[icon=waves,link=reactivestreams/engine.adoc]
--
APIs to work with reactive streams in Helidon.
--
//Security
[CARD]
.Security
[icon=security,link=security/introduction.adoc]
--
A tool-chain to handle authentication, authorization and context propagation.
--
//Tracing
[CARD]
.Tracing
[icon=timeline,link=tracing.adoc]
--
Profile and monitor your applications across multiple services.
--
//WebClient
[CARD]
.WebClient
[icon=http,link=webclient.adoc]
--
HTTP client that handles responses to the HTTP requests.
--

//WebServer
[CARD]
.WebServer
[icon=settings_ethernet,link=webserver.adoc]
--
A programmatic HTTP API that uses virtual threads to handle nearly unlimited concurrent requests without blocking a platform thread or starving other requests.
// Each request runs in its own dedicated thread, so it is free to perform blocking operations in a simple synchronous way without blocking a platform thread or starving other requests.

--
//WebSocket
[CARD]
.WebSocket
[icon=sync_alt,link=websocket.adoc]
--
Enables Java applications to participate in WebSocket interactions as both servers and clients.
--

====



== Upgrade

In case you need to upgrade the version of Helidon, follow the upgrade guides:

[PILLARS]
====
[CARD]
.Helidon SE 4x Upgrade Guide
[icon=upgrade,link=guides/upgrade_4x.adoc]
--
Follow this guide to migrate your application from Helidon 3.x to 4.x.
--

[CARD]
.Helidon SE 3x Upgrade Guide
[icon=upgrade,link=guides/upgrade_3x.adoc]
--
Follow this guide to migrate your application from Helidon 2.x to 3.x.
--
[CARD]
.Helidon SE 2.x Upgrade Guide
[icon=upgrade,link=guides/upgrade.adoc]
--
Follow this guide to migrate your application from Helidon 1.x to 2.x.
--




====


== Next Steps

Try the Helidon SE quickstart guides to get your
first Helidon SE application up and running in minutes.

[PILLARS]
====
[CARD]
.Guides
[icon=explore,link=guides/overview.adoc]
--
Follow step-by-step guides to build your applications using Helidon SE.

--

[CARD]
.Javadocs
// suppress inspection "AsciiDocLinkResolve"
[icon=library_books,link={javadoc-base-url}/index.html?overview-summary.html,link-type=url]
--
Browse the Helidon Javadocs.
--
====




© 2015 - 2025 Weber Informatics LLC | Privacy Policy