Szef na Javie

Serwer aplikacyjny JBoss to rozwiązanie dla dużych firm - nie tylko dlatego, że JBoss 4.0 uzyskał certyfikat na zgodność z J2EE.

Serwer aplikacyjny JBoss to rozwiązanie dla dużych firm - nie tylko dlatego, że JBoss 4.0 uzyskał certyfikat na zgodność z J2EE.

Wpaździerniku 2004 r. firma JBoss Group rozwijająca platformę aplikacyjną JBoss rozpoczęła dystrybucję wersji 4.0. Ten sztandarowy serwer aplikacyjny środowiska open source uzyskał właśnie od Sun Microsystems certyfikację zgodności ze specyfikacją J2EE 1.4. JBoss Group długo unikał certyfikacji, ale ugiął się w końcu pod presją użytkowników korporacyjnych, dla których zgodność ze standardami jest w wielu przypadkach wymogiem wdrożenia. Oficjalne "namaszczenie" wzmacnia pozycję JBoss na rynku, ale i bez niej funkcjonalność nowej wersji budzi respekt.

Wszystko, co trzeba

JBoss cieszy się dużym uznaniem programistów jako produkt integrujący znane im dobrze technologie, w tym zwłaszcza kontener Tomcat (pozwalający na uruchamianie serwletów jako samodzielnych aplikacji Java) i narzędzia Hibernate służące do wzajemnego odwzorowania obiektów i tabel relacyjnych. Oprócz tego JBoss zawiera całkowicie nowe rozszerzenia. Wspiera np. koncepcję tzw. programowania aspektowego zakładającą, że wspólne dla różnych modułów/klas funkcje są wydzielane i mogą być wywoływane przez wiele obiektów. AOP pozwala uzyskać dwie korzyści: zwięzłość i przejrzystość kodu, a także elastyczność polegającą na możliwości łatwego dodawania określonych cech czy metod do obiektów, nawet jeżeli początkowo tego nie przewidziano. Powiązana z AOP technika podsłuchiwania komunikatów zapewnia większą elastyczność dopasowania zachowania serwera aplikacyjnego do wymagań środowiska wykonywania osadzonej na nim aplikacji.

Architektura JBoss 4.0 jest oparta na mikrojądrze z rozszerzeniami wykorzystującymi mechanizmy zarządzania komponentami Java (beans), zawarte w specyfikacji JMX, tzw. zarządzanej Javy. Mikrojądro JBoss zapewnia "lekki" model komponentowy, z prostymi komponentami korzystającymi z zaawansowanych usług serwera aplikacyjnego, np. transakcyjności, klastrów itp., normalnie rezerwowanych jedynie dla o wiele bardziej skomplikowanej technologii Enterprise Java Beans. To jeden z ważniejszych powodów, dla których JBoss zyskał zwolenników wśród programistów.

Lepsze wykorzystanie standardowych komponentów Java, programowanie aspektowe i technika odwzorowania obiektowo relacyjnego (podobna do Hibernate) stanowią część opracowywanej obecnie specyfikacji EJB 3.0, a do ich włączenia do niej w znacznym stopniu przyczyniły się właśnie prace nad serwerem JBoss. Architektura JBoss wspiera także koncepcję SOA (Service Oriented Architecture). Mikrojądro jest w tym przypadku szyną programową, do której użytkownik może dołączyć potrzebne mu komponenty serwera, dostępne dla aplikacji w postaci usług sieciowych.

Ze skalą na myśli

Oprócz niejako standardowych dla serwera aplikacyjnego modułów do obsługi EJB, komunikacji asynchronicznej JMS, obsługi transakcji za pośrednictwem JTA/JTS, serwera JSP i serwletów (Tomcat) czy zarządzania aplikacjami JMX, JBoss Group oferuje również dodatkowe moduły, czyniące jej serwer aplikacyjny JBoss produktem mogącym śmiało konkurować z rozwiązaniami komercyjnymi przeznaczonymi dla najbardziej wymagających użytkowników korporacyjnych. Oto one:

JBoss Cache: transakcyjny i replikowany w ramach klastra bufor, znacznie podnoszący wydajność aplikacji przez buforowanie danych w pamięci. JBoss Cache działa jako usługa Mbean w serwerze aplikacyjnym, ale może również być uruchamiany z innymi kontenerami EJB lub jako samodzielna aplikacja.

JBoss AOP: napisane w czystej Javie ramy programowania aspektowego, nadające się do używania w dowolnym środowisku programistycznym. AOP pozwala na łatwiejszą modularyzację kodu, tam gdzie sama technika obiektowa nie wystarcza, zapewniając precyzyjną separację logiki aplikacji od kodu systemowego.

Hibernate: wysoko wydajna usługa danych w środowisku obiektowo relacyjnym. Hibernate pozwala na tworzenie trwałych klas Java z ich wszystkimi właściwościami (dziedziczenie, asocjacje, polimorfizm i in.). Język zapytań Hibernate Query Language, opracowany jako "minimalne" obiektowe rozszerzenie SQL, zapewnia eleganckie przejście między środowiskami obiektowym i relacyjnym.

JBoss Portal: służy do zarządzania zawartością informacyjną organizacji, umożliwia współpracę między aplikacjami i udostępnianie informacji w sieci WWW.

Dodatek z akcentem

JBoss udostępnia również inne moduły, które choć nie są integralną częścią serwera aplikacyjnego, mogą znacznie usprawnić tworzenie dużych aplikacji. Jednym z nich jest moduł zarządzania procesami biznesowym jBPM 2.0 (Business Process Management). Oferuje on ramy do projektowania i wykonywania transakcji na podstawie reguł.

jBPM można uruchamiać jako samodzielny program w maszynie wirtualnej Java i odwoływać się do niego z dowolnej aplikacji. Można go także dołączać do serwera aplikacyjnego EJB. Wszystkie wymienione produkty są dostępne bezpłatnie w ramach licencji open source i mogą być swobodnie wykorzystane do tworzenia i osadzania aplikacji.

Platforma z narzędziami

Do tworzenia aplikacji JBoss oferuje dwa produkty: JBoss IDE i JBoss AOP IDE. Obydwa te środowiska programistyczne są oparte na Eclipse - narzędziowej platformie open source. Pakiet do wspomagania tworzenia aplikacji aspektowych AOP może być używany z każdym pakietem programistycznym Java opartym na Eclipse, umożliwiając wykorzystanie technik aspektowych przy tworzeniu dowolnych aplikacji Java.


TOP 200