Dżin z filiżanką Javy

Discovery i Join

Urządzenie lub aplikacja, po włączeniu do sieci, musi znaleźć sieć i powiadomić ją o swoich możliwościach. Discovery działa następująco:

Po włączeniu do sieci urządzenie Jini wysyła w sieć (rozgłasza) do ustalonego numeru portu pakiet Discovery o długości 512 bajtów. Zawiera on. m.in. odniesienie zwrotne do wysyłającego urządzenia.

Usługa sieciowa Lookup stale nasłuchuje na tym porcie. Po otrzymaniu pakietu Discovery, wysyła informację o swoim istnieniu i parametrach do urządzenia.

Urządzenie Jini wykryło już sieć i może przesłać swoje dane do usługi Lookup za pośrednictwem modułu Join. Dane te zawierają przede wszystkim informacje o świadczonych usługach, wymaganiach, sterownikach, pomocnikach, atrybutach itp.

Lookup

Lookup to sieciowa tablica informacyjna o wszystkich usługach dostępnych w sieci. Zawiera nie tylko wskaźniki do usług w sieci, ale również dane i kod Java niezbędny do ich działania.

Przykładowo, jeśli drukarka dołącza się do sieci Jini, to przesyła do Lookup sterownik niezbędny do swojego działania. Gdy klient sieci Jini zamierza użyć drukarki Lookup, przesyła mu ten sterownik. Jeśli w sieci działa kilka drukarek, klient wgrywa sobie tylko sterownik używanej drukarki, może więc działać przy niewielkich wymaganiach na rozmiar pamięci.

W małych sieciach nie musi istnieć pełny zakres usług Lookup. Wtedy korzysta się z możliwości wspólnego tworzenia namiastki usług Lookup przez dołączone urządzenia. Urządzenia i usługi o ograniczonych możliwościach funkcjonalnych są obsługiwane w Lookup za pomocą prokurenta (proxy) programowego.

Rozproszone systemy Jini

Efektywne wykorzystanie złożonych sieci Jini zapewnia rozproszone środowisko programowania Jini Distributed Programming, rozszerzające możliwości standardowego środowiska Java. Za pośrednictwem tzw. JavaSpaces realizuje ono trzy podstawowe usługi: wynajem usług (leasing), transakcje rozproszone i zdarzenia rozproszone.

Leasing. Usługi w sieci Jini świadczy się tylko przez określony czas. Urządzenie lub program dołączając się do sieci Jini negocjuje z siecią czas świadczenia usług. Dalsze działanie wymaga negocjacji. Następnie Lookup automatycznie eliminuje informacje z biuletynu. Tak więc wyciągnięcie wtyczki z sieci nie powoduje zakłóceń działania Jini, gdyż informacja o nim zostaje szybko usunięta.

Transakcje rozproszone. Jini zawiera zestaw funkcji API pozwalających na realizację operacji typu transakcyjnego, tj. operacja wykonuje się w całości albo zostaje usunięta w przypadku niezakończenia części (jest to prosta realizacja tzw. dwufazowego zatwierdzania transakcji znana z systemów rozproszonych baz danych).

Zdarzenia rozproszone. W pojedynczym komputerze system operacyjny gwarantuje otrzymanie informacji o zdarzeniu przez zainteresowane strony; również kolejność przychodzenia tych informacji odpowiada kolejności fizycznej zdarzeń. W systemach rozproszonych nie ma pewności ani co do dojścia informacji o zdarzeniu, ani co do kolejności przychodzenia informacji.

W środowisku Jini każde zdarzenie opatrzone jest numerem seryjnym, pozwalając na upewnienie się, co do wystąpienia i kolejności zdarzeń. Zestaw funkcji API umożliwia obsługę takich asynchronicznych zdarzeń.

Publicznie dostępny kod źródłowy

W celu zwiększenia zainteresowania i dla ułatwienia rozwoju technologii Jini Sun zamierza opublikować kody źródłowe technologii na podobnych zasadach, jak działa tzw. licencja publiczna GNU. Użytkownik może dowolnie rozwijać i rozpowszechniać kod, pod warunkiem zachowania pewnych reguł: niepobierania opłaty za kod i programy na nim oparte, udostępniania swoich osiągnięć itp. Na takich zasadach udostępniany jest kod Linuxa, programów do szyfrowania PGP, systemu do składu elektronicznego Tex, nowych wersji przeglądarek Netscape i in.

W celu zachowania zgodności z nakreślonymi kierunkami rozwoju technologii Sun zamierza dokładniej określić warunki udzielania licencji i zachowania znaku firmowego Jini.

Główne koncepcje technologii Jini

Spontaniczna sieć. Możliwość dynamicznego ustanowienia komunikacji między dowolnymi urządzeniami lub programami w sieci (bez konieczności instalowania sterowników) w celu wzajemnego świadczenia usług.

Federacja. Dynamiczny, rozproszony system urządzeń i programów istniejących w sieci. W domowej federacji urządzeń mogą koegzystować telewizor, komputer PC, kuchenka mikrofalowa, alarm domowy, telefon lub kamera.

Usługi. Użyteczne funkcje, które mogą wykonywać elementy programowe, sprzęt, a nawet użytkownicy sieci.

Odkrywanie. Możliwość dołączenia dowolnego elementu do sieci i anonsowania jego obecności.


TOP 200