Presentation is loading. Please wait.

Presentation is loading. Please wait.

Project Helidon Introduction

Similar presentations


Presentation on theme: "Project Helidon Introduction"— Presentation transcript:

1 Project Helidon Introduction
Confidential – Oracle Internal/Restricted/Highly Restricted Project Helidon Introduction Java Libraries for Microservices 5This is a Title Slide without Graphic slide ideal for including a picture with a brief title, subtitle and presenter information. Do not customize this slide with your own background. Joe Di Pol Romain Grécourt Oracle Oct 24, 2018

2 Safe Harbor Statement The preceding is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle.

3 Agenda 1 Helidon Overview Demo 2

4 A set of Java libraries for developing microservices.

5 Microframework Functional style Reactive Transparent MicroProfile Declarative style CDI, JAX-RS, JSON-P Familiar to Java EE devs

6 Java Microservice Frameworks
Larger Full-Stack Spring Boot Dropwizard What Java Frameworks are out there for writing microservices? They fall into a few categories: Microframeworks Simple, fun, intentionally small feature set Spark, Javalin, Micronaut, etc MicroProfile Friendly to Java EE developers. A bit heavier (CDI) Thorntail (was Wildfly Swarm), OpenLiberty, Payara Full Featured Fuller feature set, more to learn Spring Boot And some float in between: DropWizard Helidon is a MicroProfile implementation on top of Helidon Core – a microframework. So you get your choice of programing models: Helidon Core: simple, functional, lightweight. For those that want a microframework. MicroProfile; JAX-RS, CDI, plus more. Familiar to Java EE developers MicroProfile Based Open Liberty Microframeworks Smaller

7 Helidon Architecture Helidon SE Helidon MP Netty Simple Transparent
No classloading tricks No packaging tricks Just a Java SE application CDI JAX-RS JSON-P WebServer Config Security Netty

8 What is Eclipse MicroProfile?
Proposed in 2016 as a microservices profile for Java EE Initiated by RedHat, IBM, Tomitribe and Payara Defines a profile for microservices Key Java EE APIs + new MicroProfile APIs Implemented by multiple vendors Currently at 2.1: JAX-RS, CDI, JSON-P, JSON-B MP Config, Metrics, Health Check, Fault Tolerance, JWT Auth Open API, OpenTracing, RestClient 1.x: JAX-RS 2.0, CDI 1.2, JSON-P 1.0 1.4: Config 1.3, Fault tolerance 1.1, Health Check 1.0, Metrics 1.1, JWT Auth 1.1, OpenAPI 1.0, OpenTracing 1.1, Rest Client 1.1 1.3: Config 1.2, Fault tolerance 1.0, Health Check 1.0, Metrics 1.1, JWT Auth 1.0, OpenAPI 1.0, OpenTracing 1.0, Rest Client 1.0 1.2: Config 1.1, Fault tolerance 1.0, Health Check 1.0, Metrics 1.0, JWT Auth 1.0 2.x: CDI 2.0, JAX-RS 2.1, JSON-B 1.0, JSON-P 1.1, Common Annotations 1.3 2.0: Config 1.3, Fault tolerance 1.1, Health Check 1.0, Metrics 1.1, JWT Auth 1.1, OpenAPI 1.0, OpenTracing 1.1, Rest Client 1.1 2.1: Config 1.3, Fault tolerance 1.1, Health Check 1.0, Metrics 1.1, JWT Auth 1.1, OpenAPI 1.0, OpenTracing 1.2, Rest Client 1.1 Helidon: CDI 2.0, JAX-RS 2.1, JSON-P 1.1.2 0.10.2: Config 1.2.1, Fault tolerance 1.0, Health Check 1.0, Metrics 1.1, JWT Auth 1.1, OpenAPI 1.0, OpenTracing 1.1, Rest Client 1.1

9 What is Helidon SE? Reactive WebServer
Functional routing model with reactive Flow API Built on Netty OpenTracing and Metrics JAX-RS, JSON-P support Static content support Config Flexible, typed config model Multiple data sources Hierarchical model Dynamic updates Extensible Security Authentication Authorization Outbound Security Auditing Extensible Built-in Providers OIDC JWT Google Login

10 Hello Worlds Helidon SE Helidon MP
import io.helidon.webserver.Routing; import io.helidon.webserver.WebServer; public static void main(String[] args) { WebServer.create( Routing.builder() .get(“/greet”, (req, res) -> res.send("Hello World!")) .build().start(); } import javax.ws.rs.ApplicationPath; import javax.ws.rs.core.Application; public class GreetService { @GET @Path(“/greet”) public String getMsg() { return "Hello World!"; }

11 Helidon CDI Extensions
CDI extensions to ease integration with cloud services DataSource Redis Oracle Cloud Object Store Tech Preview For details see talk DEV5422

12 Status 0.10.4 Backlog Helidon MP: Microprofile ~1.2 Helidon SE
Less JWT plus CDI 2.0, JAX-RS 2.1, JSON-P 1.1, JSON-B 1.0 Helidon SE WebServer, Config, Security JSON-P Metrics OpenTracing HTTP/2 (experimental) CDI Extensions MicroProfile 2.x Reactive HTTP Client GraalVM integration Project Starter UI Reactive storage (NoSQL, ADBC) Open API Eventing

13 Open Source Project @helidon_project

14 Sessions Day Time Room Session Title Tue 4:00pm Lounge A THT6770
Meet the Experts Area at the Developer Exchange: Helidon Wed 12:30pm 2011 DEV5539 Helidon: Java Libraries for Writing Microservices 2016 DEV5432 Writing Kubernetes controllers using Java SE and CDI 2.0 Thu 11:00am DEV5422 Helidon Extensions: CDI Extensions for the Cloud 12:00pm 2003 DEV5371 Helidon Deep Dive: An Up-close Look at the Helidon Java APIs for Microservices 2:00pm 2006 DEV5580 GraalVM Vision and Roadmap

15 Demo Quickstarts Server config and startup Basic Routing
Basic JSON handling

16 Copyright © 2018 Oracle. All rights reserved.
Q & A Copyright © 2018 Oracle. All rights reserved.


Download ppt "Project Helidon Introduction"

Similar presentations


Ads by Google