JAVA EE UN AMI QUIVOUSVEUT DU BIEN
Antoine Sabot-Durand: @antoine_sd
ANTOINE SABOT-DURAND
• Senior Software Engineer @Red Hat
• Java & OSS :
• CDI co-spec lead
• CDI community development
• A...
AGENDA
• Retour sur Java EE
• Mythes et réalités Java EE
• Conclusion
Previously on Java EE
JAVA EE HISTORY
1998 1999 2000 2001 2002 2003 2004 2005
Java Professional
Edition
J2EE 1.2
12/12/1999
J2EE 1.3
09/24/2001
...
JAVA EE 7 JSR
EJB 3.2
Servlet 3.1
CDI
Extensions
Bean
Validation
1.1
Batch 1.0
Web
Fragments
JCA 1.7JMS 2.0JPA 2.1
Managed...
JAVA EE 7 SERVERS
JBOSS WILDFLY
• Nouveau nom de JBoss AS
• Dénomination pour éviter la confusion avec JBoss EAP
• Supporte Java EE 7
• Rapi...
MYTHES ET RÉALITÉS
SUR JAVA EE
JAVA EE EST LOURD ET LENT
Faux
JAVA EE EST LOURD ET LENT
Depuis 2010
Temps de démarrage à vide Server Java EE JBoss
JBoss AS 5.1.0

Java EE 5
JBoss AS 7.1.1

Java EE 6
Wildfly 9.0.1

Java EE 7...
LE DÉVELOPPEMENT JAVA EE
EST LENT, CONFUS ET COMPLIQUÉ
LES CRITIQUES
• Modèle de programmation pas clair
• Code difficile à tester ou débuger
• Le redéploiement systématique de l...
MODÈLE DE PROGRAMMATION
• Depuis Java EE 6, CDI est le modèle de
programmation par défaut
• Adopté ou supportant les spéci...
TEST ET DEBUG
• Eclipse, NetBeans et IntelliJ permettent
tous de débuger du code s’exécutant
dans dans un navigateur
• JBo...
REDÉPLOIEMENT
• JRebel permet de réduire
considérablement le redéploiement de
l’application
• Version personnelle gratuite...
DEMO
JAVA EE EST MONOLITHIQUE
SUR LETERRAIN…
• Aujourd’hui, tous les serveurs d’application sont modulaires et
permettent de définir sa propre stack
• Gl...
UNE APPROCHE “LAZY”
• WildFly n’active plus les services non utilisés.
• De même pour GlassFish et Websphere
WILDLFY EST PATCHABLE
$ jboss-cli.sh --command="patch apply ~/Downloads/
wildfly-10.0.0.Beta2-weld-3.0.0.Alpha13-patch.zip...
DEMO
JAVA EE N’EST PAS ASSEZ RICHE ET
EVOLUETRES LENTEMENT
JAVA EE N’EST PAS ASSEZ RICHE
• C’est vrai, mais la plateforme n’a pas vocation à être complète
• Chaque serveur dispose d...
JAVA EE EVOLUE LENTEMENT
• C’est vrai… et faux depuis Java EE 6
• L’arrivée de CDI marque l’ajout dans Java EE d’un systèm...
JAVA EE A UNE ARCHITECTURE
BLOQUANTE
SUR LETERRAIN…
• Servlet 3.0 (Java EE 6) → servlet asynchrones
• EJB 3.1 (Java EE 6) → traitement asynchrone avec @Asynchr...
CONCLUSION
Prochain SlideShare
Chargement dans…5
×

Java EE, un ami qui vous veut du bien

370 vues

Publié le

Présentation sur Java EE / Wildfly faite au JUG SummerCamp 2015.
Venez revisiter les idées reçues sur Java EE. Cette présentation revisite les mythes autour de Java EE pour voir si ils sont toujours vrais ou faux.

