Języki

Erudis - your road to knowledge
Aplikacje WWW

JavaEE 6, w przeciwieństwie do swojej poprzedniczki, wprowadziła sporo zmian w interfejsach służących do tworzenia aplikacji WWW.

Solidny lifting przeszły praktycznie nie modyfikowane od wielu lat serwlety. Servlets 3.0 pozwalają na rozbicie pliku konfiguracyjnego web.xml na kilka części, dzięki czemu różnego rodzaju szkielety aplikacyjne mogą „same siebie” konfigurować – są to wspomniane wcześniej web fragments.

Serwlety były jedną z najbardziej trafionych specyfikacji Java EE, proste, bardzo wydajne, stały się bazą praktycznie wszystkich webowych szkieletów aplikacyjnych. Mimo to stagnacja nie bardzo im służyła, na szczęście większość potrzeb zostało zaadresowane w Java EE 6.

Serwlety mają także wbudowany mechanizm przetwarzania asynchronicznego, dzięki czemu wątek obsługujący klienta nie musi być zatrzymywany na czas odwoływania się do zasobów o wolnym czasie dostępu.

Oczywiście serwlety mogą być konfigurowane teraz przy pomocy metadanych. Można też dodawać serwlety, filtry serwletów do aplikacji dynamicznie, z poziomu kodu.

Kolejną technologią, która została solidnie przemodelowana jest JSF. Ważną zmianą wprowadzoną w JSF 2.0 jest użycie Facelets jako standardowego sposobu tworzenia stron JSF, dzięki czemu od razu pozbywamy się wszelkich problemów związanych z użyciem JSP jako bazy dla stron JSF. Facelets pozwalają na bardzo proste tworzenie szablonów stron JSF, tworzenie własnych komponentów.

JSF raczej nie miało dobrej prasy, wprowadzenie JSF 2.0 powinno to zmienić. Ułatwienie tworzenia aplikacji AJAX czy pozbycie się balastu JSP powinno być zachętą dla wielu programistów.

JSF 2.0 mają także wbudowane wsparcie dla technologii AJAX, wystarczy zadeklarować na formatce chęć asynchronicznego odwołania do komponentu zarządzanego i właśnie tak będzie ono zrealizowane. Nowy znacznik <f:ajax execute="..." render="..."/> pozwala wskazać jaka metoda ma być wywołana asynchronicznie i jaki fragment strony ma być w wyniku tego wywołania zmieniony. Podobną funkcjonalność znają użytkownicy biblioteki RichFaces.

JSF 2.0 standaryzuje również sposób zarządzania zasobami aplikacji (pliki lokalizacyjne, style CSS, itp.)