SlideShare a Scribd company logo
COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 1
Building Cloud-Native
Microservices with
project Helidon
Dmitry Kornilov / Tomas Langer
10 Sep 2019
2COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 2
Dmitry Kornilov
@m0mus
Helidon Project Lead
Tomas Langer
@langer_tomas
Helidon Architect
COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0)
AGENDA
3
What is Helidon?
Helidon SE and Helidon MP
Roadmap and Plans
Demo
4COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 4
Safe Harbor Statement
The following 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, timing, and pricing of any
features or functionality described for Oracle’s products may
change and remains at the sole discretion of Oracle Corporation.
5COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 5
Helidon (Χελιδόνι) = Swallow (Greek)
A set of Java libraries
for developing microservices
6COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 6
Project Helidon
● Open
● Innovative
● Support standards
● Supported active project
7COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 7
Open Source
● Hosted on GitHub
○ https://github.com/oracle/helidon
● Apache 2.0 License
8COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0)
● Open Source support
○ Web Site with guides and tutorials: https://helidon.io
○ Public Slack channel: https://helidon.slack.com
○ GitHub issues tracker:
https://github.com/oracle/helidon/issues
8
Supported Active Project
9COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 9
Landscape
10COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 10
Landscape
11COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 11
● Microframework
● Tiny Footprint
● Functional style
● Reactive
● Transparent
● MicroProfile 2.2
● Small Footprint
● Declarative style
● Dependency Injection
● CDI, JAX-RS, JSON-P/B
12COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 12
Routing routing = Routing.builder()
.get("/hello", (req, res) ->
res.send("Hello World"))
.build();
WebServer.create(routing)
.start();
@Path("hello")
public class HelloWorld {
@GET
public String hello() {
return "Hello World";
}
}
13COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 13
Helidon Architecture
Helidon MP
Helidon SE
Extensions
COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 14
Helidon SE
15COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 15
Helidon SE Components
Reactive Web
Server
Config
Security Tracing
Metrics
Health Check gRPC
MP
MP
MP
MP
MP
MP
Helidon DB Client
16COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 16
Reactive Web Server
● Simple functional routing model
with reactive Flow API
● Inspired by express.js
● Built on Netty
● OpenTracing, Metrics and Health
Checks
● Static content support
17COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 17
Config
● Flexible, typed config model
● Multiple data sources
● Layering
● Hierarchical model
● Dynamic updates
● Extensible
18COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 18
Security
● Authentication
● Authorization
● Outbound Security
● Auditing
● Extensible
19COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 19
● Building native executable for Helidon SE applications
○ Startup time is tens of milliseconds
○ Native executable size is smaller than application + JVM
● Supported profiles:
○ Local build (for the OS installed locally)
○ Docker build (for Linux)
20COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 20
Performance
Information source
21COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 21
TechEmpower JSON (reqs/sec)
0
50000
100000
150000
200000
250000
300000
350000
Java SE JVM
Helidon SE Micronaut DropWizard Spring
Higher is better
Data source
COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 22
Helidon MP
23COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 23
Content Slide 2
● Open source community specification for Enterprise Java
microservices
● Hosted at Eclipse Foundation
● Participants:
○ Oracle, IBM, Red Hat, Payara, Tomitribe, Microsoft and others
● 8 releases since 2016
● https://microprofile.io
24COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 24
Helidon MP Components
MP Config Metrics
Health
Check
Fault
Tolerance
JWT Auth
JAX-RS CDI JSON-P / B
Open API
Open
Tracing
REST Client
SE SE
SE
JPA
gRPC
JTA
SESE SE SE
SE
COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 25
Plans
26COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 26
Roadmap and Plans
Earlier in 2019 Q3 2019
✓ Helidon 1.0
✓ Graal VM support
✓ MicroProfile 2.2
✓ JPA and JTA
✓ gRPC support
• MicroProfile 3.0
• Hibernate Support
✓ UCP Support
Q4 2019+
• More GraalVM support
• HTTP Multipart
• HTTP/2
• Reactive HTTP Client
• Helidon DB Client
• Messaging / Kafka
COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 27
Demo
COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 28
Thank you!

