l'écosystème java

17
L’écosystème Java Tareq Abed Rabbo Club Info Plus – Fac des sciences 28/4/2007

Upload: teejug

Post on 11-Jul-2015

2.324 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: L'écosystème Java

L’écosystème Java

Tareq Abed Rabbo

Club Info Plus – Fac des sciences

28/4/2007

Page 2: L'écosystème Java

Plan

Page 3: L'écosystème Java

Java, c’est quoi ?

Java

Standard Edition (Java SE)

Enterprise Edition (Java EE)

Micro Edition (Java ME)

Page 4: L'écosystème Java

Plateforme

Java SE

JVM

API

Outils

JRE

JDK

Page 5: L'écosystème Java

Evolution de Java

Java SE 62006 - Scripting Language - JDBC 4.0 - JAXB 2.0JDK 1.0

1996 - Initial release

JDK 1.11997 - Java Beans - JDBC - RMI - Inner classes - AWT

J2SE 1.2 1998 - Reflection - JIT compiler - Collections - Swing - strictfp

Java SE 5.02004 - Generics - Metadata - Autoboxing - Enumerations - Varargs - Enhanced for loop - Concurrency utils - JMX

J2SE 1.42002 - assert - JAXP - regular expression - NIO

J2SE 1.32000 - HotSpot JVM - JNDI

Java SE 72008

1995Naissance de Java!

Page 6: L'écosystème Java

Caractéristiques

• Langage Objet– « Inspiré » par C++

– Simple

– Sûr

– Dynamique

• Machine virtuelle– Portable (Write Once Run Anywhere)

• Gestion automatique de la mémoire– Garbage Collector

• Bibliothèque standard massive– Internet

– IO

– Threads, concurrence

– Collections

– JDBC

Page 7: L'écosystème Java

Java Standard API

API Java standard

Multi Threads I/O

Collections XML

SQL Security

RMI Internet

Desktop Util

Page 8: L'écosystème Java

Critiques

• Choix langage– Pas d’héritage multiple

– Que des méthodes « virtuelles »

– Types primitifs

• Look and Feel– Applications Desktop

• Performance– Lent parce qu’interprété

Page 9: L'écosystème Java

Est-ce que Java est lent ?

• Java est plus récent que C, C++

• Benchmarks– Micro benchmarks

• GC générationnel

• Amélioration du compilateur– Optimisation des registres

• Amélioration du runtime– JIT

– Hot Spot

– Class Map En fait, Java n’est pas lent !

Page 10: L'écosystème Java

Java EE

• Spécifications standards

• Implémentations concurrentes

• Serveur d’application– Accès aux ressources (BD, Mail, …)

– Sécurité

– Transactions

– Internet

– CORBA/RMI

– Management & monitoring

Page 11: L'écosystème Java

Technologies Java EE Standards

API Java EE

JSP/Servlet JNDI

XML Transactions

Web Services Security

JMX JMS

JCA EJB

Page 12: L'écosystème Java

Qui fait Java ?

• Sun est propriétaire du trademark Java

• JCP : Java Community Process

• EC : Comité exécutive

• Membres– Entreprises

– Individus

• Groupes d’experts

• JSR: Java Specification Request – Initiation par un membre

– Approuvé pour développement par l’EC

– Early Draft

– Public Draft/Final Release

– Maintenance

Page 13: L'écosystème Java

JCP : EC pour Java SE et EE

Source : jcp.org

Page 14: L'écosystème Java

JCP

Source : jcp.org

Page 15: L'écosystème Java

Critiques

• Standardisation prématurée ou excessive– EJB

• Ou pas assez poussée– JTA

• Standards mort-nés– Java.util.logging

• Evolution lente– JSF

Page 16: L'écosystème Java

Open Source

• Communautés open source vibrants

• Souvent moteur d’innovation

• Standards de facto– Struts (maintenant dépassé)

– Spring

– Hibernate

Page 17: L'écosystème Java

Où va Java ?

• Langages dynamiques– Groovy

• Développement web composants– JSF

• JDK 7 : Open Source