Języki

Erudis - your road to knowledge
JBoss Seam: framework nowej generacji
Streszczenie: 

Wykład jest poświęcony JBoss Seam, nowemu frameworkowi (szkieletowi) wspomagającemu tworzenia aplikacja Java EE. Będę chciał omówić najważniejsze elementy Seam-a, pokazać jakiego typu problemy rozwiązuje i zademonstrować aplikację wykorzystującą tę technologię.

Wykład był wygłoszony na konferencji GigaCon 2007. Dostępna jest prezentacja oraz kod źródłowy pokazywanych przykładów.

Dlaczego warto poznać akurat JBoss Seam? Technologia J2EE (teraz Java EE) była i jest często oskarżana o zbytnią złożoność, brak standardowego sposobu budowy aplikacji wykorzystujących różne elementy technologii (JSP, JSF, Servlety, EJB, itd.).

Efektem tego był wysyp bardzo wielu szkieletów aplikacji (frameworków), które miały wykorzystywać te elementy technologii Java EE, które wydawały się najbardziej użyteczne oraz narzucić pewien optymalny sposób tworzenia aplikacji.
Frameworki te, mimo niewątpliwych zalet, mają także pewne wady, dwie z nich to:

  • nie są standardem, w takim sensie, w jakim standardem przemysłowym jest platforma Java EE,
  • ignorują niektóre technologie Java EE utrudniając lub uniemożliwiając ich wykorzystanie – używamy frameworka zgodnie z jego zasadami, albo musieliśmy z niego zrezygnować.

Dobrze by było więc mieć taki szkielet, który z jednej strony faktycznie upraszcza rozwijanie aplikacji Java EE, a z drugiej jest możliwie cienką nakładką na sam standard i w możliwie największym stopniu wykorzystuje jego praktyki i technologie.
Dobrym kandydatem na takie rozwiązanie jest właśnie JBoss Seam. Seam jest pierwszym frameworkiem opartym o najnowszą wersję Java EE (5.0), jest z nią bardzo ściśle zintegrowany i może z nią w bardzo elastyczny sposób współpracować.

Najważniejsze zalety Seam-a, o których chciałbym więcej powiedzieć, to:

  • rola JBoss Seam jako mostu między technologią tworzenia interfejsu użytkownika JSF (Java Server Faces) oraz technologią tworzenia logiki biznesowej aplikacji EJB 3.0.
  • zaawansowane zarządzanie stanem aplikacji poprzez tzw. konwersacje, zwalniające nas z bezpośredniej pracy z sesją HTTP.
  • ułatwienie tworzenia aplikacji opartych o AJAX (czyli Asynchronous JavaScript and XML).
  • prosta konfinguracja przy pomocy mechanizmu annotations.
  • generowanie szkieletu aplikacji (ang. scaffolding)

Trudno w tej chwili ocenić na ile upowszechni się JBoss Seam, jednakże niewątpliwie warto poznać techniki, jakich używa, gdyż są one dobrze pomyślane i uniwersalne. O popularność JBoss Seam może przesądzić fakt, że z dużym prawdopodobieństwem stanie się elementem standardu Java EE jako WebBeans (Java Specification Requests JSR 299) oraz to, że projekt rozwija się bardzo dynamicznie.

Wykład jest przeznaczony dla programistów, osób zajmujących się tworzeniem aplikacji WWW, aplikacji rozproszonych, odpowiedzialnych za wybór technologii.