Кіріспе

Компьютерлік есепте Java Remote Method Invocation (Java RMI) — Java API, ол қашықтан әдіс шақыруды жүзеге асырады, бұл қашықтан процедура шақырудың (RPC) объектіге бағытталған баламасы, серияланған Java сыныптарын тікелей беруді және таратылған қоқыс жинауды қолдайды. Алғашқы іске асыру Java Virtual Machine (JVM) сыныптарды бейнелеу механизмдеріне тәуелді, сондықтан ол тек бір JVM-нен екінші JVM-ге шақыру жасауды қолдайды. Бұл Java-ға ғана арналған іске асырудың негізінде жатқан протокол Java Remote Method Protocol (JRMP) деп аталады. JVM контексінде жұмыс істемейтін кодты қолдау үшін бағдарламашылар кейіннен CORBA нұсқасын жасады. RMI термині тек бағдарламалау интерфейсін ғана білдіруі мүмкін, немесе API және JRMP, IIOP немесе басқа да іске асыруды білдіруі мүмкін, ал RMI IIOP термині (оқылымы: RMI over IIOP) RMI интерфейсін білдіреді, ол көптеген функцияларды қолдаушы CORBA іске асыруына жүктейді. Java RMI-нің негізгі идеясы, таратылған қоқыс жинау (DGC) протоколы және Sun-ның алғашқы іске асыруының архитектурасының көп бөлігі Modula 3-тің "желілік объектілер" мүмкіндігінен алынған.

Жалпыланған код

Бастапқы RMI API бағдарламалаушылары кодты HTTP тасымалы сияқты әртүрлі нұсқаларды қолдау үшін біршама жалпылады. Сонымен қатар, RMI интерфейсімен үйлесімді болу үшін CORBA-ға аргументтерді "мәні бойынша" жіберу мүмкіндігі қосылды. Дегенмен, RMI IIOP және JRMP нұсқаларының интерфейстері толыққанды бірдей емес. RMI функционалдығы пакетке енгізіледі, ал Sun компаниясының көп бөлігі sun.rmi пакетінде орналасқан. Java 5.0 нұсқасынан бұрынғы нұсқаларда әзірлеушілер RMI стабтарын rmic құралын пайдаланып жеке компиляциялау қадамы арқылы құрастыруға міндетті болды. Java 5.0 және одан кейінгі нұсқаларында бұл қадам қажет емес.

Jini нұсқасы

Jini Java-да RMI-нің көбірек мүмкіндіктерге ие нұсқасын ұсынады. Ол осыған ұқсас жұмыс істейді, бірақ күшейтілген қауіпсіздік, объектілерді іздеу мүмкіндіктері және таратылған объектілік қосымшалар үшін басқа да механизмдерді қамтиды.