Les ZAPeroTech #4 : REX Oracle Code One 2019 sur l'éco-système Java

DocDoku
DocDokuCo-founder- DocDoku - We help industries digitize their business at DocDoku
Oracle Code One 2019
Quelles perspectives pour l'éco-système Java ?
Olivier Bourgeat
14/11/2019
Apéro-Tech Toulouse
CodeOne 2019
Parmi les innombrables sujets :
- Évolutions de la JVM
- GraalVM
- JakartaEE/Microprofile
- Kubernetes
Évolution de la JVM
Versions :
- Éviter l’effet tunnel
Garbage Collector
- ZGC : “A scalable Low latency GC”
- pause < 10 ms !
- de quelques centaines de Mo à plusieurs To
- Linux/86_64 pour le moment
Évolution de la JVM
Modularisation
- Minimiser le “JRE”
Projet Valhalla (https://openjdk.java.net/projects/valhalla/)
- Optimisations
- Value Type
- Record
Projet Panama :
- Remplacer JNI
Évolution de la JVM
Projet Amber (https://openjdk.java.net/projects/amber/)
- Sucre syntaxique pour améliorer la productivité
- Variable locales (inférence de type)
- Text block
- Switch
Projet Loom
- Programmation concurrente simplifiée
Évolution de la JVM
Objectif marquant
- Rendre la JVM adaptée à l’exécution dans des conteneurs
- Temps de démarrage,
- Empreinte mémoire,
- Performance
Graal VM
Objectifs:
- multi-langage
- réduire le temps de démarrage
- réduire l’empreinte mémoire
JVM polyglotte
- Bytecode (Java, Scala, …)
- Langages de script (Javascript, Python, Ruby, R)
- LLVM (C/C++, …)
- Permet de compiler en binaire (ahead-of-time)
- Native Images
Eclipse : Jakarta EE - MicroProfile
Jakarta EE
- Sortie du périmètre Oracle
- suppression des bibliothèques clientes “JavaEE” du JRE
- Jakarta EE : Application Programming Interfaces
- Choix d’implémentation libre (serveur d’application, PAAS Cloud , …)
Objectif affiché :
- adapter les APIs aux technologies du Cloud
- Convergence JakartaEE / Microprofile
Microservices = composant
Composant:
- Rend un service (interface, sémantique)
- Interopérable avec d’autres composants (standard communication)
- Briques pour construir un système plus vaste (réutilisable)
SOA (Service Oriented Architecture)
- Bonnes pratiques d’architecture à base de services (composants)
- forte cohésion, faible couplage, SoC
Microservice
- Variante de SOA : souvent basé sur REST, JSON, ..
Java et les composants
Java : Approche “composant” depuis le début
- Interfaces
- Réseau / Protocoles / Distribution
- Java Beans, EJB
- Evénements
- WAR, EAR
- ...
Les serveurs d’applications vont-ils
disparaître ?
JVM - Conteneur
JVM
- Environnement d’exécution pour du bytecode
- Abstraction de l’OS sous-jacent
Conteneur
- Machine virtuelle légère basée sur l’OS Linux (LXC)
- Environnement d’exécution pour code binaire
- Abstraction de l’OS sous-jacent
Serveurs d’application
Node Node
JVM JVM JVM JVM JVM
App App App App App App App
JEE conteneur
OS
Node Agent
Deployment
Name Svc
Mon. Trans.
Workload
Security
Kubernetes
Node Node
Ctnr Ctnr Ctnr Ctnr Ctnr
App App App App App App App
Linux
Deployment
Networking
Storage
Workload
Kubelet
Kube-Proxy
Security
JEE application + Kubernetes
Node
Ctnr Ctnr
App App App
JVM JVM
JEE conteneur
Linux
Kubelet
Kube-Proxy
Conclusion
Java
- Évolue en fonction des nouveaux usages
- Rester dans “le coup”
- Séduire de nouveaux développeurs
Environnements d’exécution en pleine mutation
- Plus dynamique
- Profiter des caractéristiques du Cloud
Merci
1 of 17

Recommended

[Java] Versioning & Nouveautés JDK 12-15 by
[Java] Versioning & Nouveautés JDK 12-15[Java] Versioning & Nouveautés JDK 12-15
[Java] Versioning & Nouveautés JDK 12-15Romain Schlick
102 views13 slides
Programmation réactive avec Spring 5 et Reactor by
Programmation réactive avec Spring 5 et ReactorProgrammation réactive avec Spring 5 et Reactor
Programmation réactive avec Spring 5 et ReactorFlorian Beaufumé
4.5K views31 slides
WebSocket avec Java EE 7 by
WebSocket avec Java EE 7WebSocket avec Java EE 7
WebSocket avec Java EE 7Florian Beaufumé
1.7K views44 slides
Programmation concurrente en Java by
Programmation concurrente en JavaProgrammation concurrente en Java
Programmation concurrente en JavaFlorian Beaufumé
1.5K views46 slides
Introduction Kotlin by
Introduction KotlinIntroduction Kotlin
Introduction KotlinRomain Schlick
222 views31 slides
Construire un module enfichable (pluggable) et dynamique pour Plone by
Construire un module enfichable (pluggable) et dynamique pour PloneConstruire un module enfichable (pluggable) et dynamique pour Plone
Construire un module enfichable (pluggable) et dynamique pour PloneParis, France
578 views10 slides

More Related Content

Similar to Les ZAPeroTech #4 : REX Oracle Code One 2019 sur l'éco-système Java

les servlets-java EE by
les  servlets-java EEles  servlets-java EE
les servlets-java EEYassine Badri
1.1K views45 slides
cours-gratuit.com--id-1964.pdf by
cours-gratuit.com--id-1964.pdfcours-gratuit.com--id-1964.pdf
cours-gratuit.com--id-1964.pdfRachida19
3 views52 slides
Java j2ee by
Java j2eeJava j2ee
Java j2eeizdihara
488 views6 slides
JavaScript aussi sur le serveur et jusque dans le cloud? by
JavaScript aussi sur le serveur et jusque dans le cloud?JavaScript aussi sur le serveur et jusque dans le cloud?
JavaScript aussi sur le serveur et jusque dans le cloud?Microsoft
156 views40 slides
Soirée OSGi au Paris Jug (14/10/2008) by
Soirée OSGi au Paris Jug (14/10/2008)Soirée OSGi au Paris Jug (14/10/2008)
Soirée OSGi au Paris Jug (14/10/2008)Cyrille Le Clerc
1K views57 slides
JavaScript aussi sur le serveur et jusque dans le cloud? by
JavaScript aussi sur le serveur et jusque dans le cloud?JavaScript aussi sur le serveur et jusque dans le cloud?
JavaScript aussi sur le serveur et jusque dans le cloud?benjguin
724 views40 slides

Similar to Les ZAPeroTech #4 : REX Oracle Code One 2019 sur l'éco-système Java(20)

cours-gratuit.com--id-1964.pdf by Rachida19
cours-gratuit.com--id-1964.pdfcours-gratuit.com--id-1964.pdf
cours-gratuit.com--id-1964.pdf
Rachida193 views
Java j2ee by izdihara
Java j2eeJava j2ee
Java j2ee
izdihara488 views
JavaScript aussi sur le serveur et jusque dans le cloud? by Microsoft
JavaScript aussi sur le serveur et jusque dans le cloud?JavaScript aussi sur le serveur et jusque dans le cloud?
JavaScript aussi sur le serveur et jusque dans le cloud?
Microsoft156 views
JavaScript aussi sur le serveur et jusque dans le cloud? by benjguin
JavaScript aussi sur le serveur et jusque dans le cloud?JavaScript aussi sur le serveur et jusque dans le cloud?
JavaScript aussi sur le serveur et jusque dans le cloud?
benjguin724 views
Server Side Javascript in the cloud by stefounet
Server Side Javascript in the cloudServer Side Javascript in the cloud
Server Side Javascript in the cloud
stefounet812 views
Comparaison des solutions Paas by yacine sebihi
Comparaison des solutions PaasComparaison des solutions Paas
Comparaison des solutions Paas
yacine sebihi3K views
Introduction à GWT - GTI780 & MTI780 - ETS - A09 by Claude Coulombe
Introduction à GWT - GTI780 & MTI780 - ETS - A09Introduction à GWT - GTI780 & MTI780 - ETS - A09
Introduction à GWT - GTI780 & MTI780 - ETS - A09
Claude Coulombe1.3K views
Environnements & Développements by Paulin CHOUDJA
Environnements & DéveloppementsEnvironnements & Développements
Environnements & Développements
Paulin CHOUDJA993 views
Le cloud-in-a-box avec Cloud Platform System (CPS) et Windows Azure Pack by Microsoft Décideurs IT
Le cloud-in-a-box avec Cloud Platform System (CPS) et Windows Azure PackLe cloud-in-a-box avec Cloud Platform System (CPS) et Windows Azure Pack
Le cloud-in-a-box avec Cloud Platform System (CPS) et Windows Azure Pack
Retours Devoxx France 2016 by Antoine Rey
Retours Devoxx France 2016Retours Devoxx France 2016
Retours Devoxx France 2016
Antoine Rey9.2K views
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseries by Xavier MARIN
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseriesBreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseries
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseries
Xavier MARIN381 views
Gwt oxiane-novae-lr by oxmed
Gwt oxiane-novae-lrGwt oxiane-novae-lr
Gwt oxiane-novae-lr
oxmed1.1K views
Workshop Spring - Session 1 - L'offre Spring et les bases by Antoine Rey
Workshop Spring  - Session 1 - L'offre Spring et les basesWorkshop Spring  - Session 1 - L'offre Spring et les bases
Workshop Spring - Session 1 - L'offre Spring et les bases
Antoine Rey8.6K views

More from DocDoku

Meetup Aperotech 4 : retour d'expérience Oracle Code One 2019 by
Meetup Aperotech 4 : retour d'expérience Oracle Code One 2019Meetup Aperotech 4 : retour d'expérience Oracle Code One 2019
Meetup Aperotech 4 : retour d'expérience Oracle Code One 2019DocDoku
233 views29 slides
Les ZAPeroTech #4 : découverte de Flutter by
Les ZAPeroTech #4 : découverte de FlutterLes ZAPeroTech #4 : découverte de Flutter
Les ZAPeroTech #4 : découverte de FlutterDocDoku
237 views12 slides
Les ZAPeroTech #3 : à la découverte de NBitcoin en C# by
Les ZAPeroTech #3 : à la découverte de NBitcoin en C#Les ZAPeroTech #3 : à la découverte de NBitcoin en C#
Les ZAPeroTech #3 : à la découverte de NBitcoin en C#DocDoku
393 views29 slides
Les ZAperoTech #3 : présentation AWS IoT Greengrass by
Les ZAperoTech #3 : présentation AWS IoT GreengrassLes ZAperoTech #3 : présentation AWS IoT Greengrass
Les ZAperoTech #3 : présentation AWS IoT GreengrassDocDoku
367 views19 slides
Les Z'ApéroTech Toulouse #2 - Présentation de l'agilité à l'échelle by
Les Z'ApéroTech Toulouse #2 - Présentation de l'agilité à l'échelleLes Z'ApéroTech Toulouse #2 - Présentation de l'agilité à l'échelle
Les Z'ApéroTech Toulouse #2 - Présentation de l'agilité à l'échelleDocDoku
409 views34 slides
Les Z'ApéroTech Toulouse #2 - Présentation des nouveautés de JakartaEE 8 by
Les Z'ApéroTech Toulouse #2 - Présentation des nouveautés de JakartaEE 8Les Z'ApéroTech Toulouse #2 - Présentation des nouveautés de JakartaEE 8
Les Z'ApéroTech Toulouse #2 - Présentation des nouveautés de JakartaEE 8DocDoku
226 views19 slides

More from DocDoku(14)

Meetup Aperotech 4 : retour d'expérience Oracle Code One 2019 by DocDoku
Meetup Aperotech 4 : retour d'expérience Oracle Code One 2019Meetup Aperotech 4 : retour d'expérience Oracle Code One 2019
Meetup Aperotech 4 : retour d'expérience Oracle Code One 2019
DocDoku233 views
Les ZAPeroTech #4 : découverte de Flutter by DocDoku
Les ZAPeroTech #4 : découverte de FlutterLes ZAPeroTech #4 : découverte de Flutter
Les ZAPeroTech #4 : découverte de Flutter
DocDoku237 views
Les ZAPeroTech #3 : à la découverte de NBitcoin en C# by DocDoku
Les ZAPeroTech #3 : à la découverte de NBitcoin en C#Les ZAPeroTech #3 : à la découverte de NBitcoin en C#
Les ZAPeroTech #3 : à la découverte de NBitcoin en C#
DocDoku393 views
Les ZAperoTech #3 : présentation AWS IoT Greengrass by DocDoku
Les ZAperoTech #3 : présentation AWS IoT GreengrassLes ZAperoTech #3 : présentation AWS IoT Greengrass
Les ZAperoTech #3 : présentation AWS IoT Greengrass
DocDoku367 views
Les Z'ApéroTech Toulouse #2 - Présentation de l'agilité à l'échelle by DocDoku
Les Z'ApéroTech Toulouse #2 - Présentation de l'agilité à l'échelleLes Z'ApéroTech Toulouse #2 - Présentation de l'agilité à l'échelle
Les Z'ApéroTech Toulouse #2 - Présentation de l'agilité à l'échelle
DocDoku409 views
Les Z'ApéroTech Toulouse #2 - Présentation des nouveautés de JakartaEE 8 by DocDoku
Les Z'ApéroTech Toulouse #2 - Présentation des nouveautés de JakartaEE 8Les Z'ApéroTech Toulouse #2 - Présentation des nouveautés de JakartaEE 8
Les Z'ApéroTech Toulouse #2 - Présentation des nouveautés de JakartaEE 8
DocDoku226 views
Les Z'ApéroTech Toulouse #2 - Présentation Garden Helaer by DocDoku
Les Z'ApéroTech Toulouse #2 - Présentation Garden HelaerLes Z'ApéroTech Toulouse #2 - Présentation Garden Helaer
Les Z'ApéroTech Toulouse #2 - Présentation Garden Helaer
DocDoku265 views
DocDokuPLM: Domain Specific PaaS and Business Oriented API by DocDoku
DocDokuPLM: Domain Specific PaaS and Business Oriented APIDocDokuPLM: Domain Specific PaaS and Business Oriented API
DocDokuPLM: Domain Specific PaaS and Business Oriented API
DocDoku2.7K views
DocDokuPLM presentation - OW2Con 2015 Community Award winner by DocDoku
DocDokuPLM presentation - OW2Con 2015 Community Award winnerDocDokuPLM presentation - OW2Con 2015 Community Award winner
DocDokuPLM presentation - OW2Con 2015 Community Award winner
DocDoku3.1K views
Présentation DocDoku by DocDoku
Présentation DocDokuPrésentation DocDoku
Présentation DocDoku
DocDoku563 views
Generic Open Source PLM solution by DocDoku
Generic Open Source PLM solutionGeneric Open Source PLM solution
Generic Open Source PLM solution
DocDoku4.6K views
DocDoku - Mobile Monday Toulouse 1ère : la NFC by DocDoku
DocDoku - Mobile Monday Toulouse 1ère : la NFCDocDoku - Mobile Monday Toulouse 1ère : la NFC
DocDoku - Mobile Monday Toulouse 1ère : la NFC
DocDoku4.2K views
DocDoku - Les enjeux du back-office mobile by DocDoku
DocDoku - Les enjeux du back-office mobileDocDoku - Les enjeux du back-office mobile
DocDoku - Les enjeux du back-office mobile
DocDoku1.5K views
Strategies et developpements mobiles multi-plates-formes. by DocDoku
Strategies et developpements mobiles multi-plates-formes.Strategies et developpements mobiles multi-plates-formes.
Strategies et developpements mobiles multi-plates-formes.
DocDoku2.1K views

Les ZAPeroTech #4 : REX Oracle Code One 2019 sur l'éco-système Java

  • 1. Oracle Code One 2019 Quelles perspectives pour l'éco-système Java ? Olivier Bourgeat 14/11/2019 Apéro-Tech Toulouse
  • 2. CodeOne 2019 Parmi les innombrables sujets : - Évolutions de la JVM - GraalVM - JakartaEE/Microprofile - Kubernetes
  • 3. Évolution de la JVM Versions : - Éviter l’effet tunnel Garbage Collector - ZGC : “A scalable Low latency GC” - pause < 10 ms ! - de quelques centaines de Mo à plusieurs To - Linux/86_64 pour le moment
  • 4. Évolution de la JVM Modularisation - Minimiser le “JRE” Projet Valhalla (https://openjdk.java.net/projects/valhalla/) - Optimisations - Value Type - Record Projet Panama : - Remplacer JNI
  • 5. Évolution de la JVM Projet Amber (https://openjdk.java.net/projects/amber/) - Sucre syntaxique pour améliorer la productivité - Variable locales (inférence de type) - Text block - Switch Projet Loom - Programmation concurrente simplifiée
  • 6. Évolution de la JVM Objectif marquant - Rendre la JVM adaptée à l’exécution dans des conteneurs - Temps de démarrage, - Empreinte mémoire, - Performance
  • 7. Graal VM Objectifs: - multi-langage - réduire le temps de démarrage - réduire l’empreinte mémoire JVM polyglotte - Bytecode (Java, Scala, …) - Langages de script (Javascript, Python, Ruby, R) - LLVM (C/C++, …) - Permet de compiler en binaire (ahead-of-time) - Native Images
  • 8. Eclipse : Jakarta EE - MicroProfile Jakarta EE - Sortie du périmètre Oracle - suppression des bibliothèques clientes “JavaEE” du JRE - Jakarta EE : Application Programming Interfaces - Choix d’implémentation libre (serveur d’application, PAAS Cloud , …) Objectif affiché : - adapter les APIs aux technologies du Cloud - Convergence JakartaEE / Microprofile
  • 9. Microservices = composant Composant: - Rend un service (interface, sémantique) - Interopérable avec d’autres composants (standard communication) - Briques pour construir un système plus vaste (réutilisable) SOA (Service Oriented Architecture) - Bonnes pratiques d’architecture à base de services (composants) - forte cohésion, faible couplage, SoC Microservice - Variante de SOA : souvent basé sur REST, JSON, ..
  • 10. Java et les composants Java : Approche “composant” depuis le début - Interfaces - Réseau / Protocoles / Distribution - Java Beans, EJB - Evénements - WAR, EAR - ...
  • 11. Les serveurs d’applications vont-ils disparaître ?
  • 12. JVM - Conteneur JVM - Environnement d’exécution pour du bytecode - Abstraction de l’OS sous-jacent Conteneur - Machine virtuelle légère basée sur l’OS Linux (LXC) - Environnement d’exécution pour code binaire - Abstraction de l’OS sous-jacent
  • 13. Serveurs d’application Node Node JVM JVM JVM JVM JVM App App App App App App App JEE conteneur OS Node Agent Deployment Name Svc Mon. Trans. Workload Security
  • 14. Kubernetes Node Node Ctnr Ctnr Ctnr Ctnr Ctnr App App App App App App App Linux Deployment Networking Storage Workload Kubelet Kube-Proxy Security
  • 15. JEE application + Kubernetes Node Ctnr Ctnr App App App JVM JVM JEE conteneur Linux Kubelet Kube-Proxy
  • 16. Conclusion Java - Évolue en fonction des nouveaux usages - Rester dans “le coup” - Séduire de nouveaux développeurs Environnements d’exécution en pleine mutation - Plus dynamique - Profiter des caractéristiques du Cloud
  • 17. Merci