Java 2 Útikalauz programozóknak 5.0

Az elte.java2_utikalauz5.rmi csomag

A Távoli metódushívás fejezet példaprogramjai.

Tovább lásd:
          részletes leírás

Interfészek
FoglaloInterface Egy adott elfoglaltsagot tobb szemely naptaraba bejegyzo osztaly interfesze.
InetdInterfesz Napszak interfész.
NaploInterface Távoli naplózási szolgáltatás interfészének specifikációja.
NaptarInterface Egy ember naptárát megvalósító objektum interfésze.
RMIMutexFactoryInterface Ez az RMIMutex objektumok konstruktorának a távoli interfésze.
RMIMutexInterface Egy mutex absztrakciójának megvalósításának interfésze.
Szamlalo Számláló interfész.
TranzakcioManagerFactoryInterface Ez a TranzakcioManager objektumok konstruktorának a távoli interfésze.
TranzakcioManagerInterface Egy tranzakcio levezetését végző koordinátor (a kétfázisú megegyezés protokoll vezér) absztrakciójának megvalósításának interfészei.
TranzakcioResztvevoInterface Egy résztvevő azon metódusai, amelyeket a vezér az egyes fázisokban a döntése meghozatalakor meghív.
 

Osztályok
FoglalExec Felhasználói meghajtó program az osztott naptár tesztelésére.
FoglaloOsztaly Egy tranzakcióban egy adott időpontra bejegyez egy elfoglaltságot néhány (több) naptárba.
InetdKliens Napszak kliens.
InetdSzerver Inetd-s napszak szerver.
Inicializal Bejegyzi a perzisztens naplózó objektumot az RMI névszolgáltatójánál (és persze az aktivációs rendszernél is).
Mutex Egy egyszeru kolcsonos kizarasi objektum (mutex) implementacioja.
Naplo A távoli naplózási interfészt implementáló objektumok osztálya.
NaploProba Egyszerű tesztprogram a létrehozott naplózási szolgáltató objektumunk kipróbálására.
Naptar Egy naptár feladatait megvalósító osztály.
NegInputStream Negáló bemeneti adatfolyam.
NegKliensVegpontGenerator Negáló kliensoldali végpontgenerátor.
NegOutputStream Negáló kimeneti adatfolyam.
NegServerSocket Negáló szerveroldali végpont.
NegSzerverVegpontGenerator Negáló szerveroldali végpontgenerátor.
NegVegpont Negáló hálózati végpont.
NKliens Számláló kliens.
NSzerver Számláló szerver.
PNaplo Aktiválható naplózó osztály.
RegistryKeszito Névjegyzékkészítő inetd eléréshez.
RegistryKeszito.InetdVegpont Inetd-kapcsolatoti végpont.
RegistryKeszito.InetdVegpontgenerator Az inetd-kapcsolatot megvalósító végpontgenerátor.
RmidTeszt rmid aktivációs rendszer teszt.
RMIMutex Ez egy tavolrol elerheto Mutex.
RMIMutexFactory Ez a tavolrol elerheto Mutex osztalyok konstruktora.
RMIMutexProba Szemlelteti az elosztott mutex rendszer hasznalatat.
SSLKliensVegpontGenerator Biztonságos kliensoldali végpontgenerátor.
SSLSzerver Biztonságos számláló szerver.
SSLSzerverVegpontGenerator Biztonságos szerveroldali végpontgenerátor.
TranzakcioManager A kétfázisú megegyezési protokollt megvalósító osztály.
TranzakcioManagerFactory Ez a TranzakcioManager osztály konstruktorának tekinthető.
 

Kivételek
RMIMutexNemtalalt Kivetel osztaly, mely jelzi, hogy a keresett mutex nincs a rendszerben.
Timeout Megengedett varakozasi ido tullepeset jelzo kivetel.
TranzakcioException A tranzakciót nem lehetett rendesen véghezvinni, valami hiba lépett fel.
 

package elte.java2_utikalauz5.rmi

