Java remote method invocation: Difference between revisions

Content deleted Content added
Jonabbey (talk | contribs)
Linked to Java serialization and dgc.
No edit summary
Line 4:
The '''Java Remote Method Invocation''' [[Application Programming Interface]] (API), or '''Java RMI''', is a [[Java (programming language)|Java]] API that performs the object-oriented equivalent of [[remote procedure call]]s (RPC), with support for direct transfer of [[Serialization#Java|serialized]] Java objects and [[Distributed Garbage Collection|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, a [[Common Object Request Broker Architecture|CORBA]] version was later developed.
 
Line 10:
 
==Generalized code==
The programmers of the original RMI API generalized the code somewhat to support different implementations, such as a [[Hypertext Transfer Protocol|HTTP]] transport. Additionally, the ability to pass arguments "[[Call by value|by value]]" was added to CORBA {{clarify-span|in order to support the RMI interface}}. Still, the RMI-IIOP and JRMP implementations do not have fully identical interfaces.
 
RMI functionality comes in the package {{Javadoc:SE|package=java.rmi|java/rmi}}, while most of Sun's implementation is located in the <code>sun.rmi</code> package. Note that with Java versions before Java 5.0 developers had to compile RMI stubs in a separate compilation step using <code>'''rmic'''</code>. Version 5.0 of Java and beyond no longer require this step.