More Related Content

Similar to Building cloud native microservices with project Helidon

Cloud Native Java Innovation at the Eclipse Foundation
Cloud Native Java Innovation at the Eclipse Foundation Cloud Native Java Innovation at the Eclipse Foundation
Cloud Native Java Innovation at the Eclipse Foundation
Thabang Mashologu
 
Eclipse Foundation Overview (April 2019)
Eclipse Foundation Overview (April 2019)Eclipse Foundation Overview (April 2019)
Eclipse Foundation Overview (April 2019)
Thabang Mashologu
 
2019.02 Eclipse Foundation and Eclipse IoT presentation at Eclipse IoT Day Gr...
2019.02 Eclipse Foundation and Eclipse IoT presentation at Eclipse IoT Day Gr...2019.02 Eclipse Foundation and Eclipse IoT presentation at Eclipse IoT Day Gr...
2019.02 Eclipse Foundation and Eclipse IoT presentation at Eclipse IoT Day Gr...
Gaël Blondelle
 
Akademy es 2021 the Eclipse Foundation introduction and Oniro project
Akademy es 2021 the Eclipse Foundation introduction and Oniro projectAkademy es 2021 the Eclipse Foundation introduction and Oniro project
Akademy es 2021 the Eclipse Foundation introduction and Oniro project
Agustin Benito Bethencourt
 
Jakarta EE 8: Overview of Features
Jakarta EE 8: Overview of FeaturesJakarta EE 8: Overview of Features
Jakarta EE 8: Overview of Features
Josh Juneau
 
Iot developer-survey-2019
Iot developer-survey-2019Iot developer-survey-2019
Iot developer-survey-2019
MichaelRodriguesdosS1
 
IoT Developer Survey 2019 Report
IoT Developer Survey 2019 ReportIoT Developer Survey 2019 Report
IoT Developer Survey 2019 Report
Eclipse IoT
 
2019 Jakarta EE Developer Survey Report
2019 Jakarta EE Developer Survey Report2019 Jakarta EE Developer Survey Report
2019 Jakarta EE Developer Survey Report
Thabang Mashologu
 
Jakarta for dummEEs | JakartaOne Livestream
Jakarta for dummEEs | JakartaOne LivestreamJakarta for dummEEs | JakartaOne Livestream
Jakarta for dummEEs | JakartaOne Livestream
Jakarta_EE
 
My Open Source journey | Community Day, EclipseCon Europe 2019
My Open Source journey | Community Day, EclipseCon Europe 2019My Open Source journey | Community Day, EclipseCon Europe 2019
My Open Source journey | Community Day, EclipseCon Europe 2019
Jakarta_EE
 
Cloud Native Java: Present and Future at Eclipse Foundation
Cloud Native Java: Present and Future at Eclipse FoundationCloud Native Java: Present and Future at Eclipse Foundation
Cloud Native Java: Present and Future at Eclipse Foundation
Jakarta_EE
 
Open Source is eating the world...
Open Source is eating the world...Open Source is eating the world...
Open Source is eating the world...
Philippe Krief
 
SFScon22 - Agustín Benito Bethencourt - Open Source is not enough.pdf
SFScon22 - Agustín Benito Bethencourt - Open Source is not enough.pdfSFScon22 - Agustín Benito Bethencourt - Open Source is not enough.pdf
SFScon22 - Agustín Benito Bethencourt - Open Source is not enough.pdf
South Tyrol Free Software Conference
 
Using Eclipse technologies to develop the BRAIN-IoT model-based framework for...
Using Eclipse technologies to develop the BRAIN-IoT model-based framework for...Using Eclipse technologies to develop the BRAIN-IoT model-based framework for...
Using Eclipse technologies to develop the BRAIN-IoT model-based framework for...
Brain IoT Project
 
Why robotics needs open source communities
Why robotics needs open source communitiesWhy robotics needs open source communities
Why robotics needs open source communities
Philippe Krief
 
Why the embedded world needs open source communities
Why the embedded world needs open source communitiesWhy the embedded world needs open source communities
Why the embedded world needs open source communities
Philippe Krief
 
