Wielkie porządki w Javie

Programistów piszących aplikacje typu desktop na pewno ucieszą plany rozbudowy bazowych komponentów Swing. Mają się pojawić bardziej rozbudowane kontrolki, takie jak siatka czy złożone listy/drzewa. Ponadto Sun zamierza dodać zewnętrzne pliki konfiguracyjne pozwalające określać "wygląd" aplikacji - w tym atrybuty złożonych komponentów Swing.

Warto dodać, że następuje powolne odejście od idei interfejsu Javy niezależnego od docelowej platformy. Zamiast tego program w Javie 1.4.2 ma wyglądać jak program właściwy dla danej platformy GTK+, Windows XP czy Mac OS X. Według przedstawicieli Apple (firma była jednym ze sponsorów konferencji) większość aplikacji typu desktop jest pisana dla Windows. Mają zakodowane na stałe wymiary i inne atrybuty powodujące, że aplikacje Java uruchamiane w systemie Mac OS X wyglądają nieestetycznie. Firma proponuje specjalny zestaw dokumentów i przykładów - jak pisać aplikacje w Javie, które będą na Mac OS X wyglądać tak, jakby były pisane przez Apple. Warto dodać, że w Mac OS X Java jest de facto częścią systemu operacyjnego. Obecnie na Apple jest dostępna Java w wersji 1.4.1.

W dalszej przyszłości ma także pojawić się narzędzie podobne do tego powstającego w ramach projektu Rave, które uprości tworzenie własnych kontrolek Swing, procedur obsługi zdarzeń i wreszcie całych, rozbudowanych aplikacji wykorzystujących możliwości Javy na komputerach typu desktop (komponenty AWT dalej będą dostępne w standardzie Javy). Prawdopodobnie do JFaces będzie dodany specjalny moduł renderujący, który będzie tworzył aplikację wykorzystującą JSwing.

Warto dodać, że w ramach procesu JCP opracowano interfejs do OpenGL, a trwają prace nad Java Game API. Na konferencji można się było zapoznać z pierwszymi implementacjami gier napisanymi w Javie. Javagames.org to nowa witryna poświęcona tworzeniu gier dla komputerów typu desktop.

Usługi Web

Referencyjny serwer aplikacyjny J2EE 1.4, będący wzorcową implementacją Web Services na platformie Java, jest w fazie testów beta. Jak zapewnia Sun, pakiet ma już akceptację komitetu standaryzacyjnego WS-I, ale ostateczna wersja serwera ma się pojawić dopiero pod koniec roku.

Wynikiem tego, że standardowe API implementujące usługi Web w Javie pojawiło się stosunkowo późno, jest fakt, że bodaj wszyscy producenci serwerów aplikacyjnych popierający Javę opracowali własne rozwiązania. Obecnie, gdy interfejs JAX-RPC jest już zatwierdzony, większość z nich ma zamiar szybko zaimplementować standardowe API. Tak postąpią m.in. BEA i twórcy serwera Apache. Oracle natomiast chce na razie pozostać przy własnych rozwiązaniach, a implementację zgodną ze standardem wprowadzi dopiero w serwerze Oracle 10AS.

Sun liczy, że w ramach prac nad standardem ebXML zostaną opracowane zasady opisywania dokumentów branżowych (czyli to, jak w pakiecie SOAP można zapisać dokument biznesowy, podobnie jak dokumenty EDI). W katalogach UDDI można wprawdzie dobrze gromadzić i wyszukiwać usługi Web, ale brakuje jasnych zasad, jak konstruować dokumenty wywołujące określonego typu funkcjonalność biznesową.

Na konferencji nie wskazano zwycięzcy wśród języków przeznaczonych do modelowania procesów biznesowych. Przedstawiciele Suna twierdzą, że na rynku jest więcej gotowych narzędzi wspierających dialekt BPEL4WS, ale w ramach konkurencyjnego WSCI/BPEL określono bardziej elastyczne mechanizmy pozwalające lepiej ustalić zasady współpracy poszczególnych komponentów.

Wydaje się, że inżynierom Suna bardzo przypadła do gustu idea Service Oriented Architecture. Pokazany na konferencji projekt sforce.com (opracowany przez Salesforce.com) zawiera zestaw usług Web (dostępnych w subskrypcji), pozwalających realizować aplikacje klasy enterprise, składając je "z cegiełek". Użytkownicy IDE mogą zainstalować dodatki usprawniające pracę z elementami udostępnionymi w ramach sforce. W większości przypadków sprowadza się to do operacji "przeciągnij i upuść". Notabene, to rozwiązanie uniwersalne, wspierające nie tylko Javę, ale także .Net.

