Ülevaade RMI arhitektuurist

Hajutatud rakenduste arhitektuuris on alati vaja kahe erineva rakenduse vahelist suhtlust. Java-põhistes rakendustes suhtleb üks rakendus teise kaug- / erineva rakendusega, mis töötab kuskil mujal, kasutades mehhanismi, mida nimetatakse RMI arhitektuuriks.

RMI tähistab kaugmeetodi kutsumist. See on Java poolt pakutav API, mis võimaldab ühes JVM-is (Java virtuaalmasinas) asuval objektil pääseda juurde või kutsuda teises JVM-is töötavat objekti. Teine JVM võib asuda samas masinas või kaugmasinas. See on huvitav funktsioon, kuna reaalajas kasutatavates rakendustes on Java-rakendustel väga lihtne suhelda üksteisega ilma välise kommunikatsioonimehhanismita. Samuti on alati vaja hajutatud rakenduste arhitektuuril põhinevat turvalist suhtlust rakenduste vahel.

RMI disain

Enne detailse arhitektuuri kallale asumist saame aru RMI arhitektuuri põhidisainist.

  • RMI API on pakis pakett java.rmi. Tutvustame kahte terminit RMI disaini arhitektuuri mõistmiseks. Esiteks on klient; JVM, mis helistab kaugobjektile ja teine ​​on server; JVM, mis sisaldab kaugobjekti. Niisiis, klient helistab serverile, antud juhul objektile meetodi kutsumiseks.
  • Seejärel tagastab server kliendile objekti viite. Saak on siin mõlemad objektid, st nii kohalik kui ka kauge kuvatakse serveris kohaliku objektina. Neid kahte ei eristata. Ka mõlema objekti meetodite süntaks on sama. Seetõttu toimib serveri JVM nagu tavaline JVM, teadmata ühtegi objekti, kas see on lokaalne või kaugjuhtimisega.
  • Sama objekt võib olla nii server kui ka klient. Kaugobjektide viide saadakse ja seda kasutatakse nii, nagu oleks see kohalik objekt. RMI taristu vastutab kaugobjekti leidmise, meetodikõne pealtkuulamise ja kaugpäringu kaugtöötlemise eest. Klient tugineb objektil olevatele meetoditele alles pärast kaugobjektile viite saamist.

RMI arhitektuur

Allpool on RMI arhitektuuri diagramm lihtsal viisil. Internetis leiate sama arhitektuuri erinevaid vorme, kuid meil on lihtne, mis aitab seda paremini selgitada.

Alustame punktide ühendamisega disaini vaatenurgast arhitektuuriskeemiga.

Kliendirakendus ja serverirakendus on kliendimasina ja serverimasina vastavad JVM-id. RMI rakenduses kirjutame vastavalt kaks programmi; klientprogramm, mis asub kliendil, ja serveriprogramm, mis asub serverimasinas.

Rakenduskiht:

See kiht on tegelikud süsteemid, st klient ja server, kes on suhtlemisse kaasatud. Kliendi poolel asuv Java programm suhtleb serveripoolsel Java programmiga.

Stub:

Alates disaini tutvustusest on meil kliendi objektid; RMI arhitektuuris on see tuntud kui Stub. See on objekt, mis asub kliendimasinas ja toimib serveri objekti puhverserverina. See on nagu kliendiprogrammi värav.

Tüvel on samad meetodid kui kaugobjektil. Kui klient helistab tübiobjektile, edastab tükk selle päringu RMI infrastruktuuri kaudu kaugiobjektile (Skeleton), mis seejärel serveris käivitatakse.

Stub viib läbi järgmisi sündmusi: -

  1. Algab ühenduse kaugjuhtimispuldiga JVM,
  2. Kirjutab ja edastab (marssalid) parameetrid kaugjuhtimispuldi JVM-i,
  3. Ootab tulemust,
  4. Loeb (Unmarshalls) tagastatud tulemuse,
  5. Edastage saadud tulemus helistajale.

Skelett:

Serverimasinas paiknev serveriobjekt on tuntud kui Skeleton. Stub suhtleb serverirakendusega Skeletoni vaheobjekti abil.

Skeleti objekti ülesandeks on parameetrite saatmine meetodi juurutamisele ja tagastamisväärtuste tagasisaatmine kliendile.

Skeleton viib läbi järgmisi üritusi: -

  1. Loeb kliendi poolt edastatud parameetri,
  2. Kutsub meetodi tegelikul kaugobjektil,
  3. Edastage / edastage tulemus helistajale.

Tüve / skeleti kiht:

  • Stubeli / skeleti kiht vastutab kliendi tehtud kõnede pealtkuulamise ja nende kõnede kaugobjektile suunamise eest. Seda kihti nimetatakse ka puhverserverikihiks. Stub ja Skeleton on puhverserverid kliendi ja serveri jaoks. Objektid Stub ja Skeleton on nagu liides rakenduse ja ülejäänud RMI süsteemi vahel.
  • Selle kihi eesmärk on andmete ülekandmine serveri referentskihti objektide järjestamise teel. Seda andmete / objekti baidivooluks teisendamise protsessi nimetatakse marsruutimiseks ja vastupidist nimega Unmarshalling. Objektiivilt serverilt päringu küsimine toimub tõrkeotsinguga ja Unmarshalling toimib serverilt andmete / objekti viite saamisel.

Kaugviide:

  • Puhverserveri kiht on RMI mehhanismiga ühendatud Remote Reference Layeri kaudu. See kiht vastutab kliendi ja serveri vahelise suhtluse ja objektide ülekandmise eest. See kiht määratleb ja toetab RMI-ühenduse kutsumissemantikat.
  • Kaugviitekiht vastutab seansi säilitamise eest meetodikõne ajal. St haldab kliendi viiteid kaugserveriobjektile. See kiht vastutab ka dubleeritud objektide käitlemise eest.

Transpordikiht:

Transpordikiht vastutab kahe masina vahelise side loomise eest. See kiht kasutab ühenduse loomiseks standardset TCP / IP-protokolli. Selle kihi kaudu toimub andmete tegelik transportimine. See kiht on osa Remote Reference Layerist.

Järeldus

  • Kaugmeetodi kutsumine (RMI) on JAVA-s pakutav väga kasulik API, mis aitab suhelda kahe erineva JVM-i vahel. See võimaldab objektil kutsuda meetodit teises aadressiruumis asuvale objektile.
  • See pakub rakenduste jaoks turvalist võimalust üksteisega suhelda. Selle funktsionaalsuse saavutab mõistete Stub (klient kutsuv objekt) ja Skeleton (serveris asuv kaugobjekt) abil.
  • RMI-d kasutatakse hajutatud rakenduste loomiseks. See säilitab ohutuse tüübi. RMI arhitektuur minimeerib rakenduse keerukust hajutatud arhitektuuris.

Soovitatavad artiklid

See on olnud RMI arhitektuuri teejuht. Siin käsitleme üksikasjalikult RMI disaini ja arhitektuuri koos sobiva plokkskeemiga. Lisateavet leiate ka meie muudest soovitatud artiklitest -

  1. Andmelao arhitektuur
  2. Mis on TCP protokoll?
  3. Mis on lauaarvuti tarkvara?
  4. CCNA intervjuu küsimused

Kategooria: