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

    Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved.

    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
:description: about Helidon
:keywords: helidon, java, microservices, microprofile

== Introduction

Helidon is a collection of Java libraries for writing microservices.
There is no unique tooling or deployment model. Your microservice is
just a Java SE application.

The foundation of Helidon is composed of three components:

[PILLARS]
====

[CARD]
.WebServer
[icon=settings_ethernet]
--
A programmatic HTTP API with reactive features, powered by Netty.
--

[CARD]
.Config
[icon=settings]
--
A flexible configuration framework with support for multiple sources and formats.
--

[CARD]
.Security
[icon=security]
--
A tool-chain to handle authentication, authorization and context propagation.
--
====

== MicroProfile

On top of this foundation Helidon supports the MicroProfile family of APIs,
 including JAX-RS and CDI. This means you can choose from one of two
 programming models:

 * Helidon SE: a functional programming style that uses the Helidon WebServer,
               Config and Security APIs directly. This gives you full
               transparency and control.
 * Helidon MP: a more declarative model that supports the https://microprofile.io[MicroProfile]
               family of APIs. This will be familiar to Java EE developers.

Our <<getting-started/02_base-example.adoc,Quickstart Examples>> gets
you started using either of these programming models.

=== Docker and Kubernetes support

The <<getting-started/02_base-example.adoc,Helidon Quickstart Examples>> contain
support for Docker and Kubernetes. Just follow the examples and you'll have
a simple service up and running in minutes.
