Plate-forme Java

Un article de Wikipédia, l'encyclopédie libre.
(Redirigé depuis Plateforme Java)
Aller à : navigation, rechercher
Page d'aide sur l'homonymie Pour les articles homonymes, voir Plateforme.
Java Platform
Image illustrative de l'article Plate-forme Java
Logo

Développeur James Gosling / Sun Microsystems /
Première version 1999 (J2EE 1.2)
Dernière version SE 8 update 25 (1.8.0_25) (14 octobre 2014)

SE 7 update 71 (1.7.0_71) (14 octobre 2014) [+/-]

Écrit en Java, C++[citation nécessaire]
Environnement Windows 7, Windows XP, Mac OS X, Linux and Solaris[1]
Type technique
Licence logiciel propriétaire / gratuiciel[2]
Site web http://www.java.com/fr

La plate-forme Java (the Java Platform en anglais, plateforme Java 2 anciennement) désigne diverses plates-formes logicielles produites par Sun Microsystems, puis Oracle Corporation, permettant de développer et d'exécuter des programmes écrits en langage Java indépendants de tout processeur et de tout système d'exploitation, conformément à la technologie Java.

Une plate-forme se compose principalement d'un moteur d'exécution (appelé une machine virtuelle) et d'un compilateur fourni avec un ensemble de bibliothèques standards dont il existe plusieurs implémentations pour divers matériels et systèmes d'exploitation, de façon à ce que les programmes Java puissent s'exécuter de façon identique sur chacun d'entre eux.

Chaque version de plate-forme Java répond à des spécifications normalisées dans les Java Specification Requests ou (JSR).

Enfin, à l'instar de la plateforme Microsoft .NET ou de l'environnement Eclipse qui ciblent plusieurs langages, la plateforme Java vise à supporter d'autres langages de programmation que son langage natif Java.

Plateforme ou Framework ?[modifier | modifier le code]

Le terme Java Platform est avant tout une dénomination commerciale. Sa désignation comme Plate-forme plutôt que Framework se justifie cependant par l'intégration, avec les librairies logicielles constituant le framework Java, de la JVM qui permet d'exécuter les programmes Java sur différents OS.

Ainsi, chaque plate-forme Java ne se limite par à une bibliothèque de composants mis à disposition, elle se caractérise de surcroit par sa faculté à exécuter des logiciels.

Le terme de framework Java doit ainsi être réservé plutôt à des outils logiciels complémentaires enrichissant Java avec des librairies complémentaires, tel que Spring framework.

Java Virtual Machine[modifier | modifier le code]

Article détaillé : Machine virtuelle Java.

