Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

Talk Oracle Code One 2019

Slides used for my talk with Sébastien Blanc at Oracle Code One 2019

  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Talk Oracle Code One 2019

  1. 1. Java server-side 20 years old and still innovative! @jefrajames @sebi2706
  2. 2. J2EE Servlet JSP EJB 1-2 JMS 1999-2003 2006 2009 2013 2017 2019 Java EE 5 Ease of Dev EJB 3 JPA JSF JAX-WS Java EE 6 CDI JAX-RS Bean Validation Web Profile Java EE 7 JBatch Web Socket JSON-P Concurrency The origins Sun Enterprise times From J2EE to Jakarta EE A user experience Java EE 8 Java SE 8 JSON-B Security Jakarta EE Java EE 8 Equivalent GlassFish 5.1 Jakarta EE 8 Eclipse Cloud times Oracle Enterprise times
  3. 3. Current status Fragmented yet consistent and innovative MicroProfile 1.x Java EE 8 MicroProfile 2.x, 3.x Jakarta EE 8Java EE 7 Jakarta EE 9 MicroProfile 3.x Innovation Innovation Innovation Java SE 7,8 Java SE 9, 10, 11, 12, 13 … Amazon Coretto, Alibaba Dragonwell, AdoptOpenJdk, Azul HotSpot, OpenJ9, GraalVM Innovation
  4. 4. • Standards are slow – Broad consensus and getting things right takes time • Standard don’t guarantee portability – Still better than vendor lock-in • Standards don’t have feature XYZ – The core of an ecosystem can’t be bloated or complex • Standards don’t innovate – In fact they do and over-standardizing the unproven or niche case is a bad idea • It’s just a bench of vendor experts • You can on-board Standards?
  5. 5. Shifting to cloud-native applications 2006 2008 2009 2010 2011 2012 2013 2014 2015
  6. 6. Shifting to cloud-native applications To Private on premise data centers Cloud platforms Bare metal infrastructure Infrastructure as code Mutualized full-blown application servers Just enough runtime Monolith Microservices SQL-only Polyglot persistency ACID transactions Eventual consistency Synchronous & imperative programming Asynchronous & functional programming Standalone applications API-first platforms From
  7. 7. ● Runtime efficiency: fast startup, small system footprint, container awareness ● Built-in “Cloud-native” features: ○ Observability ○ Fault Tolerance ○ External configuration sources ○ Distributed security ○ Service mesh readiness ● Agile specification process Innovation needed!
  8. 8. MicroProfile support The application servers (r)evolution Java/Jakarta 8 EE support
  9. 9. Demo time! Simple Card Payment System Easy to Pay Check amount, POS, card Ask authorization If amount >100$ Fallback delegation if amount <=200$ Smart Bank Gateway Accept if amount<=500$ TomEE (Port 8082) Merchant Back Office Payment Request Payment Response Authorization Request Authorization Response
  10. 10. OpenJ9? Memory footprint: -30% Startup time (optional class sharing) : -15%
  11. 11. • Renew the Java EE “legacy” image • MicroProfile and Jakarta EE integration? • javax packages renaming: big bang or incremental? • Jakarta EE release cadence • Evolution of the ecosystem: IBM, Red Hat, Microsoft, Amazon, Alibaba ... • Effective contribution of the user community to the success of Jakarta EE Challenges
  12. 12. Conclusion
  13. 13. Thank you!