Duża kawa dla wszystkich

Język Java nie będzie już jedynym językiem dla platformy aplikacyjnej Java, a sama platforma zostanie całkowicie otwarta. Kompatybilność z technologiami Microsoftu oraz łatwość tworzenia i uruchamiania aplikacji Java na platformie Linux to tylko niektóre z nadchodzących zmian.

Język Java nie będzie już jedynym językiem dla platformy aplikacyjnej Java, a sama platforma zostanie całkowicie otwarta. Kompatybilność z technologiami Microsoftu oraz łatwość tworzenia i uruchamiania aplikacji Java na platformie Linux to tylko niektóre z nadchodzących zmian.

Technologia Java nie rozwija się w ukryciu, lecz na oczach nas wszystkich. W Internecie można znaleźć szczegółowe informacje na dowolny temat związany z Javą jako językiem, Javą jako platformą aplikacyjną oraz z coraz liczniejszymi technologiami pochodnymi. Kierunków rozwoju technologii Java jest tyle, że trudno je wszystkie ogarnąć, a i tak wciąż ich przybywa. Być może właśnie ze względu na ten natłok informacji warto wybrać się na doroczną konferencję JavaOne.

Coś w tym jest, bo na trwającej cztery dni imprezie zjawiło się ponad 15 tys. osób. Tak duże audytorium świadczy o ciągłej popularyzacji technologii Java wśród deweloperów, a także wskazuje, że jest to dla nich lub ich pracodawców technologia ważna. Jednocześnie tak duża liczba uczestników konferencji świadczy o tym, że tempo rozwoju technologii Java i ich różnorodność weszły w bardzo dynamiczny okres, co zresztą potwierdza fakt, że w ciągu czterech dni odbyło się kilkaset sesji i warsztatów.

Nie "czy", ale "jak"

Duża kawa dla wszystkich

Jonathan Schwartz, dyrektor zarządzający Sun Microsystems

JavaOne 2006 była kolejną konferencją odbywającą się pod hasłem "otwierania Javy". Dwa lata temu Sun słuchał opinii i argumentów, ale nie składał żadnych obietnic konkretnych działań czy dat. Jednocześnie na przestrzeni tego czasu krok po kroku otwierał kolejne technologie Java, skrzętnie chroniąc przed pełną otwartością jedynie standardową maszynę wirtualną. Stopniowo zmieniała się także retoryka. Jonathan Schwartz okazał się mistrzem "drobnych kroczków". Kilka miesięcy temu zapowiedział, że w ciągu najdalej dwóch lat przekaże do środowiska open source 100% oprogramowania. Na majowej konferencji JavaOne, już jako dyrektor zarządzający Sun Microsystems, powiedział, że otwarcie Javy nie jest kwestią "czy", lecz "jak".

Pojawienie się owego "jak" sugeruje, że Sun wciąż uważa oddanie środowiska wykonawczego Java (JRE - Java Runtime Environment) w ręce żywiołowego środowiska open source za zagrożenie dla Javy. Sun wciąż jeszcze szuka sposobu, by zabezpieczyć Javę przed brakiem kompatybilności implementacji, która należy do jej najpoważniejszych atutów. Sun wydaje się rozumieć, że nadzór nad rozwojem technologii Java wymaga większej niż dotychczas demokratyzacji, nie chce jednak pozwolić, by jej znaczenie dla deweloperów i klientów, w szczególności w stosunku do technologii Microsoftu, zmalało pod naciskiem rozbieżnych interesów głównych firm stojących za rozwojem Javy, jak BEA Systems czy IBM.

Chcąc pogodzić ogień z wodą, Sun ogłosił na JavaOne, że organizacja Java Community Process została otwarta nie tylko dla firm, ale także dla pojedynczych deweloperów. Sun chce więc, aby sprawdzony proces formalnego proponowania i zatwierdzania zmian pozostał, lecz by zmienił się układ sił wśród głosujących. Jeśli każdy programista Java może zostać członkiem JCP i uczestniczyć w głosowaniu nad propozycjami JSR, trudno nie nazwać takiego posunięcia demokratycznym. Czy jednak tego właśnie oczekują deweloperskie "masy"? Wkrótce się przekonamy, czy to właśnie jest sednem "jak", o którym mówił Jonathan Schwartz.

Między Windows a Linuxem

Trwająca już dobre dwa lata współpraca Sun Microsystems i Microsoftu bardzo długo nie przynosiła widocznych rezultatów, co skłaniało wielu komentatorów do twierdzenia, że cała sprawa jest pozorowana. Na JavaOne okazało się, że jednak nie. Podczas konferencji prezentowano wyniki projektu Tango, w ramach którego Sun i Microsoft dokonały głębokiej integracji technologii serwerowych Java EE 5 (nowa nazwa dla J2EE 5) z technologiami serwerowymi .Net. Pokazywana była aplikacja składająca się ze współpracujących ze sobą usług Web Java i .Net. Integracja była głęboka, z przenoszeniem kontekstu uwierzytelnienia i weryfikacji uprawnień, parametrów QoS itp. włącznie.

Pozostając przy temacie interoperability, nie można nie wspomnieć, że Sun ogłosił zmianę zasad licencjonowania środowiska Java dla producentów dystrybucji Linuxa. Do tej pory licencja na środowisko wykonawcze Java praktycznie uniemożliwiała dołączanie jej do Linuxa w rozsądny sposób. Obecnie JRE może być dołączane bez restrykcji, które wprowadzono po tym, jak Microsoft próbował stworzyć własną linię rozwoju platformy i narzędzi Java, za co zapłacił ugodą sądową z Sunem na kwotę prawie 2 mld USD.

