L'écosystème Java

2,790 views

Published on

Tareq Abed Rabbo
Club Info Plus – Fac des sciences
28/4/2007

Published in: Technology
  • Be the first to comment

  • Be the first to like this

L'écosystème Java

  1. 1. L’écosystème Java Tareq Abed Rabbo Club Info Plus – Fac des sciences 28/4/2007
  2. 2. Plan
  3. 3. Java, c’est quoi ? Java Standard Edition (Java SE) Enterprise Edition (Java EE) Micro Edition (Java ME)
  4. 4. Java SE Plateforme JVM API Outils JRE JDK
  5. 5. Evolution de Java 1995 Naissance de Java! Java SE 6 2006 - Scripting Language - JDBC 4.0 - JAXB 2.0 JDK 1.0 1996 - Initial release JDK 1.1 1997 - Java Beans - JDBC - RMI - Inner classes - AWT J2SE 1.2 1998 - Reflection - JIT compiler - Collections - Swing - strictfp Java SE 5.0 2004 - Generics - Metadata - Autoboxing - Enumerations - Varargs - Enhanced for loop - Concurrency utils - JMX J2SE 1.4 2002 - assert - JAXP - regular expression - NIO J2SE 1.3 2000 - HotSpot JVM - JNDI Java SE 7 2008
  6. 6. Caractéristiques <ul><li>Langage Objet </li></ul><ul><ul><li>« Inspiré » par C++ </li></ul></ul><ul><ul><li>Simple </li></ul></ul><ul><ul><li>Sûr </li></ul></ul><ul><ul><li>Dynamique </li></ul></ul><ul><li>Machine virtuelle </li></ul><ul><ul><li>Portable (Write Once Run Anywhere) </li></ul></ul><ul><li>Gestion automatique de la mémoire </li></ul><ul><ul><li>Garbage Collector </li></ul></ul><ul><li>Bibliothèque standard massive </li></ul><ul><ul><li>Internet </li></ul></ul><ul><ul><li>IO </li></ul></ul><ul><ul><li>Threads, concurrence </li></ul></ul><ul><ul><li>Collections </li></ul></ul><ul><ul><li>JDBC </li></ul></ul>
  7. 7. Java Standard API API Java standard Multi Threads I/O Collections XML SQL Security RMI Internet Desktop Util
  8. 8. Critiques <ul><li>Choix langage </li></ul><ul><ul><li>Pas d’héritage multiple </li></ul></ul><ul><ul><li>Que des méthodes « virtuelles » </li></ul></ul><ul><ul><li>Types primitifs </li></ul></ul><ul><li>Look and Feel </li></ul><ul><ul><li>Applications Desktop </li></ul></ul><ul><li>Performance </li></ul><ul><ul><li>Lent parce qu’interprété </li></ul></ul>
  9. 9. Est-ce que Java est lent ? <ul><li>Java est plus récent que C, C++ </li></ul><ul><li>Benchmarks </li></ul><ul><ul><li>Micro benchmarks </li></ul></ul><ul><li>GC générationnel </li></ul><ul><li>Amélioration du compilateur </li></ul><ul><ul><li>Optimisation des registres </li></ul></ul><ul><li>Amélioration du runtime </li></ul><ul><ul><li>JIT </li></ul></ul><ul><ul><li>Hot Spot </li></ul></ul><ul><ul><li>Class Map </li></ul></ul>En fait, Java n’est pas lent !
  10. 10. Java EE <ul><li>Spécifications standards </li></ul><ul><li>Implémentations concurrentes </li></ul><ul><li>Serveur d’application </li></ul><ul><ul><li>Accès aux ressources (BD, Mail, …) </li></ul></ul><ul><ul><li>Sécurité </li></ul></ul><ul><ul><li>Transactions </li></ul></ul><ul><ul><li>Internet </li></ul></ul><ul><ul><li>CORBA/RMI </li></ul></ul><ul><ul><li>Management & monitoring </li></ul></ul>
  11. 11. Technologies Java EE Standards API Java EE JSP/Servlet JNDI XML Transactions Web Services Security JMX JMS JCA EJB
  12. 12. Qui fait Java ? <ul><li>Sun est propriétaire du trademark Java </li></ul><ul><li>JCP : Java Community Process </li></ul><ul><li>EC : Comité exécutive </li></ul><ul><li>Membres </li></ul><ul><ul><li>Entreprises </li></ul></ul><ul><ul><li>Individus </li></ul></ul><ul><li>Groupes d’experts </li></ul><ul><li>JSR: Java Specification Request </li></ul><ul><ul><li>Initiation par un membre </li></ul></ul><ul><ul><li>Approuvé pour développement par l’EC </li></ul></ul><ul><ul><li>Early Draft </li></ul></ul><ul><ul><li>Public Draft/Final Release </li></ul></ul><ul><ul><li>Maintenance </li></ul></ul>
  13. 13. JCP : EC pour Java SE et EE Source : jcp.org
  14. 14. JCP Source : jcp.org
  15. 15. Critiques <ul><li>Standardisation prématurée ou excessive </li></ul><ul><ul><li>EJB </li></ul></ul><ul><li>Ou pas assez poussée </li></ul><ul><ul><li>JTA </li></ul></ul><ul><li>Standards mort-nés </li></ul><ul><ul><li>Java.util.logging </li></ul></ul><ul><li>Evolution lente </li></ul><ul><ul><li>JSF </li></ul></ul>
  16. 16. Open Source <ul><li>Communautés open source vibrants </li></ul><ul><li>Souvent moteur d’innovation </li></ul><ul><li>Standards de facto </li></ul><ul><ul><li>Struts (maintenant dépassé) </li></ul></ul><ul><ul><li>Spring </li></ul></ul><ul><ul><li>Hibernate </li></ul></ul>
  17. 17. Où va Java ? <ul><li>Langages dynamiques </li></ul><ul><ul><li>Groovy </li></ul></ul><ul><li>Développement web composants </li></ul><ul><ul><li>JSF </li></ul></ul><ul><li>JDK 7 : Open Source </li></ul>

×