Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Мазмұны
Кіріспе
Компьютерлік есепте 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-тің "желілік объектілер" мүмкіндігінен алынған.
In computing, the Java Remote Method Invocation (Java RMI) is a Java API that performs remote method invocation, the object oriented equivalent of remote procedure calls (RPC), with support for direct transfer of serialized Java classes and distributed garbage collection. The original implementation depends on Java Virtual Machine (JVM) class representation mechanisms and it thus only supports making calls from one JVM to another. The protocol underlying this Java only implementation is known as Java Remote Method Protocol (JRMP). In order to support code running in a non JVM context, programmers later developed a CORBA version. Usage of the term RMI may denote solely the programming interface or may signify both the API and JRMP, IIOP, or another implementation, whereas the term RMI IIOP (read: RMI over IIOP) specifically denotes the RMI interface delegating most of the functionality to the supporting CORBA implementation. The basic idea of Java RMI, the distributed garbage collection (DGC) protocol, and much of the architecture underlying the original Sun implementation, come from the "network objects" feature of Modula 3.
Жалпыланған код
Бастапқы RMI API бағдарламалаушылары кодты HTTP тасымалы сияқты әртүрлі нұсқаларды қолдау үшін біршама жалпылады. Сонымен қатар, RMI интерфейсімен үйлесімді болу үшін CORBA-ға аргументтерді "мәні бойынша" жіберу мүмкіндігі қосылды. Дегенмен, RMI IIOP және JRMP нұсқаларының интерфейстері толыққанды бірдей емес. RMI функционалдығы пакетке енгізіледі, ал Sun компаниясының көп бөлігі sun.rmi пакетінде орналасқан. Java 5.0 нұсқасынан бұрынғы нұсқаларда әзірлеушілер RMI стабтарын rmic құралын пайдаланып жеке компиляциялау қадамы арқылы құрастыруға міндетті болды. Java 5.0 және одан кейінгі нұсқаларында бұл қадам қажет емес.
The programmers of the original RMI API generalized the code somewhat to support different implementations, such as a HTTP transport. Additionally, the ability to pass arguments "by value" was added to CORBA in order to be compatible with the RMI interface. Still, the RMI IIOP and JRMP implementations do not have fully identical interfaces. RMI functionality comes in the package , while most of Sun's implementation is located in the sun. rmi package. Note that with Java versions before Java 5.0 developers had to compile RMI stubs in a separate compilation step using rmic. Version 5.0 of Java and beyond no longer require this step.
Jini нұсқасы
Jini Java-да RMI-нің көбірек мүмкіндіктерге ие нұсқасын ұсынады. Ол осыған ұқсас жұмыс істейді, бірақ күшейтілген қауіпсіздік, объектілерді іздеу мүмкіндіктері және таратылған объектілік қосымшалар үшін басқа да механизмдерді қамтиды.
Jini offers a more advanced version of RMI in Java. It functions similarly but provides more advanced security, object discovery capabilities, and other mechanisms for distributed object applications.