RMI står For Ekstern Metode Invocation. Det er en mekanisme som tillater et objekt bosatt i ett system (JVM) for å få tilgang til/påkalle et objekt som kjører på en ANNEN JVM.
RMI brukes til å bygge distribuerte applikasjoner; det gir ekstern kommunikasjon Mellom Java-programmer. Den leveres i pakken java.rmi.
Arkitektur av EN RMI-Applikasjon
i EN RMI-applikasjon skriver vi to programmer, et serverprogram (ligger på serveren) og et klientprogram (ligger på klienten).
-
inne i serverprogrammet opprettes et eksternt objekt, og referanse til det objektet gjøres tilgjengelig for klienten (ved hjelp av registret).
-
klientprogrammet ber om de eksterne objektene på serveren og prøver å påkalle metodene.
diagrammet nedenfor viser arkitekturen til ET RMI-program.
la oss nå diskutere komponentene i denne arkitekturen.
-
Transportlag-dette laget forbinder klienten og serveren. Den styrer den eksisterende tilkoblingen og setter også opp nye tilkoblinger.
-
Stub-en stub er en representasjon (proxy) av det eksterne objektet på klienten. Den ligger i klientsystemet; det fungerer som en gateway for klientprogrammet.
-
Skeleton-dette er objektet som ligger på serversiden. stub kommuniserer med dette skjelettet for å sende forespørsel til det eksterne objektet.
-
RRL (Remote Reference Layer) – det er laget som styrer referansene gjort av klienten til det eksterne objektet.
Arbeide av ET RMI-Program
følgende punkter oppsummerer hvordan ET RMI-program fungerer−
-
når klienten ringer til det eksterne objektet, mottas det av stubben som til slutt sender denne forespørselen TIL RRL.
-
når klientsiden rrl mottar forespørselen, påberoper den en metode som kalles påberope () av objektet remoteRef. Den sender forespørselen TIL RRL på serversiden.
-
RRL på serversiden sender forespørselen Til Skjelettet (proxy på serveren) som til slutt påkaller det nødvendige objektet på serveren.
-
resultatet sendes helt tilbake til kunden.
Marshalling Og Unmarshalling
Når en klient påkaller en metode som godtar parametere på et eksternt objekt, blir parametrene samlet inn i en melding før de sendes over nettverket. Disse parametrene kan være av primitiv type eller objekter. I tilfelle av primitiv type blir parametrene satt sammen og en overskrift er festet til den. Hvis parametrene er objekter, blir de serialisert. Denne prosessen er kjent som marshalling.
på serversiden er de pakkede parametrene delt, og deretter påberopes den nødvendige metoden. Denne prosessen er kjent som unmarshalling.
Rmi-Register
RMI-register er et navneområde der alle serverobjekter er plassert. Hver gang serveren oppretter et objekt, registrerer det dette objektet Med RMIregistry (ved hjelp av bind () eller reBind () metoder). Disse er registrert med et unikt navn kjent som bind name.
klienten trenger en referanse til objektet for å starte et eksternt objekt. På den tiden henter klienten objektet fra registret ved hjelp av bind-navnet (ved hjelp av oppslag () – metoden).
følgende illustrasjon forklarer hele prosessen –
Mål FOR RMI
Følgende er målene FOR RMI−
- for å minimere kompleksiteten i søknaden.
- for å bevare typesikkerheten.
- Distribuert søppelsamling.
- Minimer forskjellen mellom å arbeide med lokale og eksterne objekter.