Jakarta EE 9 Milestone Release Party - Overview
Jakarta EE 9 Milestone Release Party - OverviewJakarta EE 9 Milestone Release Party - Overview
Jakarta EE 9 Milestone Release Party - Overview
Jakarta_EE
 
"Open Source as a enabler for industry collaborations and innovation!" by Gaë...
"Open Source as a enabler for industry collaborations and innovation!" by Gaë..."Open Source as a enabler for industry collaborations and innovation!" by Gaë...
"Open Source as a enabler for industry collaborations and innovation!" by Gaë...
Mindtrek
 
Eclipse Transformer
Eclipse TransformerEclipse Transformer
Eclipse Transformer
Jakarta_EE
 
SFSCON23 - Sara Gallian - The First Year of Eclipse Software Defined Vehicle ...
SFSCON23 - Sara Gallian - The First Year of Eclipse Software Defined Vehicle ...SFSCON23 - Sara Gallian - The First Year of Eclipse Software Defined Vehicle ...
SFSCON23 - Sara Gallian - The First Year of Eclipse Software Defined Vehicle ...
South Tyrol Free Software Conference
 

Similar to Building cloud native microservices with project Helidon (20)

Cloud Native Java Innovation at the Eclipse Foundation
Cloud Native Java Innovation at the Eclipse Foundation Cloud Native Java Innovation at the Eclipse Foundation
Cloud Native Java Innovation at the Eclipse Foundation
 
Eclipse Foundation Overview (April 2019)
Eclipse Foundation Overview (April 2019)Eclipse Foundation Overview (April 2019)
Eclipse Foundation Overview (April 2019)
 
2019.02 Eclipse Foundation and Eclipse IoT presentation at Eclipse IoT Day Gr...
2019.02 Eclipse Foundation and Eclipse IoT presentation at Eclipse IoT Day Gr...2019.02 Eclipse Foundation and Eclipse IoT presentation at Eclipse IoT Day Gr...
2019.02 Eclipse Foundation and Eclipse IoT presentation at Eclipse IoT Day Gr...
 
Akademy es 2021 the Eclipse Foundation introduction and Oniro project
Akademy es 2021 the Eclipse Foundation introduction and Oniro projectAkademy es 2021 the Eclipse Foundation introduction and Oniro project
Akademy es 2021 the Eclipse Foundation introduction and Oniro project
 
Jakarta EE 8: Overview of Features
Jakarta EE 8: Overview of FeaturesJakarta EE 8: Overview of Features
Jakarta EE 8: Overview of Features
 
Iot developer-survey-2019
Iot developer-survey-2019Iot developer-survey-2019
Iot developer-survey-2019
 
IoT Developer Survey 2019 Report
IoT Developer Survey 2019 ReportIoT Developer Survey 2019 Report
IoT Developer Survey 2019 Report
 
2019 Jakarta EE Developer Survey Report
2019 Jakarta EE Developer Survey Report2019 Jakarta EE Developer Survey Report
2019 Jakarta EE Developer Survey Report
 
Jakarta for dummEEs | JakartaOne Livestream
Jakarta for dummEEs | JakartaOne LivestreamJakarta for dummEEs | JakartaOne Livestream
Jakarta for dummEEs | JakartaOne Livestream
 
My Open Source journey | Community Day, EclipseCon Europe 2019
My Open Source journey | Community Day, EclipseCon Europe 2019My Open Source journey | Community Day, EclipseCon Europe 2019
My Open Source journey | Community Day, EclipseCon Europe 2019
 
Cloud Native Java: Present and Future at Eclipse Foundation
Cloud Native Java: Present and Future at Eclipse FoundationCloud Native Java: Present and Future at Eclipse Foundation
Cloud Native Java: Present and Future at Eclipse Foundation
 
Open Source is eating the world...
Open Source is eating the world...Open Source is eating the world...
Open Source is eating the world...
 
SFScon22 - Agustín Benito Bethencourt - Open Source is not enough.pdf
SFScon22 - Agustín Benito Bethencourt - Open Source is not enough.pdfSFScon22 - Agustín Benito Bethencourt - Open Source is not enough.pdf
SFScon22 - Agustín Benito Bethencourt - Open Source is not enough.pdf
 
