Java EE, le mal aimé, fait son retour en force

Le dernier Paris JUG avant la pause estivale était consacré entièrement à Java EE 6.

Adam Bien, membre du JCP et Java champion, nous a fait une présentation en deux parties : d’abord les concepts et ensuite des exemples de code en direct.

Les concepts.

L’utilisation des annotations et du principe de « convention over configuration » fait souffler une brise légère sur notre vision de Java EE !

Java EE se veut maintenant rapide, simple, léger, « lean » et permettre des cycles de développement court. Bien sur la comparaison avec Spring arrive très vite : Spring nécessiterait plus de configuration et Java EE 6 serait plus basé sur les conventions.

D’abord j’aimerais insister sur le principe de « convention over configuration » qui a fait le succès de frameworks très productifs tels que Ruby on Rails, Grails ou encore Play. Si l’ensemble reste fortement configurable dans la joie des fichiers XML, ce principe permet d’alléger considérablement le travail de développeur et donc de le rendre plus productif. Cela permet aussi d’avoir un framework plus cohérent.

Adam Bien nous fait un retour sur l’ensemble des concepts phare de l’architecture : ECB, SOA et DDD.

Il nous présente d’abord le pattern Entity Control Boundary qui est un pattern similaire à MVC et son application avec JEE 6. Il en vient ensuite rapidement au concept du Domain Driven Design qu’il met en avant ! Ce qui fera plaisir à certains 🙂 L’idée est d’avoir des entités riches et réellement utiles et d’enlever la couche DAO. Les domaines sont mis en avant au détriment des services. La logique s’oppose donc à l’architecture SOA classique qui s’articule autour du trio Service/DAO/Domain. C’est une approche avec état qui permet alors d’adresser certains problèmes plus simplement et de remettre la complexité du métier au sein de l’application. La synchronisation entre les objets et la base de données se fait grâce à JPA/Hibernate. Elle permet aussi d’avoir moins de couche technique et s’interface très bien avec REST.

Il présente aussi la facilité de mettre en place la vue avec JSF 2 qui permet  d’accéder directement à des Managed Beans ou à des EJB, grâce à un Expression Language. La couche de configuration de la vue en devient presque inexistante.

Il fait bien sur le tour des apports et des nouveautés de Java EE 6 :

  • un JNDI standardisé
  • EJB 3.1 + REST facilité avec l’annotation @Path (pas de XML, pas de configuration de container)
  • des timers similaire au « cron » avec @Schedule
  • des singletons avec @Singleton (en combinant avec @PostConstruct, on peut ainsi créer des singletons simplement et de manière sûre).
  • tâches asynchrones avec @Asynchronous qui renvoient des objets de type Future<?>.
  • EJB qui exposent directement leur métriques en JMX.
  • Selon Adam, la différence de performances entre un Pojo et un EJB est infinitésimale – alors que la possibilité de monitorer l’application en production est « priceless ».
  • CDI qui s’inspire de ce qui a été introduit par Spring

Dans la deuxième partie de cette soirée, Adam Bien fait le tour en direct des principales fonctionnalités de Java EE 6.

En conclusion, pour quelqu’un qui, comme moi, n’a pas une grand expérience sur toute l’architecture SOA et qui fuit les fichiers de configurations, Java EE 6 semble clair, facile à prendre en main et réellement efficace ! La mise en avant de l’approche DDD est aussi de bonne augure la qualité des applications.

Allez pour compléter, vous trouverez d’autres excellents résumés ici :

Une réflexion au sujet de « Java EE, le mal aimé, fait son retour en force »

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *