Abbiamo scelto Oracle ADF nella nostra azienda per uno dei nostri progetti. Purtroppo, questo si è rivelato un grosso errore. Personalmente ho utilizzato prodotti Oracle, in particolare i loro DB, ma per quanto riguarda il middleware fusion, ti consiglio di starne alla larga. L'ADF è stato di gran lunga il peggiore framework che abbia mai usato come architetto. Alcune delle sue caratteristiche che ho notato sono:molto complesso, Oracle semplicemente "inventa" o forza alcuni approcci di sviluppo che sono stati dimostrati come una cattiva pratica dalla comunità Java anni fa. L'ADF è molto lento rispetto ad altri framework. Con essere lento intendo dire che le pagine dell'ADF sono lente. La ragione di ciò è html e javascript generati estremamente complessi. Puoi verificarlo aprendo Firebug e ispezionando l'html generato ... sembra qualcosa degli anni '90 ... Terribile. Non per essere eccessivamente pedanti, ma le pagine ADF hanno enormi quantità di errori di convalida che causano problemi nel farle funzionare su tutti i browser. L'architettura di ADF è, a mio avviso, disordinata. Struts2, ad esempio, è un framework molto più pulito che semplifica l'integrazione con librerie di terze parti come jQuery, ecc. Oracle sostiene ADF come framework MVC ma francamente non sono riuscito a vedere l'effettiva architettura MVC lì. ADF utilizza le proprie librerie javascript , che sono enormi, praticamente impossibili da modificare, non ottimizzati e lenti rispetto ad altri come jQuery o Prototype. Le tendenze emergenti in J2EE sono framework collegabili leggeri che possono essere facilmente integrati con altri strumenti come Spring per la gestione delle dipendenze, jQuery per lo scripting, CC per l'integrazione continua. ADF è un framework pesante e strettamente integrato con altri strumenti ORacle, il che rende molto difficile utilizzarlo in un modo diverso da quello ideato da Oracle.
Per non parlare degli strumenti di sviluppo che sei costretto a usare durante lo sviluppo di ADF:il JDeveloper che è molto buggato e si blocca regolarmente. Lo sviluppo in Eclipse è problematico, perché ADF ha numerosi file "specifici" che JDeveloper genera automaticamente.
Tutto sommato... l'ADF è stata un'enorme delusione per noi. Abbiamo passato mesi a pasticciare con esso, quando alla fine il nostro cliente ha deciso che l'applicazione era troppo lenta e difficile per supportarla e l'ha annullata del tutto.
In base alla mia esperienza posso solo dire di starne alla larga. Scegli una delle soluzioni più supportate e architettonicamente pulite come Struts2 o Spring.