Gdzie sen, a gdzie Java

Kawa na biurku

Tegoroczna JavaOne przyniosła nieco nowości i zapowiedzi technologicznych i narzędziowych. Tematem numer jeden w tym obszarze była oczywiście nowa specyfikacja dla biurkowych maszyn wirtualnych - J2SE 1.5, a zgodnie z ogłoszoną właśnie nową numeracją - J2SE 5.0. Ostateczna wersja ma się pojawić jesienią. W CW 7/2004 opisywaliśmy funkcjonalność oficjalnej wersji Beta.

Sun przedstawił także JDS 2.0 - odświeżoną wersję pakietu oprogramowania biurowego na platformę Linux. Wśród nowości są m.in. automatyczne dostosowywanie się interfejsu do lokalnego systemu operacyjnego oraz możliwość tworzenia alternatywnych, łatwych do zmiany graficznych interfejsów (skins). Sun wbudował w JDS technologię WebStart - mechanizm umożliwiający pobranie i automatyczną instalację oprogramowania na stacji roboczej poprzez kliknięcie łącza URL. Co więcej, aplikacja zgodna z WebStart samoczynnie sprawdza, czy istnieją dla niej nowe poprawki. Technologia ta obejmuje także narzędzia pozwalające na przygotowanie istniejących aplikacji do instalacji w tym trybie.

Podczas JavaOne Sun ogłosił, że uwalnia kod źródłowy trzech technologii. Pierwsza z nich to Java 3D wraz z intrygującym projektem Looking Glass, którego celem jest stworzenie trójwymiarowego środowiska okienkowego. "Intrygującym", ponieważ wstępna prezentacja możliwości tej technologii miała formę filmu wideo, bez możliwości wypróbowania oprogramowania. Ogólnie rzecz biorąc, wygląda to jak "Mac OS X na sterydach", z oknami programów, które można obracać wokół pionowej lub poziomej osi, by np. móc je zobaczyć "od tyłu", efektownym skalowaniem obiektów, zbliżonymi do rzeczywistości kontrolkami wyboru płyty CD, interaktywnymi ikonami itp.

Trudno orzec, czy taka funkcjonalność w jakikolwiek sposób podnosi produktywność - na pierwszy rzut oka niekoniecznie. Być może Sun nie myśli o użytkownikach biurowych, lecz raczej o rynku urządzeń typu set-top-box czy szerzej - domowych centrów rozrywki. W końcu jest to zastosowanie, dla którego Java była pierwotnie tworzona! Poza tym pokaz Looking Glass należy raczej traktować jako prezentację możliwości technologii Java 3D. Uwalniając ją, Sun liczy, że zgodnie z powiedzeniem współzałożyciela firmy Billa Joya "innovation happens elsewhere" (innowacje powstają gdzie indziej) tysiące deweloperów na całym świecie znajdą dla niej zastosowania, o których ich twórcy nawet nie śnili. Według przedstawicieli Suna wstępne zainteresowanie wyraziły już firmy działające na rynku obróbki wizualizacji medycznych i GIS.

Druga "uwolniona" technologia to JDesktop Network Components (JDNC). To zbiór bibliotek komponentów i interfejsów umożliwiających łatwe budowanie "pełnokrwistych" grubych klientów Java działających na lokalnej maszynie wirtualnej, jednak poza przeglądarką WWW . JDNC obejmuje typowe kontrolki w rodzaju DataTable, Tree, RichTextEditor itd. Na razie technologia ta nie została powiązana z żadnym narzędziem oferowanym przez Suna - ani z Java Enterprise Studio, ani z Java Studio Creator. Ostatnia z technologii udostępnionych przez Suna stanowi uzupełnienie JDNC. JDesktop Integration Components (JDIC) pozwala łatwo tworzyć odnośniki do samodzielnych aplikacji Java i osadzać je w dokumentach, np. na stronach WWW.

<hr size=1 noshade>Nowe wcielenia Jini

Kto dziś pamięta technologię Jini? Pięć lat temu zespół inżynierów pod kierownictwem Billa Joya opracował innowacyjną technologię komunikacyjną. Celem projektu było znalezienie efektywnych metod komunikacji i koordynacji działań systemów w sieciach składających się z tysięcy węzłów podlegających nieustannym zmianom i komunikujących się ad hoc. Dzięki solidnym akademickim podstawom technologia Jini jest bardzo elastyczna i nadaje się do wykorzystania w wielu skrajnie różnych sytuacjach. Na JavaOne pojawili się przedstawiciele kilku firm, dla których Jini stała się podstawą rynkowego sukcesu. Oto ich opinie:

