Dżin z filiżanką Javy

Prawdziwa potęga technologii i środowiska Java ujawnia się w możliwości stworzenia spontanicznej sieci urządzeń elektronicznych w domu, biurze, samochodzie, społeczności lokalnej.

Prawdziwa potęga technologii i środowiska Java ujawnia się w możliwości stworzenia spontanicznej sieci urządzeń elektronicznych w domu, biurze, samochodzie, społeczności lokalnej.

Każdy, kto kiedykolwiek próbował dodać nowy napęd dyskowy, modem lub skaner do komputera PC, wie, że nie jest to zadanie trywialne. Nawet korzystając z możliwości, jakie oferuje Windows 95 w ramach techniki "Włącz i używaj", znalezienie lub ściągnięcie właściwego sterownika, ustawienie przełączników, rozstrzygnięcie czy należy zgodzić się na przepisanie istniejącej biblioteki DLL przez jej "nową" wersję (która wcale nie musi być nowsza; Windows 95 każe problem zgodności bibliotek rozstrzygać użytkownikowi, zamiast stosować rozwiązania znane ze świata większych komputerów), nie jest pracą odpowiednią dla zwykłego człowieka. Problem jest bardziej skomplikowany, gdy trzeba to samo uczynić z dziesiątkami lub setkami urządzeń w sieci instytucji lub przedsiębiorstwa.

Bill Joy ma pomysł

Jeden z założycieli i obecny wiceprezes Sun Microsystems ds. badań i rozwoju - Bill Joy - od wielu lat pracuje nad pomysłem ułatwienia używania komputerów. Prace koncentrowały się głównie na rozwoju odpowiedniego środowiska sieciowego. Można nawet domniemywać, że język Java powstał w wyniku zapotrzebowania na prostszy język programowania do obsługi środowiska znanego od 22 lipca br. jako Jini (wymawia się jak ang. genie - dżinn).

Niewielki pakiet programowy (tylko 48 kB w kodzie bajtowym Java) zmienia każde urządzenie, wyposażone w maszynę wirtualną Java, w "obywatela sieciowego" (wg określenia Billa Joya). Po włączeniu do sieci Java, urządzenie anonsuje swoją obecność i informuje, jakie usługi może realizować: jest dyskiem o pojemności 4 GB lub cyfrową kamerą fotograficzną o rozdzielczości XGA. Każde inne urządzenie dołączone do tej sieci - stacja robocza, PC, telefon komórkowy, alarm domowy - może korzystać z usług dowolnego urządzenia w sieci za pośrednictwem mechanizmukomunikacyjnego zdalnego wywołania metod (Remote Method Invocation - RMI), standardowego dla środowiska Java.

"Piękno idei Jini polega na tym, że sieci można budować spontanicznie, praktycznie bez administracji" - mówi Bill Joy.

Wszystko jest usługą sieciową

Wyobraźmy sobie, że przynosimy do domu nowy napęd DVD i włączamy go do domowej sieci Jini. Od tej chwili można go już używać do wyświetlania filmów w telewizorze, przeglądania encyklopedii na monitorze komputera PC, odtwarzania muzyki klasycznej przez lokalny zestaw stereo. I wszystko to bez potrzeby wprowadzania zmian w konfiguracji lub poszukiwania odpowiedniego sterownika. DVD staje się usługą w sieci domowej.

Podobnie dołączenie nowego dysku do domowego PC pozwala na zapisanie na nim wszystkich informacji - od plików tekstowych z PC, przez wiadomości poczty głosowej telefonu, nowego filmu z sieci cyfrowej telewizji kablowej, po aktualne ustawienia kuchenki mikrofalowej do pieczenia kurczaka. Dołączenie notebooka do sieci sali konferencyjnej spowoduje, że znajdzie on projektor i wyśle nań obraz z ekranu, znajdzie mocną stację roboczą do wykonania skomplikowanego programu obliczeń statystycznych na danych i wydrukowania wykresu na lokalnej drukarce. Jeżeli zaś okazało się, że potrzebny dokument został w domu, można go łatwo ściągnąć przez Internet z domowego PC. Wszystkie urządzenia i programy stają się usługami sieciowymi.

Każdy obiekt, wyposażony w procesor i połączenie do sieci, może świadczyć w niej usługi za pośrednictwem technologii Jini. Urządzeniem takim może być zarówno duży komputer typu mainframe, jak i inteligentna karta telefoniczna lub kredytowa.

Sun demonstrował znaczenie rozproszonej technologii Jini i powiązanego z nią rozproszonego środowiska JavaSpaces podczas konferencji JavaOne w marcu br. Ponad 14 tys. uczestników konferencji otrzymało sygnety identyfikacyjne Java Ring, zawierające procesor (produkowany przez Dallas Semiconductor) z zaszytym programem i pamięcią RAM o niewielkiej pojemności. Dołączając swój sygnet do gniazda połączeniowego, można było obserwować na ekranie rozrastanie się fraktala Mandelbrota, tworzonego na bieżąco przez wszystkie sygnety podłączone do sieci.

Architektura Jini

Proponowane przez Sun rozwiązanie architektoniczne musi być proste, jeśli ta technologia ma się kwalifikować do stosowania w większości urządzeń powszechnego użytku w celu tworzenia z nich "sieci spontanicznej".

Początkowa wersja Jini - dostępna publicznie od jesieni br. - będzie zawierać specyfikację dwóch prostych komponentów: programowego i sprzętowego.

Pakiet programowy Jini współdziała z istniejącymi systemami operacyjnymi komputerów i powiązaną z nimi infrastrukturą sieciową. Zawiera dwa moduły: Discovery/Join i Lookup, korzystające z maszyny wirtualnej Java systemu operacyjnego. Jako pierwsze, jesienią będą dostępne wersje tego pakietu do systemów operacyjnych Solaris i Windows NT.

Drugi komponent to infrastruktura sprzętowa, budująca możliwości sieciowe urządzenia. Będzie to struktura tolerująca zmiany zestawu użytkowników sieci i dynamiczne dołączanie i odłączanie urządzeń. Obecnie ponad 30 producentów różnorodnych urządzeń - poczynając od producentów komputerów, na urządzeniach typu faks, kopiarka, kamera cyfrowa, napędy DVD kończąc - włącza technologię Jini do swoich nowych produktów.

Architekci Jini

Prace nad systemem Jini rozpoczęto w Sun Microsystems w 1994 r. i kontynuowano równolegle z opracowaniem Javy. Kierowali nimi Bill Joy i Jim Waldo, uczestniczyli zaś wybitni informatycy: Ann Wolrath - twórczyni metody zdalnego wywołania procedur RMI w języku Java, Ken Arnold - twórca idei tzw. JavaSpaces (środowiska przetwarzania rozproszonego Java), Bob Scheifler z X Consortium (rozwijającego środowisko graficzne X Windows w Unixie).