Thématiques principales

mercredi 21 mars 2018

JEE : Petite Intro

Nous avons traité dans quelques articles précédents de l'évolution de Java en partant de la version 1.4 jusqu'à presque aujourd’hui et la version 9 [1]. Il faut savoir qu’au fils de ces années, cette évolution a été suivi par sa version Entreprise. Celle ci nommé sous l’acronyme de J2EE (Java 2 Enterprise Edition) quand java n’en était encore qu'à la version 1.4, elle porte maintenant l’acronyme simplifié JEE (Java Enterprise Edition).

Ainsi avant d’entrer dans les détails techniques propres à cette technologie, je vous propose de faire un petit tour d’horizon des fonctionnalités offertes par cette version entreprise de Java [2].

Java pour l’entreprise est apparue en 1998 et a rapidement intégré les premières API importante du noyau JEE que l’on connaît encore bien aujourd’hui avec les :Servlets, JSP, EJB, JTA, JNDI, JavaMail et JMS (on notera aussi des extension JDBC car JPA n’existait pas encore et JAF).

Rapidement se sont greffés des API très connus comme la JSTL, JAXP (parseur xml) et moins connu comme JCA (Java Connector Architecture et non Java Cryptography Architecture de la version standard de Java) et JAAS (Java Authentication and Authorization Services qui en fait a ete ajoute au java standard mais qui va beaucoup plus etre utile sur les application web et donc JEE).

C’est avec la version 1.4 que J2EE a commencé à se segmenter autour de trois axes. Les techno Web (WebServices, XML, Servlets, JSP, JSTL et les nouvelles JSF), les technos d’entreprises ( avec les fameux et redoutés EJB 2) et enfin les technos de management et de sécurité (JMX et JACC mais oublions le…. ^^)

L’arrivée de Java 5 a été un bouleversement pour l'écosystème java. Java EE 5 a fait de même. La partie Web s’est enrichie de StAX pour le streaming Xml et de SAOP tandis que la partie Entreprise a enfin vu naître les EJB 3 et JPA (issu des techno Hibernate).

JEE 6 a introduit la notion de WebProfile permettant une simplification de la certification JEE pour les conteneurs applicatif leger. On a ainsi pu avoir des conteneurs d’applications se focalisant essentiellement sur le seul respect du web profile. Le WebProfile ne contient par définition que les parties cœurs de JEE, c’est à dire la partie Web (JSP,JSTL, Servlet, etc) en excluant la partie Web service et la Partie Entreprise, c’est à dire les EJB (en version simplifié “Lite”) JPA, et JTA. La version 6 de JEE a aussi amener de nouvelles API: un enrichissement de la partie Web Service avec JAX-RS et JAXM des ajouts dans la partie entreprise comme CDI (issu des technos Spring), les interceptons (équivalent aux filtres de la partie servlet) [3,4]

En 2013 est ensuite venu JEE 7 avec l’ambition de renouveler les technologies permettant la communication entre le front et le back. La partie Web a donc intégré un parseur JSON, l’API WebSocket (tout ça pour HTML5) et l'amélioration des servlets en proposant un mécanisme asynchrone et donc des outils pour gérer la concurrence au sein de la partie Entreprise. A cela, cette composante de JEE s’est également doté d’un mécanisme de Batch permettant l'exécution de traitement spécifique, parallélisable, etc… Donc pas de grosse révolution mais une volonté clairement affichée de suivre le mouvement, a un moment ou le monde du dev à basculer dans le BigData, le cloud, les archi distribuées, (l’IA), etc… [5]

Enfin Java EE 8 ! Sortie en septembre dernier [6], elle repose sur le socle de Java 9. Dans la continuité de JEE 7 ou l’on sentait bien une volonté de tendre vers les technologies Cloud, BD et distribué, celle ci propose des évolutions technique de l’existant et quelque nouveauté comme la prise en charge de la nouvelle norme HTTP/2 ou l'ajout de l'API JSON-B. Certains diront que son évolution a manqué le coche cette année mais JEE 9 étant prévu cette année, JEE 8 doit plutôt être vu comme un temps de pause et une bonne prise d’appuis (avec le passage à java 9 et ses modules) avant un nouveau rebond (espérons le!)

Voila, un petit tour d’horizon historique sur JEE qui n’engage que moi qui attend de voir ce que nous donnera les futur évolutions. En attendant celle-ci, je vous proposerai donc de poursuivre cet article par une liste d’articles traitant du contenu technique de JEE par la pratique. Cet article en fait donc une petite introduction que, j'espère, vous aurez appréciée.

Référence 

[1] https://un-est-tout-et-tout-est-un.blogspot.fr/p/java.html
[2] https://en.wikipedia.org/wiki/Java_EE_version_history
[3] http://alexander.holbreich.org/javaee5-vs-javaee6/
[4] https://blog.xebia.fr/2012/02/01/java-ee-6-une-plateforme-simple-et-legere-spring-na-qua-bien-se-tenir/
[5] http://blog.ippon.fr/2013/06/18/java-ee-7-plus-quun-nouveau-numero-de-version/
[6] http://www.oracle.com/technetwork/java/javaee/tech/index.html

Aucun commentaire:

Enregistrer un commentaire