Избрахме Oracle ADF в нашата компания за един от нашите проекти. За съжаление това се оказа голяма грешка. Аз лично съм използвал продукти на Oracle, по-специално тяхната DB, но що се отнася до fusion мидълуер, бих ви посъветвал да стоите далеч от него. ADF беше най-лошата рамка, която някога съм използвал като архитект. Някои от характеристиките му, които забелязах, са:много сложен, Oracle просто "изобретява" или налага някои подходи за разработка, които са доказани като лоша практика от Java общността преди години. ADF е много бавен в сравнение с други рамки. С това, че са бавни, имам предвид, че ADF страниците работят бавно. Причината за това е изключително сложно генериран html и javascript. Можете да проверите това, като отворите Firebug и прегледате генерирания html...изглежда като нещо от 90-те...Ужасно. За да не бъдем прекалено педантични, но страниците на ADF имат огромно количество грешки при валидиране, което причинява проблеми при стартирането им на всички браузъри. Архитектурата на ADF според мен е объркана. Struts2 например е много по-чиста рамка, което улеснява интегрирането й с библиотеки на трети страни като jQuery и др. Oracle препоръчва ADF като MVC рамка, но честно казано не успях да видя действителната MVC архитектура там. ADF използва свои собствени библиотеки на javascript , които са огромни, практически невъзможни за модифициране, неоптимизирани и бавни в сравнение с други като jQuery или Prototype. Нововъзникващите тенденции в J2EE са леки pluggable frameworks, които лесно се интегрират с други инструменти като Spring за управление на зависимости, jQuery за скриптове, CC за непрекъсната интеграция. ADF е тежка, тясно интегрирана рамка с други инструменти на ORacle, което прави много трудно използването й по начин, различен от създадения от Oracle.
Да не говорим за инструментите за разработка, които сте принудени да използвате, когато разработвате ADF - JDeveloper, който е много бъгав и се срива редовно. Разработването в Eclipse е проблематично, тъй като ADF има множество „специфични“ файлове, които JDeveloper генерира автоматично.
Като цяло...ADF беше огромно разочарование за нас. Прекарахме месеци в бъркане с него, когато най-накрая нашият клиент реши, че приложението е твърде бавно и трудно за тях да го поддържат, и го анулираха напълно.
Въз основа на моя опит мога само да кажа, че стойте далеч от него. Изберете едно от по-поддържаните и архитектурно чисти решения като Struts2 или Spring.