Using Eclipse technologies to develop the BRAIN-IoT model-based framework for...
Using Eclipse technologies to develop the BRAIN-IoT model-based framework for...Using Eclipse technologies to develop the BRAIN-IoT model-based framework for...
Using Eclipse technologies to develop the BRAIN-IoT model-based framework for...
 
Why robotics needs open source communities
Why robotics needs open source communitiesWhy robotics needs open source communities
Why robotics needs open source communities
 
Why the embedded world needs open source communities
Why the embedded world needs open source communitiesWhy the embedded world needs open source communities
Why the embedded world needs open source communities
 
Jakarta EE 9 Milestone Release Party - Overview
Jakarta EE 9 Milestone Release Party - OverviewJakarta EE 9 Milestone Release Party - Overview
Jakarta EE 9 Milestone Release Party - Overview
 
"Open Source as a enabler for industry collaborations and innovation!" by Gaë...
"Open Source as a enabler for industry collaborations and innovation!" by Gaë..."Open Source as a enabler for industry collaborations and innovation!" by Gaë...
"Open Source as a enabler for industry collaborations and innovation!" by Gaë...
 
Eclipse Transformer
Eclipse TransformerEclipse Transformer
Eclipse Transformer
 
SFSCON23 - Sara Gallian - The First Year of Eclipse Software Defined Vehicle ...
SFSCON23 - Sara Gallian - The First Year of Eclipse Software Defined Vehicle ...SFSCON23 - Sara Gallian - The First Year of Eclipse Software Defined Vehicle ...
SFSCON23 - Sara Gallian - The First Year of Eclipse Software Defined Vehicle ...
 

More from Dmitry Kornilov

Helidon Nima - Loom based microserfice framework.pptx
Helidon Nima - Loom based microserfice framework.pptxHelidon Nima - Loom based microserfice framework.pptx
Helidon Nima - Loom based microserfice framework.pptx
Dmitry Kornilov
 
Jakarta EE: Today and Tomorrow
Jakarta EE: Today and TomorrowJakarta EE: Today and Tomorrow
Jakarta EE: Today and Tomorrow
Dmitry Kornilov
 
Building Cloud-Native Applications with Helidon
Building Cloud-Native Applications with HelidonBuilding Cloud-Native Applications with Helidon
Building Cloud-Native Applications with Helidon
Dmitry Kornilov
 
Developing cloud-native microservices using project Helidon
Developing cloud-native microservices using project HelidonDeveloping cloud-native microservices using project Helidon
Developing cloud-native microservices using project Helidon
Dmitry Kornilov
 
Helidon: Java Libraries for Writing Microservices
Helidon: Java Libraries for Writing MicroservicesHelidon: Java Libraries for Writing Microservices
Helidon: Java Libraries for Writing Microservices
Dmitry Kornilov
 
Introduction to Yasson
Introduction to YassonIntroduction to Yasson
Introduction to Yasson
Dmitry Kornilov
 
JSON Support in Java EE 8
JSON Support in Java EE 8JSON Support in Java EE 8
JSON Support in Java EE 8
Dmitry Kornilov
 
Adopt-a-JSR session (JSON-B/P)
Adopt-a-JSR session (JSON-B/P)Adopt-a-JSR session (JSON-B/P)
Adopt-a-JSR session (JSON-B/P)
Dmitry Kornilov
 
Configuration for Java EE: Config JSR and Tamaya
Configuration for Java EE: Config JSR and TamayaConfiguration for Java EE: Config JSR and Tamaya
Configuration for Java EE: Config JSR and Tamaya
Dmitry Kornilov
 
JSON Support in Java EE 8
JSON Support in Java EE 8JSON Support in Java EE 8
JSON Support in Java EE 8
Dmitry Kornilov
 
Java EE for the Cloud
Java EE for the CloudJava EE for the Cloud
Java EE for the Cloud
Dmitry Kornilov
 
Configuration for Java EE and the Cloud
Configuration for Java EE and the CloudConfiguration for Java EE and the Cloud
Configuration for Java EE and the Cloud
Dmitry Kornilov
 
