Jini - wielkie marzenie Suna

Sun Microsystems ma wizję przetwarzania sieciowego, którą zamierza realizować za pomocą technologii Jini. Według ogólnej definicji, Jini to architektura bazująca na języku Java, przenosząca usługi systemu operacyjnego na całą sieć.

Sun Microsystems ma wizję przetwarzania sieciowego, którą zamierza realizować za pomocą technologii Jini. Według ogólnej definicji, Jini to architektura bazująca na języku Java, przenosząca usługi systemu operacyjnego na całą sieć.

Najprościej Jini można okreslić jako kawałek programu w Javie, działający na maszynie wirtualnej Java, nadający urządzeniom dołączonym do sieci właściwości "włącz i używaj". Sun proponuje wizję przyszłości, w której każde urządzenie, w tym również procesor lub pamięć RAM, będzie współpracować z innymi w dowolnie skalowalnym środowisku. Gdy użytkownik włączy np. cyfrowego asystenta PalmPilot do gniazdka sieciowego, zostanie natychmiast rozpoznany i stanie się częścią sieci. Będzie mógł sięgnąć do danych na PC i korzystać z usług innych urządzeń komputerowych w celu dokonania translacji danych. Następnie wydrukuje wyniki na najbliższej sobie drukarce sieciowej, bez konieczności wstępnego ładowania sterowników do PalmPilota. Staje się to możliwe dzięki temu, że PalmPilot sam załaduje odpowiedni sterownik drukarki, napisany w języku Java.

Nie tylko Sun

Koncepcja architektury przetwarzania rozproszonego nie jest ani nowa, ani oryginalna. David Gelertner, profesor informatyki na uniwersytecie Yale, jest pionierem architektury rozproszonej, którą zawarł w projekcie o nazwie Linda. Konkurencyjne rozwiązania opracowały m.in. Lucent Technologies (projekt Inferno) i IBM (projekt TSpaces). Również Microsoft ma ambitne plany rozproszonego systemu operacyjnego Millennium.

Jednakże Java i jej wirtualna platforma do uruchamiania aplikacji daje firmie Sun wyjątkową pozycję, w zakresie wdrożenia rozproszonego systemu operacyjnego. Zanim ta interesująca wizja i jej techniczna specyfikacja staną się realne, upłynie jeszcze wiele czasu. Na razie nie da się określić wpływu Jini na informatykę przyszłości, ale prawdopodobnie zmniejszy ona problemy związane z administrowaniem siecią i nową klasą potężnych aplikacji sieciowych.

Jini - bazar informatyczny

Jini to infrastruktura sieciowa oparta na Javie, pozwalająca urządzeniom i aplikacjom na automatyczne dołączanie się do sieci i oferowanie swoich usług. Nie rozwiązuje ona wszystkich problemów związanych z działaniem aplikacji w sieci, ale zapewnia zasadniczą właściwość dowiadywania się o usługach dostępnych w sieci i korzystania z nich.

Podstawę Jini stanowi zdalne wywołanie metod Java RMI (Remote Method Invocation) z zestawu JDK 1.2 (Java Development Kit) oraz usługi sieciowe, pozwalające obiektom Java na współpracę w sieci. W tym kontekście Jini to rozszerzenie idei komponentowego modelu programowego Enterprise JavaBeans.

Działanie Jini można opisać za pomocą analogii bazaru. Sieć Jini to bazar, na którym sprzedawcy zachwalają swoje towary. W sieci Jini odpowiednikami sprzedawców z bazaru będą użytkownicy, urządzenia i aplikacje. Gdy nowy sprzedawca pojawia się na bazarze, ogłasza swoją obecność i szybko ustawia kram. Następnie wypisuje wykaz świadczonych usług i sprzedawanych towarów, i wywiesza go na tablicy ogłoszeniowej, obok wiszących wykazów innych sprzedawców. Jini stale zapewnia przestrzeń na tablicy ogłoszeniowej na wszystkie ogłoszenia.