A Távoli metódushívás fejezet példaprogramjai.

A távoli eljáráshívás egy kellően magas szintű eszköz ahhoz, hogy a procedurális programtervezési módszerekkel együtt a gyakorlatban is alkalmazzák programok több komponensre bontására (egy probléma különféle részfeladatainak megvalósítását más és más számítógépekre bízva), de a Java környezetben történő alkalmazhatóságát még mindig akadályozzák a Java nyelv és a távoli eljáráshívás filozófiájában levő eltérések: míg a Java nyelv egy objektumorientált tervezési módszer alkalmazását feltételezi a program készítőjétől, addig a távoli eljáráshívás egy olyan eszköz, amely a procedurális modellhez illeszkedik. Szükség van tehát egy olyan eszközre, amely segítségével az objektumorientált tervezési módszerekhez illeszkedően bonthatjuk fel az alkalmazásunkat úgy, hogy az számítógépek hálózatára telepítve is működőképes legyen (itt az alkalmazást lényegét tekintve hálózaton keresztül kommunikálni képes objektumok alkotják). Jelenleg a Java környezetben kétféle eszköz is található, amely e probléma megoldását szolgálja: az egyik a Java CORBA interfésze, a másik pedig a Java távoli metódushívási rendszere.
Tartalomjegyzék a hivatkozott referenciákkal és felhasznált képekkel:
A távoli metódushívás modellje
A távoli metódushívás eszközei
A paraméterátadás kérdései
A kliens és a szerver összekapcsolódása
Tipikus hibák távoli metódushívás során
Távoli metódushívás Java környezetben
Egy távoli objektum implementációja
Paraméterátadás
A Java RMI viselkedése kommunikációs hibáknál
A kliens- és a szervercsonk összekapcsolása
Távoli objektumok megnevezése
Távoli referenciák elérése
A registry implementációja
A példaprogramunk befejezése
Távoli metódusok párhuzamos környezetben
Távoli objektumok osztott szemétgyűjtése
Osztott szemétgyűjtés szerveroldala
Távoli osztályok elérése
A példaprogramunk tesztelése
Visszatekintés a fejlesztés menetére
Távoli metódushívás hálózati tűzfalak mögött
Objektumok aktiválása
Az objektumaktiváció modellje
Aktivációs információk
Aktivációs csoportok információi
Az aktivációs mechanizmusok alapelemei
Egy új aktivációs csoport létrehozása
Az aktivációs mechanizmus központi eleme
Kezdeti értékkijelölés alkalmazása
Az aktivációt támogató külső folyamat
Egy példa: perzisztens naplózás
Komolyabb példa: tranzakciókezelés RMI felett
Több résztvevő működésének szinkronizációja
A megoldott feladat
A feladatot megoldó eszközök áttekintése
A távolról elérhető komponensek interfészei
A komponensek összekapcsolása
A naptárokat megvalósító osztály
A kétfázisú megegyezési protokoll
A koordinátorokat konstruáló osztály
A naptárakba bejegyzést elvégző osztály
A program fordítása és kipróbálása
  • Képek:
    • A futtatáshoz tartozó szekvenciadiagram
A megoldás forráskódja
A naptár implementáció forráskódja
  • Referenciák:
A tranzakció kivétel forráskódja
A koordinátor osztály forráskódja
A koordinátorgyártó osztály forráskódja
A lefoglaló osztály forráskódja
A tesztprogram forráskódja
Egy elosztott szinkronizációs mechanizmus
A Java 5.0 újdonságai
Dinamikus csonkosztály-generálás
Az RMI hálózati szintű vezérlése végpontgenerátorokkal
A végpontgenerátorok bemutatása egy példán keresztül
Biztonságos végpontok (JSSE)
Igény szerinti alkalmazás-indítás
Az inetd paraméterezése
A rendszer kipróbálása
Az rmid igény szerinti indítása

Szerző:
Csizmazia Balázs, Kitlei Róbert
Forrásfájl:
package-info.java

Java 2 Útikalauz programozóknak 5.0