Dystrybucja JRE z Linuxem ma ułatwić popularyzację technologii Java na tej platformie. Sun nie chce narzucać jednej metody instalacji i twierdzi, że uzgodni kwestię opakowania JRE z każdym dystrybutorem indywidualnie. Na razie Sun porozumiał się z deweloperami projektów Ubuntu, Debian i Gentoo. Restrykcje związane z dystrybucją JRE znoszą bariery dla popularyzacji narzędzi Java dla platformy Linux, a więc dla tworzenia aplikacji na tę platformę. Trudno przewidzieć, czy Sun zyska na tym finansowo. Schwartz twierdzi, że wzrost zainteresowania deweloperów zawsze wyprzedza falę wzrostu przychodów i mówi, że jest spokojny o ostateczny efekt obecnie wykonywanych ruchów.

Na konferencji Sun potwierdził, że nie zamierza tworzyć własnej dystrybucji Linuxa, lecz zapewnić, by jego oprogramowanie działało na platformach Linux. Jednocześnie przedstawiciele Suna przyznali, że niejednoznaczność w stosunku do Linuxa odcięła Suna od dużej grupy deweloperów napędzających innowacyjność w branży. Przy okazji firma ogłosiła, że środowisko open source otrzyma w najbliższym czasie kolejną porcję rozwiązań do swobodnego rozwijania. Jednym z ważniejszych produktów jest Java Portal Server.

Platforma wciąż najważniejsza

JavaOne to konferencja poświęcona technologiom Java. Sun promował podczas konferencji szczególnie najnowszą platformę serwerową J2EE 5 (projekt GlassFish), która od teraz nazywa się już Java Enterprise Edition 5 (Java EE 5). Nowa platforma oferuje znaczące udogodnienia dla programistów. Tym zaawansowanym pozwala skorzystać z możliwości stworzonej przez Sun implementacji standardu EJB 3.0, zintegrowany silnik i narzędzia BPEL oraz framework do tworzenia środowisk SOA.

Tym mniej zaawansowanym Java EE 5 pozwala natomiast uruchamiać wydajnie komponenty POJO (Plain Old Java Objects), a także osadzać na serwerach aplikacyjnych aplikacje AJAX. Java EE 5 zawiera również wspomniane wyżej możliwości integracji z aplikacjami działającymi w środowisku .Net. Według Suna nowe środowisko zajmuje o 30% mniej pamięci i ładuje się ok. 30% szybciej, niż poprzednie edycje.

Podczas JavaOne Sun wskazał priorytety deweloperów pracujących nad kolejną wersją środowiska wykonawczego Java SE 6. Celami głównymi są: poprawa niezawodności i stabilności oraz możliwość precyzyjnego śledzenia procesów i wątków w maszynie wirtualnej. Jeff Jackson, wiceprezes ds. platform deweloperskich w Sunie zasugerował, że znane z systemu Solaris 10 narzędzie DTrace będzie w niedalekiej przyszłości umożliwiać szczegółowe śledzenie aplikacji działających wewnątrz maszyn wirtualnych. Priorytetem nadal pozostaje oczywiście optymalizowanie wydajności oraz bezpośrednie wsparcie dla języków skryptowych.

Era skryptów

Jeśli chodzi o skrypty, platforma Java będzie w najbliższym czasie przeżywać duże zmiany. Uczestnicy konferencji tłumnie pojawiali się na wszystkich sesjach poświęconych możliwościom pisania aplikacji skryptowych uruchamianych w ramach maszyn wirtualnych. Na JavaOne prezentowane były silniki uruchamiające JavaScript w środowisku serwera aplikacyjnego Java. Ale jest ich przecież więcej, Python, JPython, Lisp, Ruby, JRuby, PHP, Groovy... Dla środowiska Java powstało już ponoć ok. 140 języków skryptowych! Część z nich kompiluje się do p-kodu i uruchamia się tak jak rodzime aplikacje Java.

Szczególnie Groovy wzbudził duże zainteresowanie. Prostota, oszczędność składniowa, a jednocześnie duże możliwości funkcjonalne tego języka z pewnością szybko zyskają mu wielu zwolenników.

Możliwości tego wciąż "świeżego" języka prezentował Rod Copy, założyciel i główny technolog firmy OpenLogic. Groovy to tak naprawdę rodzina języków. Istnieje np. odmiana aGroovy, zwana Grails (Groovy on Rails), wspierająca frameworki Spring i Hibernate. Jest też Groovy SQL do wykonywania operacji na danych, czy Groovy-XML.

Groovy wciąż nie osiągnął jeszcze fazy 1.0, a już powstało dla niego mnóstwo technologii pochodnych i uzupełniających, takich jak Groovy XML-RPC

Groovy-SOAP, Groovy API for Unix, pozwalający na zarządzanie serwerami Unix, warstwa proxy pozwalająca sterować za pomocą komend Groovy działaniem komponentów ActiveX. Jest też wiele innych interesujących rozwiązań. Zainteresowanym polecam stronę projektu Codehaus (http://groovy.codehaus.org ).

Przez narzędzia do serca

Uzupełnieniem platformy serwerowej są dostosowane do jej nowych możliwości narzędzia programistyczne NetBeans 5.5. Według wielu opinii, jest to aktualnie najlepsze środowisko do tworzenia aplikacji Java. Nie tylko dlatego, że w przeciwieństwie do Eclipse narzędzia te działają "po prostu", bez konieczności szukania rzeczywiście działających wtyczek, konfigurowania ich, by nie przeszkadzały sobie wzajemnie itp. NetBeans 5.5 zawiera w sobie bardzo dobry profiler oraz wspiera wszystkie ważniejsze frameworki do szybkiego tworzenia lekkich aplikacji Java (bez konieczności wykorzystania EJB), jak Spring, Hibernate itd.


TOP 200