Ewentualny nabywca zagląda do tej tablicy, szuka interesujących go usług i kopiuje sobie informacje o oferencie. Następnie targuje się ze sprzedawcą co do ceny i czasu świadczenia usług. Reguły rządzące tym procesem targowania są zawarte w opracowanej przez Suna specyfikacji JavaSpaces. Nabywcę, któremu zależy na podkuciu konia, nie interesuje czy kowal targuje się o cenę podków z ich wytwórcą, czy z hutą o dostawę odpowiedniego surowca. Operacje te nie są widoczne dla jeźdźca.

Jini jest znacznie bardziej elastyczne niż by to wynikało z przytoczonej analogii. Nie da się ukraść wiadomości z tablicy ogłoszeniowej i nie ma problemów z przes-trzenią fizyczną. Jednakże wirtualny bazar stwarza pewne problemy. Sprzedawcy nie mogą rozsądzać kto może używać ich usług. W sieci potrzebne są więc pewne reguły. Dodatkowe reguły są potrzebne, gdy dostawca usług nagle znika z bazaru (np. z powodu awarii sieci).

W języku Jini bazar (zbiór sprzedawców i klientów) nosi nazwę "federacji". Jini zapewnia przestrzeń w federacji za pośrednictwem usług Discovery i Join (wykryj sieć i dołącz się do niej). Usługa Lookup (rozglądanie się) wysyła zapytania do tablicy ogłoszeniowej i otrzymuje oferty transakcji. Model leasingowy zawiera reguły, w jaki sposób zdejmuje się wykazy z tablicy i zawiera transakcje. Lista kontroli dostępu (Access Control List - ACL) określa, kto może korzystać z usług. Sposoby oferowania i wykonywania usług są określone przez specyfikację JavaSpaces i aktualną aplikację. Poszczególni sprzedawcy komunikują się z sobą za pomocą RMI.

Wyścig pomysłów

Jini to nie jedyna próba wynalezienia od nowa systemu operacyjnego dla świata sieciowego. Lucent Technologies pokazał technologię Inferno w 1997 r.; IBM ma technologię o nazwie TSpaces, a Laboratorium w Oak Ridge technologię równoległej maszyny wirtualnej PVM (Parallel Virtual Machine). Microsoft pracuje nad rozproszonym systemem operacyjnym o nazwie roboczej Millennium.

Systemy rozproszone prawdopodobnie rozwiążą problemy trapiące dzisiejszą informatykę. Wyobraźmy sobie nagle zwiększone zapotrzebowanie na dostęp do serwera Web. Serwer z konwencjonalnym systemem operacyjnym w pewnym momencie staje się niewydolny. System rozproszony rozpozna rosnący ruch i zacznie tworzyć kopie danych na innych serwerach i sprosta zadaniu. Stanie się to automatycznie bez interwencji administratora sieci.

Równoległa maszyna wirtualna PVM służy do zapewniania usług obliczeniowych o mocy superkomputera przez wykorzystanie komputerów w sieci. System Inferno to kompletny system operacyjny dla telekomunikacji. Inferno ma rozwiązania zbliżone do Javy, gdyż zawiera maszynę wirtualną Dis, język programowania Limbo i protokół komunikacyjny Styx. Projekt TSpaces jest bardzo zbliżony do pomysłu JavaSpaces.

Microsoft zdefiniował swoje cele w zakresie systemów rozproszonych w dokumencie o nazwie Project Millennium. Projekt jest bardzo ambitny. Microsoft zamierza bowiem osiągnąć dwa kluczowe i ściśle powiązane cele: całkowicie rozproszyć system operacyjny w sieci i zapewnić wysoki poziom abstrakcji aplikacji, który uwolni programistę od potrzeby zajmowania się takimi szczegółami, jak miejsce usytuowania i wykonywania aplikacji.

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200