Vi har valgt Oracle ADF i vores virksomhed til et af vores projekter. Desværre viste det sig at være en stor fejltagelse. Jeg har personligt brugt Oracle-produkter, især deres DB, men hvad angår fusion-middleware, vil jeg råde dig til at holde dig fra det. ADF var langt den værste ramme, jeg nogensinde har brugt som arkitekt. Nogle af dets funktioner, jeg har bemærket, er:meget komplekse, Oracle "opfinder" eller fremtvinger nogle udviklingstilgange, der er blevet bevist som en dårlig praksis af Java-fællesskabet for år siden. ADF er meget langsom sammenlignet med andre rammer. Med at være langsom mener jeg ADF-sider kører langsomt. Årsagen til dette er ekstremt kompleks genereret html og javascript. Du kan tjekke dette ved at åbne Firebug og inspicere den genererede html...det ligner noget fra 90'erne...Forfærdeligt. Ikke for at være alt for pedantisk, men ADF-sider har enorme mængder af valideringsfejl, der forårsager problemer med at få dem til at køre på alle browsere. Arkitekturen i ADF er efter min mening rodet. Struts2 er for eksempel en meget renere ramme, som gør det meget nemt at integrere den med tredjepartsbiblioteker såsom jQuery osv. Oracle går ind for ADF som en MVC-ramme, men ærligt talt kunne jeg ikke se den faktiske MVC-arkitektur der. ADF bruger sine egne javascript-biblioteker , som er enorme, praktisk talt umulige at ændre, uoptimerede og langsomme sammenlignet med andre såsom jQuery eller Prototype. De nye trends i J2EE er lette rammer, der kan plugges, som let integreres med andre værktøjer såsom Spring til styring af afhængigheder, jQuery til scripting, CC til kontinuerlig integration. ADF er en tung, tæt integreret ramme med andre ORacle-værktøjer, hvilket gør det meget vanskeligt at bruge det på en anden måde end Oracle har udviklet.
For ikke at nævne de udviklingsværktøjer, som du er tvunget til at bruge, når du udvikler ADF - JDeveloper, som er meget buggy og går ned jævnligt. Udvikling i Eclipse er problematisk, fordi ADF har adskillige "specifikke" filer, som JDeveloper genererer automatisk.
Alt i alt...ADF var en kæmpe skuffelse for os. Vi brugte måneder på at rode med det, da vores klient endelig besluttede, at ansøgningen var for langsom og svær til, at de kunne støtte den, og annullerede den helt.
Baseret på min erfaring kan jeg kun sige hold dig væk fra det. Vælg en af de mere understøttede og arkitektonisk rene løsninger såsom Struts2 eller Spring.