Jini

ITpedia

W Jini udostępniane usługi są rejestrowane w repozytorium o nazwie Lookup Service. Rejestrowanie polega na wpisaniu odpowiedniego rekordu opisującego cechy usługi oraz klasę Java (proxy), zawierającą kod centrum usługi. Wszystkie elementy niezbędne do korzystania z usługi przesyła  w razie potrzeby sama usługa. Na rysunku aparat cyfrowy ma przygotowany obraz i poszukuje odpowiedniej usługi drukowania, którą rozpozna po analizie rekordów. Centrum reprezentuje drukarka. Jej kod wpisze aparat do swojej jednostki sterującej w chwili rozpoznania wspomnianych cech. Tu usługa będzie świadczona lokalnie. Czasem jednak usługa musi być świadczona przez urządzenie spoza środowiska Jini, jak np. starszy typ drukarki, lub za pośrednictwem mostu, np. baza rysunków publikowanych na stronie webowej (kiedy nie rozpoznaje połączeń Jini).  Technologia Jini nie wymaga ani specjalnego systemu operacyjnego, ani transportu sieciowego: aparat cyfrowy może używać łączy podczerwonych, radiowych albo być fizycznie połączony z siecią lokalną. RMI (Remote Method Invocation) – metoda zdalnego wywoływania – wiąże wzajemnie urządzenia przyłączone do sieci. Każde z nich powinno być albo wyposażone w maszynę wirtualną Javy 2, albo – kiedy jest zbyt proste – korzystać z maszyny innego urządzenia. Jini ma również wbudowane mechanizmy niezbędne do przetwarzania rozproszonego w Javie, jak rozproszony model komunikacji zdarzeń czy transakcje w systemie rozproszonym. Technologia Jini powstała w Sun Microsystems.
W Jini udostępniane usługi są rejestrowane w repozytorium o nazwie Lookup Service. Rejestrowanie polega na wpisaniu odpowiedniego rekordu opisującego cechy usługi oraz klasę Java (proxy), zawierającą kod centrum usługi. Wszystkie elementy niezbędne do korzystania z usługi przesyła w razie potrzeby sama usługa. Na rysunku aparat cyfrowy ma przygotowany obraz i poszukuje odpowiedniej usługi drukowania, którą rozpozna po analizie rekordów. Centrum reprezentuje drukarka. Jej kod wpisze aparat do swojej jednostki sterującej w chwili rozpoznania wspomnianych cech. Tu usługa będzie świadczona lokalnie. Czasem jednak usługa musi być świadczona przez urządzenie spoza środowiska Jini, jak np. starszy typ drukarki, lub za pośrednictwem mostu, np. baza rysunków publikowanych na stronie webowej (kiedy nie rozpoznaje połączeń Jini). Technologia Jini nie wymaga ani specjalnego systemu operacyjnego, ani transportu sieciowego: aparat cyfrowy może używać łączy podczerwonych, radiowych albo być fizycznie połączony z siecią lokalną. RMI (Remote Method Invocation) – metoda zdalnego wywoływania – wiąże wzajemnie urządzenia przyłączone do sieci. Każde z nich powinno być albo wyposażone w maszynę wirtualną Javy 2, albo – kiedy jest zbyt proste – korzystać z maszyny innego urządzenia. Jini ma również wbudowane mechanizmy niezbędne do przetwarzania rozproszonego w Javie, jak rozproszony model komunikacji zdarzeń czy transakcje w systemie rozproszonym. Technologia Jini powstała w Sun Microsystems.

Technologia połączeniowa Jini daje w miarę przejrzysty mechanizm, umożliwiający urządzeniom tworzenie pewnego rodzaju zaimprowizowanej „wspólnoty” – bez planowania, instalacji czy interwencji użytkownika. Każde urządzenie może świadczyć usługi, z których może korzystać inne urządzenie we wspólnocie.

Kiedy użytkownik podłącza do sieci nowe urządzenie zgodne z Jini, to wtedy rozgłasza ono komunikat, którym sygnalizuje swoją obecność. Z odpowiedzi dowiaduje się o innych urządzeniach. Usługa wyszukiwania rejestruje nowe urządzenie, zatrzymuje rekord jego atrybutów i wysyła zwrotną wiadomość do urządzenia Jini, informującą je, gdzie ma dotrzeć do usług wyszukiwania, gdyby potrzebowało pomocy. Kiedy na przykład zachodzi potrzeba drukowania, urządzenie odwołuje się do usługi wyszukiwania, znajduje to co niezbędne, i wysyła rezultaty do odpowiedniego urządzenia (nieco szerzej o tym na rysunku po prawej). Na razie Jini składa się w bardzo małej części z kodu Java, który funkcjonuje na komputerze lub urządzeniu.

