Ce diaporama a bien été signalé.

Tnt 2020-jf-james



Chargement dans…3
1 sur 16
1 sur 16

Plus De Contenu Connexe

Livres associés

Gratuit avec un essai de 14 jours de Scribd

Tout voir

Tnt 2020-jf-james

  1. 1. 
 Java server-side 20 years old and still innovative! @jefrajames
  2. 2. A few words about me Speaker jefrajames = Speaker.builder().lastName(“James”) .firstName(“Jean-François”) .background(Period.ofYears(34)) .company(“Worldline”) .location(“France”) .role(“Head of Expert Community”) .skill(“Software Architecture”, Year.parse (“1990”)) .focus(“Java”, Year.parse (“1997”)).build();
  3. 3. From J2EE to Jakarta EE
 A user experience
  4. 4. The rise of cloud-native applications 2006 2008 2009 2010 2011 2012 2013 2014 2015
  5. 5. Shifting to cloud-native applications To cloud-native Private on premise data centers Cloud platforms Bare metal infrastructure Infrastructure as code Mutualized full-blown application servers Just enough runtime Monolith, self contained application API-oriented (Micro)Services/Functions SQL-only Polyglot persistency ACID transactions Eventual consistency Synchronous & imperative programming Reactive programming Quiet TTM Fast TTM From traditional
  6. 6. Innovation needed for the cloud! Observability Fault Tolerance External configuration Fast startup Small system footprint
  7. 7. Java server-side current status Fragmented yet consistent and innovative MicroProfile 1.x MicroProfile 2.x, 3.x Java EE 7 Innovation Java SE 7,8 Java SE 9, 10, 11, 12, 13 … Amazon Coretto, Alibaba Dragonwell, Microsoft (jClarity), AdoptOpenJdk, Azul, JVM: HotSpot, OpenJ9, GraalVM Innovation Jakarta EE 9Jakarta EE 8Java EE 8 Jakarta EE 10 Innovation Innovation Innovation
  8. 8. MicroProfile overview GraphQL Config Fault Tolerance Fallback Retry Timeout Circuit breaker Bulkhead OpenAPI Rest Client JWT REST API Jakarta EE Foundation Health Metrics Open Tracing Observability Reactive Messaging Reactive Streams Context Propagation Long Running Action MicroProfile Core JAX-RS CDI JSON
  9. 9. Java server-side ecosystem evolution 2014 2015 2016 2017 2018 2019 2020 Jakarta EE 8 Java EE 8
  10. 10. MicroProfile support From application servers to application runtimes Jakarta 8 EE support
  11. 11. 1. MicroProfile programming model 2. Diversity and consistency of the ecosystem 3. Various deployment models 4. Cloud performance: startup time & memory footprint Objectives of the demo
  12. 12. OpenJ9? Memory footprint: -30% Startup time (optional share classes) : -15%
  13. 13. Demo time! Simple Card Payment System EasyPay SmartBank Gateway Authorize if amount<=500 TomEE (Port 8082) Merchant Back Office 1) Payment Request 4) Payment Response 2) Payment Authorization Request 3) Payment Authorization Response Fraud Detection 5) Payment Notification Check Pos & Card Authorization If amount > 100 Fallback delegation if amount <=200
  14. 14. Runtime summary Open Liberty Kumuluz EE Payara Quarkus TomEE Version 3.6 5.194 1.2.0.Final 8.0.1 Deployment models Thin war Uber jar Runnable jar Uber jar Thin war Hollow jar Uber jar Runnable jar Native Thin war Uber jar Characteristics Good doc Spec alignment Runtime modularity Active community Performance Hot reload in dev Good doc Lightweight Ease of dev Integration with many other SW Good doc Spec alignment Active community Good doc Promising Game changer Lightweight Active community Hot reload in dev Lightweight Performance Various distributions Good fit To give IBM a second chance To learn & closely follow the specs Spring background Java EE background All-in-one Jakarta EE & MP stack Horizontal scalability K8S context Tomcat or Java EE background
  15. 15. • MicroProfile & Jakarta EE are not old fashioned! • GraalVM paves the way for a new kind era … • The traditional JVM still makes sense! • Follow on Twitter: Adam Bien, Sebastian Dashner, Emily Jiang, Sébastien Blanc, Phillip Kruger, OpenLiberty, Quarkus, Payara, TomiTribe • https://groups.google.com/forum/#!forum/microprofile/join Conclusion
  16. 16. Thank you!