Crash Course sur les environnements Java

Je suis actuellement en mode “Documentation” et je me suis dit que le web pourrait profiter d’un résumé, en français, du Jargon de l’univers Java.

Je ne suis pas un développeur Java mais j’ai eu a administrer des serveurs pendant 4 ans, et j’en fais encore aujourd’hui. Ce document résume ma compréhension des usages. Si vous avez des suggestions ou vous voulez me corriger, dites-moi le dans les commentaires et j’ajusterai mon billet.

 

Les versions

La majeure différence entre les Java réside dans leur version et ce qui y est distribué avec. La différence majeure réside entre

  • JDK (Java Development Kit),
  • JRE (Java Runtime Environement), et finalement il existe aussi la
  • JME (Java Mobile Edition) pour les devices mobile.

C’est un peu comme une distribution Windows XP Professionnel ou Windows XP Media Centre.

Il existe plusieurs distributeurs d’environnement Java, notamment : IBM, SUN, OpenJdk. La norme et elles sont toutes basés sur la JVM de SUN Microsystems. L’inventeur de Java.

L’Avantage majeur de Java est le fait qu’il existe des distributions pour toutes les plateformes : Windows, Mac, Linux, Solaris, FreeBSD, etc.

 

Termes fréquemment utilisés

  • « JVM » (Java Virtual Machine) est en fait l’appellation utilisée pour parler de ce qui est exécuté. Ce qui est ci-haut mentionné exécutent toutes des JVM… avec des classes (jar) différentes.
  • « Jar » est en fait, grosso-modo, une archive zippée d’un dossier de classe.
  • « Class » une classe compilée Java.
  • « Container » est en fait ce qu’on appelle un Serveur applicatif. Bref, un serveur http qui roule les classes Java.
  • « J2EE » est un accronyme qui peut être vue comme une spécification technique (penser ISO) fournie par SUN pour les standards d’environnement d’exécution (« Container »).

 

Serveur Applicatif

Il en existe plusieurs. La norme avec les logiciels suivant la tendance Open-Source utilisent la version Apache du container J2EE appelé Tomcat. Atlassian utilise Tomcat dans ses version « self hosted » distribués.

Il en existe d’autres comme Glassfish de Sun Microsystem, WebObjects de Apple, Tomcat de Apache Foundation, JBoss de RedHat, WebSphere de IBM, et bien d’autres.

 

Une classe

C’est quoi?. C’est du code java compilé.

La hiérarchie est faite en fonction du « namespacing » inspiré des standards du DNS. Une classe spécifique Java pour un WebService SOAP pour traduire du français au Klingon pourrait être appelé : i.e. com.renoirboulanger.startrek.klingon.soap.jar.

 

Suggestions

Je pense avoir fait le tour du sujet. Dites-moi dans les commentaires si j’ai oublié quelque chose d’important.

 

2 Replies to “Crash Course sur les environnements Java”

  1. Java EE (version 6 depuis décembre 2009) a remplacé J2EE (qui sonne désormais très archaïque).

    Sinon Tomcat n’est conforme ni à J2EE ni à JavaEE, mais propose un sous-ensemble de la spécification. Quant à WebObjects ce n’est même pas un sous-ensemble, c’est simplement programmé en Java.

    1. Merci de l’éclaircissement. Si je ne me trompe pas Tomcat (ou Glassfish, ou WebObjects, ou WebSphere, ou JBoss) sont des serveurs applicatifs qui roulent du Java et qui servent de serveur http pour afficher ce que le Runtime Environement/JDK interprète selon les classes (jars) chargés.

Comments are closed.