Gdzie sen, a gdzie Java
"Nasza firma od lat specjalizuje się w integrowaniu aplikacji. Jakiś czas temu natknęliśmy się na darmową technologię Jini. Szybko okazało się, że dzięki niej moglibyśmy zaoferować nasze usługi znacznie taniej niż konkurencja, ponieważ koszty związane z przygotowaniem oraz późniejszym utrzymaniem środowiska integracyjnego dzięki Jini spadają dramatycznie. W porównaniu z klasycznym rozwiązaniem opartym na brokerach komunikatów różnica w wartości projektów jest nawet jak 1:5! Na bazie Jini zbudowaliśmy dodatkową warstwę metaobiektów biznesowych, dzięki czemu integrowanie aplikacji klientów idzie jak z płatka" - mówi Rick Nucci, dyrektor ds. technologii w Boomi, firmie dostarczającej kompleksowe rozwiązania do integracji aplikacji.

Gdzie sen, a gdzie Java
"Technologia Jini pomogła nam rozwiązać bardzo konkretny problem biznesowy. Zarząd chciał mieć możliwość otrzymywania szczegółowych raportów i statystyk na temat zarządzanych przez nas funduszy. Policzyliśmy, że wykonanie jednego cyklu kalkulacji na jednym serwerze ośmioprocesorowym zajmie nam ok. 60 godz. Nie mieliśmy budżetu, by zakupić np. 10 takich serwerów. Okazało się, że można to zrobić inaczej. To, co mogłoby być liczone przez farmę serwerów, jest u nas przeliczane przez współpracujące ze sobą biurkowe komputery PC z zainstalowanymi agentami Jini" - komentuje Ronald V. Simmons, dyrektor ds. technologii w dziale stałych przychodów w Invesco, towarzystwie funduszy inwestycyjnych.

<hr size=1 hoshade>

Rzut oka na EJB 3.0

Sporo miejsca na konferencji poświęcono nadchodzącej specyfikacji EJB 3.0. Zmiany idą w kierunku uproszczenia API, by programiści mogli tworzyć kod zawierający mniejszą liczbę specjalizowanych klas. To efekt dialogu ze środowiskiem deweloperów, którzy mają problem z budowaniem większych systemów przy użyciu technologii EJB, gdyż ich architektura staje się niebywale skomplikowana i trudna do ogarnięcia.

Chcąc uczynić standard EJB 3.0 znacząco prostszym, grupa działająca w ramach Java Community Process zaproponowała kilka zabiegów. Przede wszystkim zidentyfikowano "antywzorce" - architektury, typy obiektów, metody itp., o których wiadomo, że powodują problemy. Wersja 3.0 EJB ma umożliwić wykonanie tej samej funkcjonalności bez odwoływania się do problematycznych konstrukcji. Jednocześnie przedstawiciele Suna podkreślają, że w ramach kodu pisanego zgodnie z nową specyfikacją będzie możliwe osadzanie bardziej skomplikowanych fragmentów zasadzających się na specyfikacji 2.0 lub 2.1.

Specyfikacji EJB 3.0 przyświeca filozofia "konfiguracji przez wyjątki". Oznacza to mniej więcej tyle, że specyfikacja z góry określi "domyślne" cechy i zachowania typowych obiektów, a programista będzie je mógł ewentualnie modyfikować. To dokładnie odwrotne podejście niż dotychczasowa "pełna samodzielność", która, niestety, wymagała dodatkowej pracy. Ponadto w specyfikacji EJB 3.0 istotnie zostanie uproszczone definiowanie dostępu do obiektów. Obiekty typu Access Beans będą mogły domyślnie zawierać aktualne informacje o kontekście - zarówno środowiska, jak i parametrów wykonawczych (runtime). W efekcie, programista zostanie uwolniony od ręcznego pisania odwołań do metadanych, sprawdzania tabel parametrów itd.

Istotnym uproszczeniem EJB 3.0 ma być eliminacja tzw. instrukcji instalacyjnych (deployment descriptors), które - jako że często bywają nieprecyzyjne - spędzają sen z powiek testerom i analitykom. Na życzenie środowiska programistów komentarze (annotations) do kodu będą mogły być wkompilowywane do klas i dzięki temu dostępne nawet podczas pracy programu! To kolejny ukłon w stronę przyspieszenia testów i wdrożeń - tester będzie bowiem mógł łatwo sprawdzić, jak klasa powinna się zachowywać wg intencji jej autora. To właśnie w komentarzach będą umieszczane domyślne ustawienia klas. Analizą komentarzy ma się zajmować specjalizowany mechanizm JVM (od 1.5 w górę) - Annotations Processor. Jednym z ważnych uzupełnień EJB 3.0 będzie rozbudowa EJB Query Language (EJB QL). Zostanie on wzbogacony m.in. w możliwość hurtowej aktualizacji lub kasowania wielu rekordów, możliwość wskazania podzbioru tabeli, obsługę zapytań składających się z wielu zapytań cząstkowych, a także możliwość dynamicznego tworzenia zapytań.


TOP 200