Java remote method invocation
|
|
This article relies largely or entirely upon a single source. Please help improve this article by introducing citations to additional sources. Discussion about the problems with the sole source used may be found on the talk page. (February 2012) |
|
|
This article should be divided into sections by topic, to make it more accessible. Please help by adding section headings in accordance with Wikipedia's Manual of Style. (February 2012) |
The Java Remote Method Invocation Application Programming Interface (API), or Java RMI, is a Java application programming interface that performs the object-oriented equivalent of remote procedure calls (RPC).
- 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 CORBA version was later developed.
Usage of the term RMI may denote solely the programming interface or may signify both the API and JRMP, whereas the term RMI-IIOP (read: RMI over IIOP) denotes the RMI interface delegating most of the functionality to the supporting CORBA implementation.
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 support the RMI interface. Still, the RMI-IIOP and JRMP implementations do not have fully identical interfaces.
RMI functionality comes in the package java.rmi, 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 offers a more advanced version of RMI in Java. It functions similarly but provides more advanced searching capabilities and mechanisms for distributed object applications.[1]
[edit] See also
[edit] References
- ^ Taylor, Ian J. From P2P to Web Services and Grids - Peers in a Client/Server World. Springer, 2005
[edit] External links
- The Java RMI tutorial - a good starting point to learn RMI. Also check the Hello World in RMI
- the Java RMI online training - Very good for training JavaRMI and as reference
- The RMI page in the JDK docs
java.rmi(Sun's Java API Reference for the RMI package)- Wollrath, Ann; Riggs, Roger; Waldo, Jim (PDF). A Distributed Object Model for the Java System. http://pdos.csail.mit.edu/6.824/papers/waldo-rmi.pdf. Retrieved 2009-02-11.
- Programming WebLogic RMI - an introduction to RMI in Oracle Weblogic.
- General Remote Method Invocation