Nous avons choisi Oracle ADF dans notre entreprise pour l'un de nos projets. Malheureusement, cela s'est avéré être une grosse erreur. J'ai personnellement utilisé des produits Oracle, notamment leur DB, mais en ce qui concerne le middleware de fusion, je vous conseillerais de vous en éloigner. ADF était de loin le pire framework que j'ai jamais utilisé en tant qu'architecte. Certaines de ses fonctionnalités que j'ai remarquées sont les suivantes :très complexe, Oracle "invente" ou force simplement certaines approches de développement qui ont été prouvées comme une mauvaise pratique par la communauté Java il y a des années. ADF est très lent par rapport aux autres frameworks. En étant lent, je veux dire que les pages ADF fonctionnent lentement. La raison en est le HTML et le javascript générés extrêmement complexes. Vous pouvez vérifier cela en ouvrant Firebug et en inspectant le code HTML généré... il ressemble à quelque chose des années 90... Terrible. Ne pas être trop pédant, mais les pages ADF contiennent d'énormes quantités d'erreurs de validation, ce qui pose des problèmes pour les faire fonctionner sur tous les navigateurs. L'architecture d'ADF est, à mon avis, désordonnée. Struts2 par exemple est un framework beaucoup plus propre qui le rend très facile à intégrer avec des bibliothèques tierces telles que jQuery, etc. Oracle préconise ADF comme un framework MVC mais franchement je n'ai pas vu l'architecture MVC réelle là-bas. ADF utilise ses propres bibliothèques javascript , qui sont énormes, pratiquement impossibles à modifier, non optimisés et lents par rapport à d'autres tels que jQuery ou Prototype. Les tendances émergentes dans J2EE sont des frameworks enfichables légers qui s'intègrent facilement à d'autres outils tels que Spring pour la gestion des dépendances, jQuery pour les scripts, CC pour l'intégration continue. ADF est un cadre lourd étroitement intégré avec d'autres outils ORacle, ce qui rend très difficile son utilisation d'une autre manière que celle conçue par Oracle.
Sans parler des outils de développement que vous êtes obligé d'utiliser lors du développement d'ADF - le JDeveloper qui est très bogué et plante régulièrement. Développer dans Eclipse est problématique, car ADF possède de nombreux fichiers "spécifiques" que JDeveloper génère automatiquement.
Dans l'ensemble... ADF a été une énorme déception pour nous. Nous avons passé des mois à jouer avec, quand finalement notre client a décidé que l'application était trop lente et difficile à supporter et l'a complètement annulée.
D'après mon expérience, je ne peux que dire de rester à l'écart. Choisissez l'une des solutions les plus prises en charge et les plus épurées sur le plan architectural, telles que Struts2 ou Spring.