Jini jest zbiorem różnych API oraz protokołów, które mogą pomóc w stworzeniu, a następnie w rozwoju systemów rozproszonych, zorganizowanych jak federacje usług. Usługa może być czymś, co rezyduje w sieci, i jest gotowa do wykonania przydatnej funkcji. Może to być urządzenie, oprogramowanie czy kanał komunikacyjny.

Przykładowo: dyskowe urządzenie pamięciowe mogłoby zaoferować usługę „pamiętanie” lub „magazynowanie”, a drukarka wyposażona w interfejs Jini – usługę „drukowanie”. Federacja usług jest w istocie zbiorem dostępnych usług, które klient może wykorzystać w jakimś określonym celu. Słowo klient jest tu rozumiane jako program, usługa lub użytkownik.

Jini definiuje też infrastrukturę wykonawczą, która rezyduje w sieci i dostarcza mechanizmy umożliwiające dodawanie, usuwanie i lokalizowanie usług.

Infrastruktura wykonawcza znajduje się w trzech miejscach sieci:

  • w usługach wyszukiwania,
  • w usługach dostawców (takich jak urządzenie kompatybilne z Jini),
  • w klientach.

Kiedy nowe usługi stają się dostępne w sieci, wtedy rejestrują się w repozytorium usług (usługach wyszukiwania). A kiedy klient chce zlokalizować usługę, aby pomogła mu wykonać jakąś pracę, wtedy konsultuje się z usługami wyszukiwania.

Przykład domowego środowiska sieciowego
Przykład domowego środowiska sieciowego

Infrastruktura wykonawcza używa protokołu poziomu sieci, zwanego discovery (tu odnajdywanie), i dwóch protokołów poziomu obiektu, zwanych join (dołączenie) i lookup (szukanie). Discovery umożliwia klientom i usługom zlokalizowanie usług wyszukiwania. Join umożliwia usłudze rejestrowanie się w usługach wyszukiwania, a lookup umożliwia klientowi przepytywanie usług wyszukiwania w celu wybrania tej, która pomoże mu w wypełnieniu jakiegoś zadania. Discovery funkcjonuje w następujący sposób. Załóżmy, że użytkownik ma dyskowe urządzenie pamięciowe z zaimplementowanym Jini, oferujące usługi magazynowania danych. W chwili, kiedy użytkownik włączy to urządzenie do sieci, zacznie ono rozgłaszać wiadomość, w której powiadamia o swojej obecności. Odbywa się to za pośrednictwem pakietu multicast wysyłanego do dobrze znanego portu. W tej wiadomości będzie zawarty adres IP oraz numer portu, niezbędne do kontaktowania się z urządzeniem pamięciowym poprzez usługę wyszukiwania.

Usługi wyszukiwania monitorują dobrze znany port i odbierają pakiety rozgłaszające obecność. Kiedy usługa wyszukiwania otrzyma taki pakiet, otwiera go i przegląda. Pakiet zawiera informację, na podstawie której usługa wyszukiwania może się dowiedzieć, czy powinna nawiązywać kontakt z nadawcą tego pakietu, czy też nie powinna. Jeśli tak, to kontaktuje się z nim przez utworzenie połączenia TCP z adresem IP i numerem portu ze wspomnianego pakietu. Używając metody zdalnego wywołania RMI (Remote Method Invocation), usługa wyszukiwania wysyła do źródła pakietu obiekt zwany RS (Service Registrar) – sekretarz usługi. Jego powinnością jest uproszczenie dalszej komunikacji z usługą wyszukiwania. Przez wywołanie procedur w tym obiekcie nadawca pakietu rozgłoszeniowego może dołączać i przeszukiwać usługi wyszukiwania. W przypadku cytowanego urządzenia pamięciowego usługa wyszukiwania mogłaby utworzyć do niego połączenie TCP i wysłać RS. Dzięki temu to urządzenie mogłoby rejestrować usługę magazynowania przez proces join.

-
-