Nuotolinis objektas

Straipsnis iš Vikipedijos, laisvosios enciklopedijos.
Jump to navigation Jump to search

Nuotolinis objektas – už kompiuterio fizinės atminties ribų esantis objektas. Paprastai toks objektas lokalizuotas kitame kompiuteryje ir pasiekiamas tik per kompiuterinį tinklą. Nuotoliniai objektai naudojami sistemose, kurių įvairios dalys veikia skirtinguose kompiuteriuose, sąveikaudamos per tinklą.

Programuojant nuotoliniu objektu manipuliuojama panašiai kaip ir paprastu. Lokaliame kompiuteryje objektą pakeičia jo stuburas arba proxy, turintis visus tuos pačius metodus kaip ir tikrasis objektas, tačiau šių metodų kodas vietoj objektui specifinių veiksmų atlieka nuotolinio operacijos iššaukimo (prireikus perduodant ir grąžinant parametrus) operacijas. Objektą saugančiame kompiuteryje jis paprastai vienaip ar kitaip sąveikauja su specialiai jam sugeneruota „sąsaja“ (angl tie). Sąsaja priima nuotolinio iššaukimo komandas ir vykdo objekto metodus. Stuburo ir sąsajos kodas paprastai generuojamas automatiškai: arba pagal jo aprašą specialia kalba (kaip CORBA), arba tiesiog iš pagrindinės nuotolinio objekto klasės, panaudojant refleksiją (kaip RMI ir RMI/IIOP). CORBA sistemoje keleto nuotolinio objekto klasių metodai gali būti deleguoti vienai „tarno“ klasei ir atvirkščiai. Proxy metodikos įgalina apsieiti ir be generuojamo kodo.

Vienose nuotolinės sąveikos sistemose objekto vieta pastovi (galima perduoti tik jo nuorodą), kitose – objektą prireikus galima „perkraustyti“ į kitą tinklu susietą kompiuterį.

Paprastai sunkiausia rasti pirmąjį nuotolinį objektą. Tam dažniausiai naudojama vardų tarnyba (angl. naming service) arba nuotolinis adresas. Vėliau nuorodos į naujus objektus (ar patys objektai) perduodami ir grąžinami kaip ir bet kurie kiti metodų parametrai.