Do jednego z naszych projektów wybraliśmy Oracle ADF w naszej firmie. Niestety okazało się to dużym błędem. Osobiście korzystałem z produktów Oracle, w szczególności z ich bazy danych, ale jeśli chodzi o middleware fusion, radzę trzymać się od niego z daleka. ADF był zdecydowanie najgorszym frameworkiem, jakiego kiedykolwiek używałem jako architekt. Niektóre z jego cech, które zauważyłem, to:bardzo złożone, Oracle po prostu „wymyśla” lub wymusza pewne podejścia programistyczne, które przed laty zostały sprawdzone przez społeczność Javy jako zła praktyka. ADF jest bardzo powolny w porównaniu z innymi frameworkami. Mówiąc wolno, mam na myśli, że strony ADF działają wolno. Powodem tego jest niezwykle złożony wygenerowany html i javascript. Możesz to sprawdzić otwierając Firebuga i sprawdzając wygenerowany html... wygląda jak coś z lat 90.... Strasznie. Nie chcę być zbyt pedantyczny, ale strony ADF mają ogromną liczbę błędów walidacji, co powoduje problemy z uruchomieniem ich we wszystkich przeglądarkach. Moim zdaniem architektura ADF jest nieuporządkowana. Na przykład Struts2 jest znacznie czystszym frameworkiem, który bardzo ułatwia integrację z bibliotekami innych firm, takimi jak jQuery itp. Oracle zaleca ADF jako framework MVC, ale szczerze mówiąc nie widziałem tam rzeczywistej architektury MVC. ADF używa własnych bibliotek javascript , które są ogromne, praktycznie niemożliwe do modyfikacji, niezoptymalizowane i powolne w porównaniu do innych, takich jak jQuery czy Prototype. Pojawiające się trendy w J2EE to lekkie, wtykowe frameworki, które można łatwo zintegrować z innymi narzędziami, takimi jak Spring do zarządzania zależnościami, jQuery do tworzenia skryptów, CC do ciągłej integracji. ADF to solidna, ściśle zintegrowana platforma z innymi narzędziami ORacle, co bardzo utrudnia korzystanie z niej w inny sposób niż wymyślił Oracle.
Nie wspominając o narzędziach programistycznych, których jesteś zmuszony używać podczas tworzenia ADF - JDeveloper, który jest bardzo błędny i regularnie się zawiesza. Programowanie w środowisku Eclipse jest problematyczne, ponieważ ADF ma wiele „specyficznych” plików, które JDeveloper generuje automatycznie.
W sumie... ADF był dla nas ogromnym rozczarowaniem. Spędziliśmy kilka miesięcy, bawiąc się tym, kiedy w końcu nasz klient zdecydował, że aplikacja jest zbyt powolna i trudna do jej obsługi, i całkowicie ją anulował.
Opierając się na moim doświadczeniu, mogę tylko powiedzieć, że trzymaj się od tego z daleka. Wybierz jedno z bardziej obsługiwanych i czystych architektonicznie rozwiązań, takich jak Struts2 lub Spring.