SlideShare une entreprise Scribd logo
1  sur  34
Télécharger pour lire hors ligne
[7th] Oracle Developer Meetup
또 뵙게 되어서 반갑습니다.
기술 블로그
http://www.oracloud.kr
Workshops
http://github.com/learning-library
4
페이스북 Group
“오라클 클라우드 사용자 그룹"
Eclipse MicroProfile and
Microframework - Helidon
황주필, @jupil.hwang / @namoo4u
Solution Engineer, InfraCloud Team, Oracle Cloud Platform
• BEA Systems
• Oracle
• Middleware
• InfraCloud
• Open Source, Cloud Native Application
• DevRel
• Linux, Container / Docker, Kubernetes
• Blockchain, AI/ML
• Lifelong learner
jupil.hwang@gmail.com
Agenda
• Java는 어디로 가고 있나?
• Eclipse MicroProfile
• Helidon
Java
• Java Card
• Java ME (Micro Edition)
• Java SE (Standard Edition)
• Java EE (Enterprise Edition)
• Java FX (?)
Is Java 11 Paid ??
• Starting with Java SE 11, Oracle provides their (OpenJDK based) JDK via
• Oracle OpenJDK builds — Under the existing Open Source GPLv2+CE license
• Oracle JDK — Under a paid commercial license (but free for development use), for
those who do not wish to use the GPLv2+CE, or who are using an Oracle JDK with an
Oracle product or service. (Oracle JDK 8 until at least 2025 and Oracle JDK 11 until at
least 2026)
• Java 11 이후 Oracle JDK = OpenJDK (https://jdk.java.net/11/)
• Java Flight Recorder
• Java Mission Control
• Application Class-Data Sharing
• ZGC
https://www.oracle.com/technetwork/java/javase/terms/license/index.html
Java EE (Java Platform, Enterprise Edition)
J2EE 1.2 (December 12, 1999)
J2EE 1.3 (September 24, 2001)
J2EE 1.4 (November 11, 2003)
Java EE 5 (May 11, 2006)
Java EE 6 (December 10, 2009)
Java EE 7 (June 12, 2013)
Java EE 8 (August 31, 2017[5])
Jakarta EE
September 12, 2017, Oracle Corporation announced that it would submit Java EE to the Eclipse
Foundation
February 26, 2018, it was announced that the new name of Java EE will be Jakarta EE.
Jakarta EE, EE4J(Eclipse Enterprise for Java)
• 예전에 Java 2 Platforms, Enterprise Edition (J2EE)
• 지금은 Jakarta EE
Jakarta EE, EE4J Project Bootstrapping
https://www.eclipse.org/ee4j/status.php
https://Jakarta.ee
Release
Infra
App
Annual Quarterly/Monthly Weekly/Daily/Hourly
Few servers VM’S
Delivery
Simple deployment
model. .
Waterfall DevOps ?
Containers
.Net
Java
Single app Microservices
AB
C
Multi tier
2xDB APP
2008+ 2016+2000
Modern Development in Context
The History Over the Last 15 Years is All About Increasing Speed and Agility
14
출처 : CNCF
Microservices, Clouds, Serverless
MicroProfile
Optimizing Enterprise Java for a Microservices Architecture
An open forum to optimize Enterprise Java for a microservices architecture by innovating across multiple implementations
and collaborating on common areas of interest with a goal of standardization.
• Small startup times
• Smaller binary size
• Reduced consumption of memory
• Enabling client-side load balancing
• Supporting a reactive programming model (asynchronous receivers, messaging-centered calls, etc.)
• Supporting circuit breakers mechanisms.
• June 27, 2016: Red Hat, IBM, Tomitribe, Payara and the London Java Community announced MicroProfile at
DevNation.
• September 19, 2016: MicroProfile 1.0 was released at JavaOne 2016 with 5 implementations (and a 6th planned). The
SouJava community joined to support the effort and Hammock was added as a implementation.
• December 14, 2016: The Eclipse Foundation Board approved the MicroProfile proposal, meaning that Eclipse
MicroProfile is now an Eclipse incubator project.
MicroProfile 1.0 (Sep, 2016)
MicroProfile 1.0
JAX-RS 2.0JSON-P 1.0CDI 1.2
Eclipse MicroProfile
• MP 1.0 – Sep, 2016
• EMP 1.1 – Jul, 2017
• EMP 1.2 – Oct, 2017
• EMP 1.3 – Jan, 2018
• EMP 1.4 / 2.0 – Aug, 2018
• EMP 2.1 – Oct, 2018
MicroProfile 2.0
JAX-RS 2.1JSON-P 1.1CDI 2.0
Config 1.3
Fault
Tolerance
1.1
JWT
Propagation
1.1
Health
Check 1.0
Metrics 1.1
Open Tracing
1.1
Open API 1.0
= Updated
= No change from last release (MicroProfile 1.4)
= New
Rest Client
1.1
JSON-B 1.0
Retry, Circuit breaker Monitoring
Configuration
RESTful API
i.e Zipkin, Jaeger
i.e k8s service controller
RESTful Security
rebased on Java EE 8
MicroProfile implementations
Quick Start – MicroProfile
mvn archetype:generate -DarchetypeGroupId=de.rieckpil.archetypes -
DarchetypeArtifactId=javaee8 -DarchetypeVersion=1.0.1 -
DgroupId=orcl -DartifactId=meetup1013 -DinteractiveMode=false
java –jar payara-micro.jar –deploy target/meetup1013.war
Quick Start – MicroProfile
mvn archetype:generate -DarchetypeGroupId=com.airhacks -
DarchetypeArtifactId=microprofile-essentials-archetype -
DarchetypeVersion=0.0.2 -DgroupId=com.airhacks -DartifactId=demo -
Dversion=0.0.1 -Darchetype.interactive=false --batch-mode
java –jar payara-micro.jar –deploy target/demo.war
Quick Start – MicroProfile
# git clone https://github.com/payara/Payara-Examples.git
cd Payara-Examples/demo-applications/5.183-MicroProfile
mvn clean package
Java –jar target/payara-webinar-microbundle.jar
https://helidon.io
Helidon
• A set of Java libraries for developing microservices
• Your service is just a Java SE application
• Implements Eclipse MicroProfile (Helidon MP)
• Two programming models
• Helidon MP: declarative style, familiar to Java EE developers (JAX-RS, CDI, etc)
• Helidon SE: small, functional style, transparent, no magic
• Built-in integrations to facilitate using Oracle Cloud Services
• Open source: https://github.com/oracle/helidon
aka J4C (Java for Cloud)
Java Microservice Frameworks
27
Simple, Smaller
Larger
Spring Boot
Microframeworks
MicroProfile Based
Open Liberty
Full-Stack
Dropwizard
https://walkingtree.tech/spring-boot-vs-micronaut-the-battle-unleashed/
Helidon
29
Helidon SE
RxServer (Netty)
Helidon MP
JAX-RS
WebServerConfig Security
CDI JSON-P/B
Oracle Cloud
Integrations
Reactive WebServer
• Simple 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
• SPI
30
Security
• Authentication
• Roles and Authorization
• HTTP Signatures
• IDCS integration
What is Helidon SE?
Working on GraalVM Support
GraalVM Native-Image support
https://medium.com/graalvm/instant-netty-startup-using-graalvm-native-image-generation-ed6f14ff7692
Building the application with the native-image tool produces a native executable that is less than 9 MB in size; has a
significantly improved startup time: the server is ready to accept requests in a matter of milliseconds; and has a much
lower memory footprint: it uses about 7 times less memory.
spring-projects/spring-Fu Project 도 지원 예정
Quick Start – Helidon MP
$ mvn archetype:generate -DinteractiveMode=false 
-DarchetypeGroupId=io.helidon.archetypes 
-DarchetypeArtifactId=helidon-quickstart-mp 
-DarchetypeVersion=0.10.1 
-DgroupId=io.helidon.examples 
-DartifactId=quickstart-mp 
-Dpackage=io.helidon.examples.quickstart.mp
$ cd quickstart-mp
$ mvn package
$ docker build -t quickstart-mp target
$ docker run — rm -p 8080:8080 quickstart-mp:latest
Quick Start – Helidon SE
$ mvn archetype:generate -DinteractiveMode=false 
-DarchetypeGroupId=io.helidon.archetypes 
-DarchetypeArtifactId=helidon-quickstart-se 
-DarchetypeVersion=0.10.1 
-DgroupId=io.helidon.examples 
-DartifactId=quickstart-se 
-Dpackage=io.helidon.examples.quickstart.se
$ cd quickstart-se
$ mvn package
$ docker build -t quickstart-se target
$ docker run — rm -p 8080:8080 quickstart-mp:latest
Q&A

Contenu connexe

Tendances

CON6492 - Oracle Database Public Cloud Services v1 1
CON6492 - Oracle Database Public Cloud Services v1 1CON6492 - Oracle Database Public Cloud Services v1 1
CON6492 - Oracle Database Public Cloud Services v1 1
David van Schalkwyk
 
Oracle ExaLogic Overview
Oracle ExaLogic OverviewOracle ExaLogic Overview
Oracle ExaLogic Overview
Peter Doolan
 
Tecnologias Oracle em Docker Containers On-premise e na Nuvem
Tecnologias Oracle em Docker Containers On-premise e na NuvemTecnologias Oracle em Docker Containers On-premise e na Nuvem
Tecnologias Oracle em Docker Containers On-premise e na Nuvem
Bruno Borges
 

Tendances (20)

How Capgemini Built a Pan-European Tax Messaging System Using Oracle Fusion M...
How Capgemini Built a Pan-European Tax Messaging System Using Oracle Fusion M...How Capgemini Built a Pan-European Tax Messaging System Using Oracle Fusion M...
How Capgemini Built a Pan-European Tax Messaging System Using Oracle Fusion M...
 
Solaris 11.2 What's New
Solaris 11.2 What's NewSolaris 11.2 What's New
Solaris 11.2 What's New
 
CON6492 - Oracle Database Public Cloud Services v1 1
CON6492 - Oracle Database Public Cloud Services v1 1CON6492 - Oracle Database Public Cloud Services v1 1
CON6492 - Oracle Database Public Cloud Services v1 1
 
Oracle super cluster for oracle e business suite
Oracle super cluster for oracle e business suiteOracle super cluster for oracle e business suite
Oracle super cluster for oracle e business suite
 
Oracle’s Advanced Analytics & Machine Learning 12.2c New Features & Road Map;...
Oracle’s Advanced Analytics & Machine Learning 12.2c New Features & Road Map;...Oracle’s Advanced Analytics & Machine Learning 12.2c New Features & Road Map;...
Oracle’s Advanced Analytics & Machine Learning 12.2c New Features & Road Map;...
 
Database as a Service - Tutorial @ICDE 2010
Database as a Service - Tutorial @ICDE 2010Database as a Service - Tutorial @ICDE 2010
Database as a Service - Tutorial @ICDE 2010
 
Developer day v2
Developer day v2Developer day v2
Developer day v2
 
Bridging Oracle Database and Hadoop by Alex Gorbachev, Pythian from Oracle Op...
Bridging Oracle Database and Hadoop by Alex Gorbachev, Pythian from Oracle Op...Bridging Oracle Database and Hadoop by Alex Gorbachev, Pythian from Oracle Op...
Bridging Oracle Database and Hadoop by Alex Gorbachev, Pythian from Oracle Op...
 
Oracle OpenWorld - A quick take on all 22 press releases of Day #1 - #3
Oracle OpenWorld - A quick take on all 22 press releases of Day #1 - #3Oracle OpenWorld - A quick take on all 22 press releases of Day #1 - #3
Oracle OpenWorld - A quick take on all 22 press releases of Day #1 - #3
 
Using MySQL in the Cloud
Using MySQL in the CloudUsing MySQL in the Cloud
Using MySQL in the Cloud
 
Oracle Solaris Simple, Flexible, Fast: Virtualization in 11.3
Oracle Solaris Simple, Flexible, Fast: Virtualization in 11.3Oracle Solaris Simple, Flexible, Fast: Virtualization in 11.3
Oracle Solaris Simple, Flexible, Fast: Virtualization in 11.3
 
Building Scalable Applications using Pivotal Gemfire/Apache Geode
Building Scalable Applications using Pivotal Gemfire/Apache GeodeBuilding Scalable Applications using Pivotal Gemfire/Apache Geode
Building Scalable Applications using Pivotal Gemfire/Apache Geode
 
Oracle ExaLogic Overview
Oracle ExaLogic OverviewOracle ExaLogic Overview
Oracle ExaLogic Overview
 
Oracle Database – Mission Critical
Oracle Database – Mission CriticalOracle Database – Mission Critical
Oracle Database – Mission Critical
 
Oracle virtualbox basic to rac attack
Oracle virtualbox basic to rac attackOracle virtualbox basic to rac attack
Oracle virtualbox basic to rac attack
 
MySQL 8 High Availability with InnoDB Clusters
MySQL 8 High Availability with InnoDB ClustersMySQL 8 High Availability with InnoDB Clusters
MySQL 8 High Availability with InnoDB Clusters
 
MySQL & Oracle Linux Keynote at Open Source India 2014
MySQL & Oracle Linux Keynote at Open Source India 2014MySQL & Oracle Linux Keynote at Open Source India 2014
MySQL & Oracle Linux Keynote at Open Source India 2014
 
Systems oracle overview_hardware
Systems oracle overview_hardwareSystems oracle overview_hardware
Systems oracle overview_hardware
 
Tecnologias Oracle em Docker Containers On-premise e na Nuvem
Tecnologias Oracle em Docker Containers On-premise e na NuvemTecnologias Oracle em Docker Containers On-premise e na Nuvem
Tecnologias Oracle em Docker Containers On-premise e na Nuvem
 
Disaster Recovery with MySQL InnoDB ClusterSet - What is it and how do I use it?
Disaster Recovery with MySQL InnoDB ClusterSet - What is it and how do I use it?Disaster Recovery with MySQL InnoDB ClusterSet - What is it and how do I use it?
Disaster Recovery with MySQL InnoDB ClusterSet - What is it and how do I use it?
 

Similaire à Eclipse MicroProfile 과 Microservice Java framework – Helidon

Crowbar2 update
Crowbar2 updateCrowbar2 update
Crowbar2 update
osonoi
 

Similaire à Eclipse MicroProfile 과 Microservice Java framework – Helidon (20)

Trends and future of java
Trends and future of javaTrends and future of java
Trends and future of java
 
Java in a world of containers
Java in a world of containersJava in a world of containers
Java in a world of containers
 
Java in a World of Containers - DockerCon 2018
Java in a World of Containers - DockerCon 2018Java in a World of Containers - DockerCon 2018
Java in a World of Containers - DockerCon 2018
 
SevillaJUG - Unleash the power of your applications with Micronaut® ,GraalVM...
SevillaJUG - Unleash the power of your applications with Micronaut®  ,GraalVM...SevillaJUG - Unleash the power of your applications with Micronaut®  ,GraalVM...
SevillaJUG - Unleash the power of your applications with Micronaut® ,GraalVM...
 
Deploying Elastic Java EE Microservices in the Cloud with Docker
Deploying Elastic Java EE Microservices in the Cloud with DockerDeploying Elastic Java EE Microservices in the Cloud with Docker
Deploying Elastic Java EE Microservices in the Cloud with Docker
 
GeeCon Prague 2023 - Unleash the power of your applications with Micronaut®, ...
GeeCon Prague 2023 - Unleash the power of your applications with Micronaut®, ...GeeCon Prague 2023 - Unleash the power of your applications with Micronaut®, ...
GeeCon Prague 2023 - Unleash the power of your applications with Micronaut®, ...
 
[JOI] TOTVS Developers Joinville - Java #1
[JOI] TOTVS Developers Joinville - Java #1[JOI] TOTVS Developers Joinville - Java #1
[JOI] TOTVS Developers Joinville - Java #1
 
Developing Java Microservices Fast with Open Liberty
Developing Java Microservices Fast with Open LibertyDeveloping Java Microservices Fast with Open Liberty
Developing Java Microservices Fast with Open Liberty
 
Neev Open Source Contributions
Neev Open Source ContributionsNeev Open Source Contributions
Neev Open Source Contributions
 
Red Hat Java Update and Quarkus Introduction
Red Hat Java Update and Quarkus IntroductionRed Hat Java Update and Quarkus Introduction
Red Hat Java Update and Quarkus Introduction
 
Modern web application development with java ee 7
Modern web application development with java ee 7Modern web application development with java ee 7
Modern web application development with java ee 7
 
Run your Java apps on Cloud Foundry
Run your Java apps on Cloud FoundryRun your Java apps on Cloud Foundry
Run your Java apps on Cloud Foundry
 
Run Your Java Code on Cloud Foundry - Andy Piper (Pivotal)
Run Your Java Code on Cloud Foundry - Andy Piper (Pivotal)Run Your Java Code on Cloud Foundry - Andy Piper (Pivotal)
Run Your Java Code on Cloud Foundry - Andy Piper (Pivotal)
 
Run your Java code on Cloud Foundry
Run your Java code on Cloud FoundryRun your Java code on Cloud Foundry
Run your Java code on Cloud Foundry
 
Gradual migration to MicroProfile
Gradual migration to MicroProfileGradual migration to MicroProfile
Gradual migration to MicroProfile
 
Gradual Migration to MicroProfile
Gradual Migration to MicroProfileGradual Migration to MicroProfile
Gradual Migration to MicroProfile
 
Crowbar2 update
Crowbar2 updateCrowbar2 update
Crowbar2 update
 
Oracle Developer Cloud - 소개 (신기능 포함)
Oracle Developer Cloud - 소개 (신기능 포함)Oracle Developer Cloud - 소개 (신기능 포함)
Oracle Developer Cloud - 소개 (신기능 포함)
 
From CoreOS to Kubernetes and Concourse CI
From CoreOS to Kubernetes and Concourse CIFrom CoreOS to Kubernetes and Concourse CI
From CoreOS to Kubernetes and Concourse CI
 
GraalVM and Oracle's Documentation Trends.pdf
GraalVM and Oracle's Documentation Trends.pdfGraalVM and Oracle's Documentation Trends.pdf
GraalVM and Oracle's Documentation Trends.pdf
 

Plus de Oracle Korea

Plus de Oracle Korea (20)

Oracle Blockchain Platform_Wonjo Yoo
Oracle Blockchain Platform_Wonjo YooOracle Blockchain Platform_Wonjo Yoo
Oracle Blockchain Platform_Wonjo Yoo
 
Oracle Blockchain_JaeHo Park_CTO
Oracle Blockchain_JaeHo Park_CTOOracle Blockchain_JaeHo Park_CTO
Oracle Blockchain_JaeHo Park_CTO
 
Oracle cloud data interface
Oracle cloud data interfaceOracle cloud data interface
Oracle cloud data interface
 
On premise db & cloud database
On premise db & cloud databaseOn premise db & cloud database
On premise db & cloud database
 
Spring boot microservice metrics monitoring
Spring boot   microservice metrics monitoringSpring boot   microservice metrics monitoring
Spring boot microservice metrics monitoring
 
Opentracing jaeger
Opentracing jaegerOpentracing jaeger
Opentracing jaeger
 
Which Questions We Should Have
Which Questions We Should HaveWhich Questions We Should Have
Which Questions We Should Have
 
Oracle NoSQL
Oracle NoSQLOracle NoSQL
Oracle NoSQL
 
Enterprise Postgres
Enterprise PostgresEnterprise Postgres
Enterprise Postgres
 
MySQL Document Store를 활용한 NoSQL 개발
MySQL Document Store를 활용한 NoSQL 개발MySQL Document Store를 활용한 NoSQL 개발
MySQL Document Store를 활용한 NoSQL 개발
 
API Design Principles Essential 
API Design Principles Essential API Design Principles Essential 
API Design Principles Essential 
 
SpringBoot and Spring Cloud Service for MSA
SpringBoot and Spring Cloud Service for MSASpringBoot and Spring Cloud Service for MSA
SpringBoot and Spring Cloud Service for MSA
 
CI/CD 기반의 Microservice 개발
 CI/CD 기반의 Microservice 개발 CI/CD 기반의 Microservice 개발
CI/CD 기반의 Microservice 개발
 
kubernetes from beginner to advanced
kubernetes  from beginner to advancedkubernetes  from beginner to advanced
kubernetes from beginner to advanced
 
OpenJDK & Graalvm
OpenJDK & GraalvmOpenJDK & Graalvm
OpenJDK & Graalvm
 
Cloud Native 자바 플랫폼: Graalvm Overview
Cloud Native 자바 플랫폼: Graalvm OverviewCloud Native 자바 플랫폼: Graalvm Overview
Cloud Native 자바 플랫폼: Graalvm Overview
 
[Main Session] 카프카, 데이터 플랫폼의 최강자
[Main Session] 카프카, 데이터 플랫폼의 최강자[Main Session] 카프카, 데이터 플랫폼의 최강자
[Main Session] 카프카, 데이터 플랫폼의 최강자
 
[Demo session] 관리형 Kafka 서비스 - Oracle Event Hub Service
[Demo session] 관리형 Kafka 서비스 - Oracle Event Hub Service[Demo session] 관리형 Kafka 서비스 - Oracle Event Hub Service
[Demo session] 관리형 Kafka 서비스 - Oracle Event Hub Service
 
[Hands-on] CQRS(Command Query Responsibility Segregation) 와 Event Sourcing 패턴 실습
[Hands-on] CQRS(Command Query Responsibility Segregation) 와 Event Sourcing 패턴 실습[Hands-on] CQRS(Command Query Responsibility Segregation) 와 Event Sourcing 패턴 실습
[Hands-on] CQRS(Command Query Responsibility Segregation) 와 Event Sourcing 패턴 실습
 
[Main Session] 보안을 고려한 애플리케이션 개발 공정 및 실무적 수행 방법 소개
[Main Session] 보안을 고려한 애플리케이션 개발 공정 및 실무적 수행 방법 소개 [Main Session] 보안을 고려한 애플리케이션 개발 공정 및 실무적 수행 방법 소개
[Main Session] 보안을 고려한 애플리케이션 개발 공정 및 실무적 수행 방법 소개
 

Dernier

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Dernier (20)

GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 

Eclipse MicroProfile 과 Microservice Java framework – Helidon

  • 1. [7th] Oracle Developer Meetup 또 뵙게 되어서 반갑습니다.
  • 5. Eclipse MicroProfile and Microframework - Helidon 황주필, @jupil.hwang / @namoo4u Solution Engineer, InfraCloud Team, Oracle Cloud Platform
  • 6. • BEA Systems • Oracle • Middleware • InfraCloud • Open Source, Cloud Native Application • DevRel • Linux, Container / Docker, Kubernetes • Blockchain, AI/ML • Lifelong learner jupil.hwang@gmail.com
  • 7. Agenda • Java는 어디로 가고 있나? • Eclipse MicroProfile • Helidon
  • 8. Java • Java Card • Java ME (Micro Edition) • Java SE (Standard Edition) • Java EE (Enterprise Edition) • Java FX (?)
  • 9. Is Java 11 Paid ?? • Starting with Java SE 11, Oracle provides their (OpenJDK based) JDK via • Oracle OpenJDK builds — Under the existing Open Source GPLv2+CE license • Oracle JDK — Under a paid commercial license (but free for development use), for those who do not wish to use the GPLv2+CE, or who are using an Oracle JDK with an Oracle product or service. (Oracle JDK 8 until at least 2025 and Oracle JDK 11 until at least 2026) • Java 11 이후 Oracle JDK = OpenJDK (https://jdk.java.net/11/) • Java Flight Recorder • Java Mission Control • Application Class-Data Sharing • ZGC https://www.oracle.com/technetwork/java/javase/terms/license/index.html
  • 10. Java EE (Java Platform, Enterprise Edition) J2EE 1.2 (December 12, 1999) J2EE 1.3 (September 24, 2001) J2EE 1.4 (November 11, 2003) Java EE 5 (May 11, 2006) Java EE 6 (December 10, 2009) Java EE 7 (June 12, 2013) Java EE 8 (August 31, 2017[5]) Jakarta EE September 12, 2017, Oracle Corporation announced that it would submit Java EE to the Eclipse Foundation February 26, 2018, it was announced that the new name of Java EE will be Jakarta EE.
  • 11. Jakarta EE, EE4J(Eclipse Enterprise for Java) • 예전에 Java 2 Platforms, Enterprise Edition (J2EE) • 지금은 Jakarta EE
  • 12. Jakarta EE, EE4J Project Bootstrapping https://www.eclipse.org/ee4j/status.php https://Jakarta.ee
  • 13. Release Infra App Annual Quarterly/Monthly Weekly/Daily/Hourly Few servers VM’S Delivery Simple deployment model. . Waterfall DevOps ? Containers .Net Java Single app Microservices AB C Multi tier 2xDB APP 2008+ 2016+2000 Modern Development in Context The History Over the Last 15 Years is All About Increasing Speed and Agility
  • 16. MicroProfile Optimizing Enterprise Java for a Microservices Architecture An open forum to optimize Enterprise Java for a microservices architecture by innovating across multiple implementations and collaborating on common areas of interest with a goal of standardization. • Small startup times • Smaller binary size • Reduced consumption of memory • Enabling client-side load balancing • Supporting a reactive programming model (asynchronous receivers, messaging-centered calls, etc.) • Supporting circuit breakers mechanisms. • June 27, 2016: Red Hat, IBM, Tomitribe, Payara and the London Java Community announced MicroProfile at DevNation. • September 19, 2016: MicroProfile 1.0 was released at JavaOne 2016 with 5 implementations (and a 6th planned). The SouJava community joined to support the effort and Hammock was added as a implementation. • December 14, 2016: The Eclipse Foundation Board approved the MicroProfile proposal, meaning that Eclipse MicroProfile is now an Eclipse incubator project.
  • 17. MicroProfile 1.0 (Sep, 2016) MicroProfile 1.0 JAX-RS 2.0JSON-P 1.0CDI 1.2
  • 18. Eclipse MicroProfile • MP 1.0 – Sep, 2016 • EMP 1.1 – Jul, 2017 • EMP 1.2 – Oct, 2017 • EMP 1.3 – Jan, 2018 • EMP 1.4 / 2.0 – Aug, 2018 • EMP 2.1 – Oct, 2018 MicroProfile 2.0 JAX-RS 2.1JSON-P 1.1CDI 2.0 Config 1.3 Fault Tolerance 1.1 JWT Propagation 1.1 Health Check 1.0 Metrics 1.1 Open Tracing 1.1 Open API 1.0 = Updated = No change from last release (MicroProfile 1.4) = New Rest Client 1.1 JSON-B 1.0 Retry, Circuit breaker Monitoring Configuration RESTful API i.e Zipkin, Jaeger i.e k8s service controller RESTful Security rebased on Java EE 8
  • 19.
  • 21. Quick Start – MicroProfile mvn archetype:generate -DarchetypeGroupId=de.rieckpil.archetypes - DarchetypeArtifactId=javaee8 -DarchetypeVersion=1.0.1 - DgroupId=orcl -DartifactId=meetup1013 -DinteractiveMode=false java –jar payara-micro.jar –deploy target/meetup1013.war
  • 22. Quick Start – MicroProfile mvn archetype:generate -DarchetypeGroupId=com.airhacks - DarchetypeArtifactId=microprofile-essentials-archetype - DarchetypeVersion=0.0.2 -DgroupId=com.airhacks -DartifactId=demo - Dversion=0.0.1 -Darchetype.interactive=false --batch-mode java –jar payara-micro.jar –deploy target/demo.war
  • 23. Quick Start – MicroProfile # git clone https://github.com/payara/Payara-Examples.git cd Payara-Examples/demo-applications/5.183-MicroProfile mvn clean package Java –jar target/payara-webinar-microbundle.jar
  • 25. Helidon • A set of Java libraries for developing microservices • Your service is just a Java SE application • Implements Eclipse MicroProfile (Helidon MP) • Two programming models • Helidon MP: declarative style, familiar to Java EE developers (JAX-RS, CDI, etc) • Helidon SE: small, functional style, transparent, no magic • Built-in integrations to facilitate using Oracle Cloud Services • Open source: https://github.com/oracle/helidon
  • 26. aka J4C (Java for Cloud)
  • 27. Java Microservice Frameworks 27 Simple, Smaller Larger Spring Boot Microframeworks MicroProfile Based Open Liberty Full-Stack Dropwizard
  • 29. Helidon 29 Helidon SE RxServer (Netty) Helidon MP JAX-RS WebServerConfig Security CDI JSON-P/B Oracle Cloud Integrations
  • 30. Reactive WebServer • Simple 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 • SPI 30 Security • Authentication • Roles and Authorization • HTTP Signatures • IDCS integration What is Helidon SE? Working on GraalVM Support
  • 31. GraalVM Native-Image support https://medium.com/graalvm/instant-netty-startup-using-graalvm-native-image-generation-ed6f14ff7692 Building the application with the native-image tool produces a native executable that is less than 9 MB in size; has a significantly improved startup time: the server is ready to accept requests in a matter of milliseconds; and has a much lower memory footprint: it uses about 7 times less memory. spring-projects/spring-Fu Project 도 지원 예정
  • 32. Quick Start – Helidon MP $ mvn archetype:generate -DinteractiveMode=false -DarchetypeGroupId=io.helidon.archetypes -DarchetypeArtifactId=helidon-quickstart-mp -DarchetypeVersion=0.10.1 -DgroupId=io.helidon.examples -DartifactId=quickstart-mp -Dpackage=io.helidon.examples.quickstart.mp $ cd quickstart-mp $ mvn package $ docker build -t quickstart-mp target $ docker run — rm -p 8080:8080 quickstart-mp:latest
  • 33. Quick Start – Helidon SE $ mvn archetype:generate -DinteractiveMode=false -DarchetypeGroupId=io.helidon.archetypes -DarchetypeArtifactId=helidon-quickstart-se -DarchetypeVersion=0.10.1 -DgroupId=io.helidon.examples -DartifactId=quickstart-se -Dpackage=io.helidon.examples.quickstart.se $ cd quickstart-se $ mvn package $ docker build -t quickstart-se target $ docker run — rm -p 8080:8080 quickstart-mp:latest
  • 34. Q&A