Java EE 6 jest naprawdę niesamowita. Jedynym problemem jest to, że ma około 2 tygodni, a obecnie jest tylko jeden pojemnik oferujący swoje funkcje - Glassfish.
Nie mam nic przeciwko Glassfish, używam go wszędzie, kilka instancji produkcyjnych, uwielbiam ten produkt i projekt.
To powiedziawszy, szczegóły Java EE 6 nie są tłumaczone z powrotem na Java EE 5. Niektórzy tak, wielu tak, ale profil sieciowy, serwlet 3.0, nowe typy Bean, JPA 2, itd. Tych nie ma.
Tak więc, ucząc się najpierw Java EE 6, po prostu ograniczasz się do jednego kontenera. Nadchodzi więcej, ale jeszcze ich nie ma.
Tomcat, JBoss, OpenEJB, Glassfish, Jetty, Resin, Geronimo itp. Działają dobrze ze specyfikacją Java EE 5 (przynajmniej te części specyfikacji, które obsługują, na przykład Tomcat nie ma EJB).
W Javie EE 5 nie przychodzi mi do głowy nic, co nie zostało przeniesione do Java EE 6. W Javie EE 6 niektóre bardzo stare aspekty były opcjonalne, a tych, których po prostu byś się dzisiaj nie nauczył. Java EE 6 sprawiła, że niektóre rzeczy związane z Javą EE 5 były jeszcze łatwiejsze (szczególnie pakowanie, na przykład EJB Lite).
Naucz się Java EE 5 teraz, aby móc faktycznie zastosować to, czego się nauczyłeś w różnych środowiskach, a nie ucząc się Java EE 6 teraz i odkrywając, że możesz nie być w stanie wykorzystać większości tego, czego się uczysz.
Żadna książka nie nauczy Cię tego, co powinieneś wiedzieć. Na przykład serwlety są dobrą podstawą, ale w przypadku wszystkiego, co jest większe niż kilka stron lub punktów końcowych, będziesz chciał użyć jednego z wielu frameworków innych firm lub JSF, a żadna książka nie obejmuje rdzenia, a następnie frameworka na górze tego.
Samouczek Java EE 5 jest dobry w zbijaniu podstaw, moja główna skarga jest taka, że nie pokazują ci kodu źródłowego. Oczekują raczej, że po prostu pobierzesz i uruchomisz. Nie jest to omawiane w samouczku. Uważam, że książki Head First są całkiem dobre.
W przypadku programowania internetowego surowe serwlety są wystarczająco ważne, aby zrozumieć cykl żądanie / odpowiedź, ale nie potrzebujesz głębokiego zrozumienia, aby przejść do platformy innej firmy.
Jestem wielkim fanem Stripes dla frameworka Action (w porównaniu z frameworkiem komponentowym), a jedna dostępna książka Stripes jest doskonała (co sprawia, że wybór jest łatwy).
Nie mogę zasugerować książki o frameworku Component i właściwie nie poleciłbym jej od razu. Struktury komponentów naprawdę zakopują podstawowe struktury żądań / odpowiedzi HTTP. Zakopują je z jakiegoś powodu i zyskują na wartości poprzez zakopywanie ich, ale uważam, że aby być skutecznym, musisz mieć solidne zrozumienie tych pojęć na wczesnym etapie. Dlatego nie proponuję najpierw nauki frameworka Component.
Struktura JAX-RS REST, zawarta w Java EE 6, ale łatwa do zainstalowania w Java EE 5 lub dowolnym kontenerze serwletów, jest doskonała. Zapewne tak powinien wyglądać Servlet 3.0. Ale nie znam żadnych książek na ten temat.