Crash Course sur les environnements Java

Tags

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.