Sun rozpoczął konsultacje nad projektem, który ma doprowadzić do powstania nowego sposobu przesyłania danych w usługach Web. Celem jest opracowanie binarnej specyfikacji, która pozwoli "zapakować" XML w taki sposób, by zminimalizować obciążenie sieci. Warto dodać, że co prawda można wymusić kompresję na poziomie protokołu transmisyjnego (konfigurując odpowiednio serwer, można włączyć kompresowanie algorytmem ZIP części strumienia HTTP), ale jest to bardzo kosztowne - serwer WWW jest wtedy nadmiernie obciążony. Sun chce opracować standard, w którym będzie można bezproblemowo kompresować i dekompresować pakiet SOAP tak, by urządzenia wspierające ten przyszły standard mogły współpracować ze starszymi wersjami, nie obsługującymi formatu binarnego.

Niebieski nieobecny

Aż dziwne, że na konferencji poświęconej wyłącznie Javie praktycznie nie można było zauważyć obecności IBM. Firma pokazywała tylko serię narzędzi do modelowania (przejętych wraz z firmą Rational). Rok temu miała status platynowego sponsora konferencji. W tym roku IBM, uważany za największego po Sunie zwolennika Javy, został wyręczony przez Borlanda, Motorolę, Oracle i SAP.

Być może kierownictwo IBM uznało, że konferencja JavaOne jest poświęcona głównie klienckiej stronie Javy, a nie serwerom i platformom enterprise. Jeśli rzeczywiście tak było, to IBM podjął złą decyzję. Liczne prezentacje związane z J2EE przyciągnęły naprawdę dużą liczbę słuchaczy, podczas większości wystąpień sala konferencyjna była wypełniona po brzegi.

Jednak bardziej prawdopodobnym wytłumaczenie absencji IBM jest chęć zdystansowania się od Suna, bez porzucania Javy jako języka i platformy. Niebawem IBM zorganizuje konferencję DeveloperWorks poświęconą własnym projektom programistycznym, a trzeba pamiętać, że większość z tych projektów opiera się na Javie.

Przez Javę do SAP

Podczas JavaOne ujawniono szczegóły dotyczące projektu NetWeaver zainicjowanego przez firmę SAP AG. Ma powstać zestaw API w Javie, który funkcjonalnie będzie odpowiadał bibliotekom ABAP (językowi opracowanemu na potrzeby systemu SAP R3). Jednak nie będzie to nakładka na poszczególne procedury BAPI, ale tysiące klas, usług Web i komponentów, dzięki którym rozwiązania związane z systemem ERP firmy SAP będą mogły powstawać tradycyjną metodą w języku ABAP albo w Javie.

Więcej Javy

Kolejne wersje rozwijanego przez Suna pakietu biurowego będą w większym stopniu wykorzystywać Javę. Rozwijany będzie model obiektowy UNO, służący udostępnianiu funkcjonalności StarOffice zewnętrznym programom. Natomiast Sun nie planuje tworzenia w ramach Star-Office odpowiednika MS Visual Basic for Application - zestawu narzędzi Microsoftu do tworzenia makr rozszerzających funkcjonalność pakietu biurowego. Funkcjonalność StarOffice mają wzbogacać mechanizmy dostępne w zewnętrznych programach pisanych w Javie.

Zmiany w Sun ONE

Sun planuje stworzenie zintegrowanego pakietu rozwiązań łączącego wszystkie produkty programowe tej firmy. Projekt Orion zakłada integrację oprogramowania Sun ONE, programów obsługujących pamięci masowe, klastry i narzędzia wspierających rozproszoną infrastrukturę obliczeniową, tzw. grid computing. Pakiet ma być dostępny zarówno na platformie SPARC, jak i Intel. Ma powstać także wersja przeznaczona dla Linuxa. Całość spina nowy interfejs administracyjny - prosty w użyciu i pozwalający zarządzać każdym elementem nowej platformy.

Na konferencji JavaOne przedstawiono nowe elementy oprogramowania serwerowego wchodzące w skład Sun ONE. Dodano wsparcie dla 64-bitowych usług katalogowych (co znacznie zwiększyło dostępną pojemność katalogów), a także wprowadzono motor synchronizujący atrybuty (w tym hasła) ze środowiskiem Windows. Motor ten nie wymaga instalowania żadnego dodatkowego oprogramowania po stronie Windows. Pakiet ma być dostępny na początku przyszłego miesiąca.

Inne składniki Sun ONE praktycznie się nie zmieniły.


TOP 200