What's new in the Java API for JSON Binding
What's new in the Java API for JSON BindingWhat's new in the Java API for JSON Binding
What's new in the Java API for JSON Binding
Dmitry Kornilov
 
JSON-B for CZJUG
JSON-B for CZJUGJSON-B for CZJUG
JSON-B for CZJUG
Dmitry Kornilov
 
JSONB introduction and comparison with other frameworks
JSONB introduction and comparison with other frameworksJSONB introduction and comparison with other frameworks
JSONB introduction and comparison with other frameworks
Dmitry Kornilov
 
What’s new in JSR 367 Java API for JSON Binding
What’s new in JSR 367 Java API for JSON BindingWhat’s new in JSR 367 Java API for JSON Binding
What’s new in JSR 367 Java API for JSON Binding
Dmitry Kornilov
 

More from Dmitry Kornilov (16)

Helidon Nima - Loom based microserfice framework.pptx
Helidon Nima - Loom based microserfice framework.pptxHelidon Nima - Loom based microserfice framework.pptx
Helidon Nima - Loom based microserfice framework.pptx
 
Jakarta EE: Today and Tomorrow
Jakarta EE: Today and TomorrowJakarta EE: Today and Tomorrow
Jakarta EE: Today and Tomorrow
 
Building Cloud-Native Applications with Helidon
Building Cloud-Native Applications with HelidonBuilding Cloud-Native Applications with Helidon
Building Cloud-Native Applications with Helidon
 
Developing cloud-native microservices using project Helidon
Developing cloud-native microservices using project HelidonDeveloping cloud-native microservices using project Helidon
Developing cloud-native microservices using project Helidon
 
Helidon: Java Libraries for Writing Microservices
Helidon: Java Libraries for Writing MicroservicesHelidon: Java Libraries for Writing Microservices
Helidon: Java Libraries for Writing Microservices
 
Introduction to Yasson
Introduction to YassonIntroduction to Yasson
Introduction to Yasson
 
JSON Support in Java EE 8
JSON Support in Java EE 8JSON Support in Java EE 8
JSON Support in Java EE 8
 
Adopt-a-JSR session (JSON-B/P)
Adopt-a-JSR session (JSON-B/P)Adopt-a-JSR session (JSON-B/P)
Adopt-a-JSR session (JSON-B/P)
 
Configuration for Java EE: Config JSR and Tamaya
Configuration for Java EE: Config JSR and TamayaConfiguration for Java EE: Config JSR and Tamaya
Configuration for Java EE: Config JSR and Tamaya
 
JSON Support in Java EE 8
JSON Support in Java EE 8JSON Support in Java EE 8
JSON Support in Java EE 8
 
Java EE for the Cloud
Java EE for the CloudJava EE for the Cloud
Java EE for the Cloud
 
Configuration for Java EE and the Cloud
Configuration for Java EE and the CloudConfiguration for Java EE and the Cloud
Configuration for Java EE and the Cloud
 
What's new in the Java API for JSON Binding
What's new in the Java API for JSON BindingWhat's new in the Java API for JSON Binding
What's new in the Java API for JSON Binding
 
JSON-B for CZJUG
JSON-B for CZJUGJSON-B for CZJUG
JSON-B for CZJUG
 
JSONB introduction and comparison with other frameworks
JSONB introduction and comparison with other frameworksJSONB introduction and comparison with other frameworks
JSONB introduction and comparison with other frameworks
 
What’s new in JSR 367 Java API for JSON Binding
What’s new in JSR 367 Java API for JSON BindingWhat’s new in JSR 367 Java API for JSON Binding
What’s new in JSR 367 Java API for JSON Binding
 

Recently uploaded

Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
Daiki Mogmet Ito
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
Neo4j
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
Claudio Di Ciccio
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
Neo4j
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Zilliz
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
Edge AI and Vision Alliance
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 

Recently uploaded (20)

Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 