Publié dans : Logiciels
0 commentaire
2 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
370
Sur SlideShare
0
Issues des intégrations
0
Intégrations
10
Actions
Partages
0
Téléchargements
11
Commentaires
0
J’aime
2
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Java EE, un ami qui vous veut du bien

  1. 1. JAVA EE UN AMI QUIVOUSVEUT DU BIEN Antoine Sabot-Durand: @antoine_sd
  2. 2. ANTOINE SABOT-DURAND • Senior Software Engineer @Red Hat • Java & OSS : • CDI co-spec lead • CDI community development • Apache Deltaspike committer • @antoine_sd
  3. 3. AGENDA • Retour sur Java EE • Mythes et réalités Java EE • Conclusion
  4. 4. Previously on Java EE
  5. 5. JAVA EE HISTORY 1998 1999 2000 2001 2002 2003 2004 2005 Java Professional Edition J2EE 1.2 12/12/1999 J2EE 1.3 09/24/2001 J2EE 1.4 11/11/2003 2008 2009 2010 2011 Java EE 5 05/11/2006 Java EE 6 12/10/2009 2012 2013 Java EE 7 06/22/2013 2014 2015 2006 2016 2007 2017 Java EE 8 … 2017
  6. 6. JAVA EE 7 JSR EJB 3.2 Servlet 3.1 CDI Extensions Bean Validation 1.1 Batch 1.0 Web Fragments JCA 1.7JMS 2.0JPA 2.1 Managed Beans 1.0 Concurrency 1.0 Common Annotations 1.1 Interceptors
 1.2, JTA 1.2 CDI 1.1 JSF 2.2,
 JSP 2.3,
 EL 3.0 JAX-RS 2.0, JAX-WS 2.2 JSON 1.0 WebSocket 1.0
  7. 7. JAVA EE 7 SERVERS
  8. 8. JBOSS WILDFLY • Nouveau nom de JBoss AS • Dénomination pour éviter la confusion avec JBoss EAP • Supporte Java EE 7 • Rapide, Léger, administration polyvalente • Developer Friendly • Open Source
  9. 9. MYTHES ET RÉALITÉS SUR JAVA EE
  10. 10. JAVA EE EST LOURD ET LENT
  11. 11. Faux JAVA EE EST LOURD ET LENT Depuis 2010
  12. 12. Temps de démarrage à vide Server Java EE JBoss JBoss AS 5.1.0
 Java EE 5 JBoss AS 7.1.1
 Java EE 6 Wildfly 9.0.1
 Java EE 7 0ms 4000ms 8000ms 12000ms 16000ms 2 346 2 960 16 000
  13. 13. LE DÉVELOPPEMENT JAVA EE EST LENT, CONFUS ET COMPLIQUÉ
  14. 14. LES CRITIQUES • Modèle de programmation pas clair • Code difficile à tester ou débuger • Le redéploiement systématique de l’appli est pénalisant (parce que Java EE c’est lent)
  15. 15. MODÈLE DE PROGRAMMATION • Depuis Java EE 6, CDI est le modèle de programmation par défaut • Adopté ou supportant les spécifications majeure (JPA, JAX-RS, Servlet, JSF…), il est devenu le ciment de la plateforme
  16. 16. TEST ET DEBUG • Eclipse, NetBeans et IntelliJ permettent tous de débuger du code s’exécutant dans dans un navigateur • JBoss Arquillian est la solution pour pouvoir tester du code nécessitant un ou plusieurs container
  17. 17. REDÉPLOIEMENT • JRebel permet de réduire considérablement le redéploiement de l’application • Version personnelle gratuite • Fonctionne avec les 3 principaux IDE du marché
  18. 18. DEMO
  19. 19. JAVA EE EST MONOLITHIQUE
  20. 20. SUR LETERRAIN… • Aujourd’hui, tous les serveurs d’application sont modulaires et permettent de définir sa propre stack • GlassFish a ouvert la voie avec son architecture OSGi • WildFly utilise un mécanisme similaire (JBoss Module) • Websphere Liberty a également sa solution
  21. 21. UNE APPROCHE “LAZY” • WildFly n’active plus les services non utilisés. • De même pour GlassFish et Websphere
  22. 22. WILDLFY EST PATCHABLE $ jboss-cli.sh --command="patch apply ~/Downloads/ wildfly-10.0.0.Beta2-weld-3.0.0.Alpha13-patch.zip" { "outcome" : "success", "result" : {} } $
  23. 23. DEMO
  24. 24. JAVA EE N’EST PAS ASSEZ RICHE ET EVOLUETRES LENTEMENT
  25. 25. JAVA EE N’EST PAS ASSEZ RICHE • C’est vrai, mais la plateforme n’a pas vocation à être complète • Chaque serveur dispose de spécificité qui viennent compléter la plateforme • Java EE est la base de la plateforme, le standard sur lequel les éditeurs construisent leur plateforme
  26. 26. JAVA EE EVOLUE LENTEMENT • C’est vrai… et faux depuis Java EE 6 • L’arrivée de CDI marque l’ajout dans Java EE d’un système d’extension portable • Java EE a désormais un ADN de mutable
  27. 27. JAVA EE A UNE ARCHITECTURE BLOQUANTE
  28. 28. SUR LETERRAIN… • Servlet 3.0 (Java EE 6) → servlet asynchrones • EJB 3.1 (Java EE 6) → traitement asynchrone avec @Asynchronous • Servlet 3.1 (Java EE 7) → utilisation des API I/O non bloquantes • JAX-RS 2.0 (Java EE 7) → traitement asynchrone avec callback • Concurrent utilities (Java EE 7) → Création de threads managées
  29. 29. CONCLUSION

×