Java remote method invocation

Java remote method invocation

The Java Remote Method Invocation API, or Java RMI, is a Java application programming interface for performing the object equivalent of remote procedure calls.

There are two common implementations of the API. 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 original RMI API was generalized somewhat to support different implementations, such as an HTTP transport. Additionally, work was done to CORBA, adding a pass by value capability, to support the RMI interface. Still, the RMI-IIOP and JRMP implementations are not fully identical in their interfaces.

The package name is Javadoc:SE|package=java.rmi|java/rmi while most of Sun's implementation is located in the sun.rmi package. Note that with Java versions before Java 5.0 it was necessary to compile RMI stubs in a separate compilation step using rmic. Version 5.0 of Java and beyond no longer require this step.

A more advanced version of RMI in Java is Jini - it is similar but provides more advanced searching capabilities and mechanisms for distributed object applications [Taylor, Ian J. From P2P to Web Services and Grids - Peers in a Client/Server World. Springer, 2005] .

See also

* Serialization
* Jini
*rmi servlet

External links

* [http://java.sun.com/docs/books/tutorial/rmi/index.html The Java RMI tutorial] - a very good starting point to learn RMI. Also check the [http://java.sun.com/j2se/1.5.0/docs/guide/rmi/hello/hello-world.html Hello World in RMI]
* [http://java.sun.com/j2se/1.5.0/docs/guide/rmi/index.html The RMI page in the JDK docs]
* (Sun's Java API Reference for the RMI package)
* [http://forum.java.sun.com/forum.jspa?forumID=58 The RMI forum on java.sun.com]
* Cajo A framework for transparent, dynamic cooperation between Java Virtual Machines
* [http://www.genady.net/rmi/ The RMI Plug-in for Eclipse] Low cost and helpful for debugging RMI applications in Eclipse. (The RMI compilation feature of the plugin is no longer required in Java 5.0 and above)
* [http://archives.java.sun.com/archives/rmi-users.html RMI-Users mailing list] - Not very active
* [http://trmi.sourceforge.net/ Transparent RMI]
* [http://www.rmiproxy.com/ RMIProxy] A RMI/SSL solution.
* [http://ca.geocities.com/rmi_doves/ RMI Doves Socket Factory: RMI including callbacks over the Firewalls and Proxy Servers]
* [http://www.cssassociates.com/rmifirewall.html RMIcb from Tim Taylor] an older alternative to RMI Doves
* [http://lipermi.sf.net/ LipeRMI. An alternative, free and lightweight RMI implementation with an Internet approach] - Allowing method invocation through many JVM and callbacks even if clients are behind local networks, NAT or even firewalls.

References


Wikimedia Foundation. 2010.

Игры ⚽ Поможем решить контрольную работу

Look at other dictionaries:

  • Java Remote Method Invocation — Este artículo o sección necesita una revisión de ortografía y gramática. Puedes colaborar editándolo (lee aquí sugerencias para mejorar tu ortografía). Cuando se haya corregido, borra este aviso por favor. RMI (Java Remote Method Invocation) es… …   Wikipedia Español

  • Java remote method invocation — Remote method invocation (Java) Pour les articles homonymes, voir RMI. Remote method invocation, plus connu sous l acronyme RMI est une interface de programmation (API) pour le langage Java qui permet d appeler des méthodes distantes. L… …   Wikipédia en Français

  • Remote Method Invocation — (RMI, deutsch etwa „Aufruf entfernter Methoden“), gelegentlich auch als Methodenfernaufruf bezeichnet, ist der Aufruf einer Methode eines entfernten Java Objekts und realisiert die Java eigene Art des Remote Procedure Call. „Entfernt“ bedeutet… …   Deutsch Wikipedia

  • Remote method invocation (java) — Pour les articles homonymes, voir RMI. Remote method invocation, plus connu sous l acronyme RMI est une interface de programmation (API) pour le langage Java qui permet d appeler des méthodes distantes. L utilisation de cette API nécessite l… …   Wikipédia en Français

  • Remote Method Invocation — (Java) Pour les articles homonymes, voir RMI. Remote method invocation, plus connu sous l acronyme RMI est une interface de programmation (API) pour le langage Java qui permet d appeler des méthodes distantes. L utilisation de cette API nécessite …   Wikipédia en Français

  • Remote method invocation — (Java) Pour les articles homonymes, voir RMI. Remote method invocation, plus connu sous l acronyme RMI est une interface de programmation (API) pour le langage Java qui permet d appeler des méthodes distantes. L utilisation de cette API nécessite …   Wikipédia en Français

  • Remote method invocation (Java) — Pour les articles homonymes, voir RMI. Interaction typique entre un client et un serveur Remote method invocation, plus connu sous l acronyme RMI est une interface de progra …   Wikipédia en Français

  • Java Remote Method Protocol — JRMP, or Java Remote Method Protocol is the Java technology specific protocol for looking up and referencing remote objects. It is a wire level protocol running at the level under Remote Method Invocation (RMI) and over TCP/IP. DetailsJRMP is a… …   Wikipedia

  • Jave remote method invocation — Remote method invocation (Java) Pour les articles homonymes, voir RMI. Remote method invocation, plus connu sous l acronyme RMI est une interface de programmation (API) pour le langage Java qui permet d appeler des méthodes distantes. L… …   Wikipédia en Français

  • Java Platform, Standard Edition — or Java SE is a widely used platform for programming in the Java language. It is the Java Platform used to deploy portable applications for general use.In practical terms, Java SE consists of a virtual machine, which must be used to run Java… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”