Building cloud native microservices with project Helidon

  • 1. COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 1 Building Cloud-Native Microservices with project Helidon Dmitry Kornilov / Tomas Langer 10 Sep 2019
  • 2. 2COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 2 Dmitry Kornilov @m0mus Helidon Project Lead Tomas Langer @langer_tomas Helidon Architect
  • 3. COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) AGENDA 3 What is Helidon? Helidon SE and Helidon MP Roadmap and Plans Demo
  • 4. 4COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 4 Safe Harbor Statement The following 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, timing, and pricing of any features or functionality described for Oracle’s products may change and remains at the sole discretion of Oracle Corporation.
  • 5. 5COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 5 Helidon (Χελιδόνι) = Swallow (Greek) A set of Java libraries for developing microservices
  • 6. 6COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 6 Project Helidon ● Open ● Innovative ● Support standards ● Supported active project
  • 7. 7COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 7 Open Source ● Hosted on GitHub ○ https://github.com/oracle/helidon ● Apache 2.0 License
  • 8. 8COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) ● Open Source support ○ Web Site with guides and tutorials: https://helidon.io ○ Public Slack channel: https://helidon.slack.com ○ GitHub issues tracker: https://github.com/oracle/helidon/issues 8 Supported Active Project
  • 9. 9COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 9 Landscape
  • 10. 10COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 10 Landscape
  • 11. 11COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 11 ● Microframework ● Tiny Footprint ● Functional style ● Reactive ● Transparent ● MicroProfile 2.2 ● Small Footprint ● Declarative style ● Dependency Injection ● CDI, JAX-RS, JSON-P/B
  • 12. 12COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 12 Routing routing = Routing.builder() .get("/hello", (req, res) -> res.send("Hello World")) .build(); WebServer.create(routing) .start(); @Path("hello") public class HelloWorld { @GET public String hello() { return "Hello World"; } }
  • 13. 13COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 13 Helidon Architecture Helidon MP Helidon SE Extensions
  • 14. COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 14 Helidon SE
  • 15. 15COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 15 Helidon SE Components Reactive Web Server Config Security Tracing Metrics Health Check gRPC MP MP MP MP MP MP Helidon DB Client
  • 16. 16COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 16 Reactive Web Server ● Simple functional routing model with reactive Flow API ● Inspired by express.js ● Built on Netty ● OpenTracing, Metrics and Health Checks ● Static content support
  • 17. 17COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 17 Config ● Flexible, typed config model ● Multiple data sources ● Layering ● Hierarchical model ● Dynamic updates ● Extensible
  • 18. 18COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 18 Security ● Authentication ● Authorization ● Outbound Security ● Auditing ● Extensible
  • 19. 19COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 19 ● Building native executable for Helidon SE applications ○ Startup time is tens of milliseconds ○ Native executable size is smaller than application + JVM ● Supported profiles: ○ Local build (for the OS installed locally) ○ Docker build (for Linux)
  • 20. 20COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 20 Performance Information source
  • 21. 21COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 21 TechEmpower JSON (reqs/sec) 0 50000 100000 150000 200000 250000 300000 350000 Java SE JVM Helidon SE Micronaut DropWizard Spring Higher is better Data source
  • 22. COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 22 Helidon MP
  • 23. 23COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 23 Content Slide 2 ● Open source community specification for Enterprise Java microservices ● Hosted at Eclipse Foundation ● Participants: ○ Oracle, IBM, Red Hat, Payara, Tomitribe, Microsoft and others ● 8 releases since 2016 ● https://microprofile.io
  • 24. 24COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 24 Helidon MP Components MP Config Metrics Health Check Fault Tolerance JWT Auth JAX-RS CDI JSON-P / B Open API Open Tracing REST Client SE SE SE JPA gRPC JTA SESE SE SE SE
  • 25. COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 25 Plans
  • 26. 26COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 26 Roadmap and Plans Earlier in 2019 Q3 2019 ✓ Helidon 1.0 ✓ Graal VM support ✓ MicroProfile 2.2 ✓ JPA and JTA ✓ gRPC support • MicroProfile 3.0 • Hibernate Support ✓ UCP Support Q4 2019+ • More GraalVM support • HTTP Multipart • HTTP/2 • Reactive HTTP Client • Helidon DB Client • Messaging / Kafka
  • 27. COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 27 Demo
  • 28. COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 28 Thank you!