280 likes | 436 Views
JXTA. Czym jest JXTA?. JXTA jest zbiorem otwartych protokołów, które umożliwiają komunikację dowolnym urządzeniom podłączonym do sieci (telefony, PDA, PC, itp.) na zasadzie „równy z równym” (peer-to-peer). Cele technologii JXTA.
E N D
Czym jest JXTA? JXTA jest zbiorem otwartych protokołów, które umożliwiają komunikację dowolnym urządzeniom podłączonym do sieci (telefony, PDA, PC, itp.) na zasadzie „równy z równym” (peer-to-peer).
Cele technologii JXTA • Interoperacyjność – umożliwienie pracy w heterogenicznych systemach peer-to-peer bez względu na protokoły sieciowe i adresację • Niezależność od platformy – zróżnicowane języki programowania, systemy operacyjne i sieci • Wszechobecność – możliwość stosowania na dowolnym urządzeniu
Co JXTA daje programistom? • Możliwość odnajdywania węzłów i zasobów sieci bez względu na zapory i NAT • Możliwość łatwego współdzielenia zasobów • Możliwość tworzenia własnych węzłów i grup • Bezpieczeństwo w sieci publicznej
Koncepcje • Węzeł (peer) • Grupa węzłów (peer group) • Usługa (network service) • Moduł (module) • Potok (Pipe) • Komunikat (message) • Anons (advertisement) • Bezpieczeństwo (security)
Identyfikatory (ID) • Wskazują na konkretny obiekt: węzeł, grupa itp. • Mają postać URN (Uniform Resource Name) urn:jxta:uuid-59616261646162614A78746150325033F3BC76FF13C2414CBC0AB663666DA53903 • Rodzaje - uuid (większość obiektów) - jxta (id specjalnego przeznaczenia)
Węzły (peers) • Jednostka implementująca protokoły JXTA • Telefon, PDA, PC itp. • Identyfikowany przez ID • Rodzaje węzłów: - Minimal-Edge Peer - Full-Edge-Peer - Super Peer: relay, rendezvous, proxy • Może należeć do jednej lub wielu grup
Grupy węzłów (peer groups) • Zbiór węzłów (peer) o podobnych funkcjach • Cele: - wspólna polityka bezpieczeństwa - współdzielenie zasobów (pliki, CPU) - monitoring
Usługi (network services) • Etapy: - ogłaszanie - odkrywanie - wywoływanie • Rodzaje - Peer Services - Peer Group Services
Moduły (modules) • Implementują serwisy • Zawierają: - klasy (Module Class) - specyfikacje (Module Specification) - implementacje (Module Implementation)
Komunikaty (messages) • Typy załączników: - tekstowy (TextMessageElement) - binarny (ByteArrayMessageElement) - strumień wejściowy (InputStreamMessageElement) • Przesyłane w postaci binarnej
Kanały komunikacyjne - Pipes • Jednokierunkowe (InputPipe, OutputPipe) • Asynchroniczne • Zawodne (z wyjątkiem UnicastSecurePipe) • Wiązane dynamicznie • Modele komunikacji: - punkt–punkt (point-to-point pipes) - propagacja (propagate pipes) - zabezpieczona (secure unicast pipes)
Kanały komunikacyjne - JxtaBiDiPipe, JxtaServerPipe • Bazują na InputPipe i OutputPipe • Dwukierunkowe • Asynchroniczne • Niezawodne • FIFO • Interfejs zdarzeniowy • Ograniczenie MTU do 64K
Kanały komunikacyjne – JxtaSocket, JxtaServerSocket • Dwukierunkowe • Niezawodne • FIFO • Interfejs strumieniowy • Buforowanie wiadomości
Anonse (1) • Format dokumentu XML <?xml version="1.0"?> <!DOCTYPE jxta:PipeAdvertisement> <jxta:PipeAdvertisement xmlns:jxta="http://jxta.org"> <Id> urn:jxta:uuid-59616261646162614E504720503250338E3E786229EA460DADC1A176B69B731504 </Id> <Type> JxtaUnicast </Type> <Name> TestPipe </Name> </jxta:PipeAdvertisement>
Anonse (2) • Rodzaje: - Peer Advertisement - Peer Group Advertisement - Pipe Advertisement - Module Class Advertisement - Module Spec Advertisement - Module Impl Advertisement - Rendezvous Advertisement - Peer Info Advertisement
Bezpieczeństwo • Zapewnienie - Poufności (confidentiality) - Autentyczności (authentication) - Autoryzacji (authorization) - Integralności (integrity) • Mechanizmy: - klucze publiczne - skróty - certyfikaty
Protokoły JXTA • Peer Discovery Protokol (PDP) • Peer Information Protocol (PIP) • Peer Resolver Protocol (PRP) • Pipe Binding Protocol (PBP) • Endpoint Routing Protocol (ERP) • Rendezvous Protocol (RVP)
Peer Discovery Protokol • Anonsowanie własnych zasobów • Odnajdywanie anonsów innych węzłów • IP multicast • Rozproszone tablice haszujące
Peer Information Protocol • Uzyskiwanie informacji kontrolnych od węzłów (czas działania, stan, itp.) • PIP ping
Peer Resolver Protocol • Wysyłanie dowolnych zapytań do jednego lub więcej węzłów i uzyskiwanie odpowiedzi • Stanowi fundament PDP i PIP
Pipe Binding Protocol • Tworzenie wirtualnego kanału komunikacyjnego • Bindowanie punktów końcowych • Możliwość wykorzystania różnych protokołów (np. TCP/IP)
Endpoint Routing Protocol • Wyznaczanie trasy od nadawcy do odbiorcy • Trasa to sekwencja kolejnych węzłów przekaźnikowych
Rendezvous Protocol • Umożliwienie komunikacji wewnątrz grupy • Podział węzłów w grupie na węzły RDV i węzły nasłuchujące • Używany przez PRP i PBP do propagowania komunikatów w grupie
zadania c:\jxta\zadania.pdf