Soyons clairs, je ne remets pas du tout en cause ta compétence, j'exprime juste une expérience différente qui m'amène à d'autres choix.
Je suis moi même spécialiste des architectures JEE que je pratique depuis 2000, particulièrement pour les applications web (RIA).
J'ai créé 2 frameworks liés à ce type d'applications, un (en 2000) était assimilable à struts1, l'autre (en 2005) une approche dictionnaire : on tape une requête sql, le framework s'occupe de la mettre en forme sur la base du dictionnaire, pareil pour un écran de mise à jour, tous les contrôles et l'apparence des éléments sont décris dans le dico.
Bref, une démarche comme une autre, et au final, les problématiques de tous framework, la règle des 80 - 20 (ça fait très bien 80% du boulot, et pour les 20% qui restent, on galère plus ou moins à contourner le framework).
Au final, j'ai une préférence pour les frameworks "bas niveau", qui font juste ce qu'il faut dans leur domaine de compétence (par exemple JSF pour orchestrer, Primefaces pour l'affichage, EJB pour le modèle "métier").
Je ne crois pas au "super framework" qui sait tout faire, même les éléments que j'ai cité avant ne sont "que" pour des applications web typées "client lourd".
Avec une contrainte haute disponibilité ou un nombre très important de clients, je choisirais autre chose.
En résumé, des briques de base bien faites, et pour lier le tout, il reste notre tête pour bien faire
Pour la couche persistence (il faut bien revenir au sujet de base), j'utilise bien souvent un modèle hybride, sql natif pour la performance et la souplesse, JPA pour la gestion d'entités "métier" (CRUD).
L'ORM est un outil comme un autre, il a des côtés intéressants, d'autres bien limitant...
D'un point de vue de la syntaxe, je ne trouve pas le JPQL très simple pour les requêtes complexes, je préfère SQL
Pour ce qui est de la mise à jour/création d'enregistrements dans la DB, je le trouve largement mieux (un bon vieux PreparedStatement me suffirait... mais plus verbeux)
Le plus dur avec tout ce qu'on a à disposition comme outils ou frameworks reste de faire le bon choix
Partager