La machine virtuelle Java (anglais Java virtual machine abr. JVM) est un appareil informatique fictif (qui exécute des programmes compilés sous forme de bytecode Java. Cet appareil fictif est émulé par un logiciel spécifique à chaque plate-forme ou couple (machine/système d’exploitation) et permet aux applications Java compilées en bytecode de produire les mêmes résultats quelle que soit la plate-forme, tant que celle-ci est pourvue de la machine virtuelle Java adéquate.

Éditions et versions de plate-formes[modifier | modifier le code]

Contenu et numérotation des plate-formes[modifier | modifier le code]

Chaque plate-forme Java est constituée de plusieurs programmes, chacun d'entre eux implémentant une JSR qui apporte l'une des fonctionnalités de l'ensemble des capacités de la plate-forme. Par exemple, l'un d'entre eux appelé le compilateur Java permet de convertir les codes source Java en bytecode Java (un langage intermédiaire destinée à la JVM (Java Virtual Machine ou machine virtuelle Java)) est fourni par le JDK (Java Development Kit). Un autre élément, appelé le JRE (Java Runtime Environment) implémente habituellement la JVM grâce à un compilateur JIT (Just In Time) qui convertit à la volée le bytecode intermédiaire en un code natif pour la machine.

Chaque plate-forme, ou édition Java 2, est ainsi désignée par :

  • son nom d'édition : Java SE, Java EE, Java ME ou JavaFX ;
  • son numéro de version 'produit': de 1.2 en 2000 à 1.7 en 2012, abrégés du seul numéro secondaire depuis J2SE 5.0 en 2003 ;
  • son numéro de version 'développeur' correspondant à divers correctifs ou patches: ainsi, la version de la plate-forme de référence avril 2013 est Java SE 1.7.0_21.

Les éditions Java 2[modifier | modifier le code]

Les frameworks Java SE, Java EE, Java FX.

Il existe, dès la version 1.2 de Java, plusieurs distributions (edition en anglais) de la plate-forme Java[3], ce pour chaque version successive de Java.

On retrouve essentiellement :

  • les deux éditions historiques :
    • la plateforme 'de référence' Java Standard Édition (ou Java SE, et auparavant J2SE) destinée aux ordinateurs de bureau ;
    • la Java Enterprise Édition (ou Java EE, et auparavant J2EE) destinée aux serveurs Web, sur-ensemble de Java SE assorti d'un SDK complémentaire;
  • les plate-formes additionnelles :

Chacune de ces déclinaisons est considérée comme constituant un framework à part entière.

Versions et historique[modifier | modifier le code]

Les premiers environnements Java datent de 1995, mais c'est en 2000 avec la version 1.2 du langage qu'est évoquée pour la première fois la notion de plate-forme Java, Sun introduisant alors deux déclinaisons, ou frameworks :

  • Java 2 Standard Edition (J2SE), plateforme avec les API et bibliothèques de bases, devenue Java SE
  • Java 2 Enterprise Edition (J2EE), extension avec des technologies pour le développement d'applications d’entreprise, devenue Java EE

Sun les qualifie alors de plateforme Java 2 par opposition aux premières générations 1.0 et 1.1. Toutes les versions ultérieures, de J2EE 1.2 à Java SE ou Java EE 7 restent désignées sous le qualificatif de plateformes Java 2[5], bien que le '2' ait été depuis officiellement abandonné.

Oracle a annoncé en juillet 2011 la sortie de Java 7 pour le mois d'aout de cette même année; début 2012 cette version était toutefois toujours préconisée à la communauté de développeurs uniquement. Java 8 est quant à lui sorti en mars 2014.

La plateforme Java a connu les versions suivantes :

Version Last update Dénomination JSE/JRE Nom de code Spécifications JDK Statut juin-2014 Période de maintenance
1.8 0.25 Java SE 8 Kenai (en) JSR 337 1.8 Stable, actuel, version 1.8.0.25 (JDK 8u25 build b17) proposée aux développeurs[6] 2014-20??
1.7 0.71 Java SE 7 Dolphin (en) JSR 336 1.7 Stable, actuel, version 1.7.0.71 proposée aux développeurs[7] mi-2014 2011-201?
1.6 0.45 Java SE 6 Mustang (en) JSR 270 1.6 fin de vie le 16/4/2013 2005-2011
1.5 0.22 J2SE 5.0 Tiger (en) JSR 176 1.5 Obsolète 2002-2006
1.4 2.30 J2SE 1.4 Merlin (en) JSR 59 1.4 Obsolète 2000-2004
1.3 1.29 - Kestrel (en) JSR 58 1.3 Obsolète 2000-2001
1.2 - - (en) JSR 52 1.2 N'est plus soutenu de façon active 2000-2006

À noter que la plateforme Enterprise Edition (Java EE) en est quant à elle à sa version 6 début 2013 (Java EE 6 SDK Update 4), et fonctionne avec les JDK 6 ou 7[8], et la plateforme Mobile Edition (Java ME) à sa version 3.3 (SDK v. 3.3)[9]. Les numéros de versions de ces plateformes sont ainsi ceux de leur SDK.

Failles de sécurité[modifier | modifier le code]

  • En avril 2012[10], une faille de sécurité est identifiée dans les versions Java 5, 6 et 7, compromettant potentiellement la sécurité des systèmes concernés[11]. Un correctif a été publié le 31 août 2012[12].
  • Le 10 janvier 2013, le département de la sécurité intérieure des États-Unis (Department of Homeland Security) a recommandé la désactivation de Java sur tous les systèmes concernés, suite à une nouvelle faille. Le 11 janvier 2013, plusieurs éditeurs de solutions de sécurité, dont AlienVault, se sont joints à cette recommandation[13].

Les langages supportés[modifier | modifier le code]

À l'instar de la plateforme Microsoft .NET qui s'ouvre à plusieurs langages, la plateforme Java vise à supporter d'autres langages de programmation que son langage natif Java, notamment des langages de script :

Voir aussi[modifier | modifier le code]

Notes et références[modifier | modifier le code]