All Topics  
Java remote method invocation

 

   Email Print
   Bookmark   Link






 

Java remote method invocation



 
 
The Java Remote Method Invocation API
Application programming interface

An application programming interface is a set of subroutine, data structures, class and/or Protocol provided by library and/or operating system Service s in order to support the building of applications....
, or Java RMI, a Java
Java (programming language)

Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java ....
 application programming interface, performs the object-oriented equivalent of remote procedure call
Remote procedure call

Remote procedure call is an Inter-process communication technology that allows a computer program to cause a subroutine or procedure to execute in another address space without the programmer explicitly coding the details for this remote interaction....
s.

Two common implementations of the API exist:

  1. The original implementation depends on Java Virtual Machine
    Java Virtual Machine

    A Java Virtual Machine is a set of computer software programs and data structures which use a virtual machine model for the execution of other computer programs and Scripting language....
     (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
    JRMP

    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 Java remote method invocation and over TCP/IP....
    ).
  2. In order to support code running in a non-JVM context, a CORBA
    Common Object Request Broker Architecture

    The Common Object Requesting Broker Architecture is a Standardization defined by the Object Management Group that enables software componentry written in multiple programming language and running on multiple computers to work together....
     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
RMI-IIOP

RMI-IIOP denotes the Java remote method invocation interface over the Internet Inter-Orb Protocol , which delivers Common Object Request Broker Architecture distributed computing capabilities to the Java 2 platform....
 (read: RMI over IIOP) denotes the RMI interface delegating most of the functionality to the supporting CORBA
Çorba

Chorba , shurpa , sorpa , or shorpo is one of various kinds of soup or stew found in national cuisines across Eurasia. The term is likely of Persian language or Turkic languages origin....
 implementation.

The programmers of the original RMI API generalized the code somewhat to support different implementations, such as an HTTP
Hypertext Transfer Protocol

Hypertext Transfer Protocol is an application-level protocol for distributed, collaborative, hypermedia information systems. Its use for retrieving inter-linked resources led to the establishment of the World Wide Web....
 transport.






Discussion
Ask a question about 'Java remote method invocation'
Start a new discussion about 'Java remote method invocation'
Answer questions from other users
Full Discussion Forum



Encyclopedia


The Java Remote Method Invocation API
Application programming interface

An application programming interface is a set of subroutine, data structures, class and/or Protocol provided by library and/or operating system Service s in order to support the building of applications....
, or Java RMI, a Java
Java (programming language)

Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java ....
 application programming interface, performs the object-oriented equivalent of remote procedure call
Remote procedure call

Remote procedure call is an Inter-process communication technology that allows a computer program to cause a subroutine or procedure to execute in another address space without the programmer explicitly coding the details for this remote interaction....
s.

Two common implementations of the API exist:

  1. The original implementation depends on Java Virtual Machine
    Java Virtual Machine

    A Java Virtual Machine is a set of computer software programs and data structures which use a virtual machine model for the execution of other computer programs and Scripting language....
     (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
    JRMP

    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 Java remote method invocation and over TCP/IP....
    ).
  2. In order to support code running in a non-JVM context, a CORBA
    Common Object Request Broker Architecture

    The Common Object Requesting Broker Architecture is a Standardization defined by the Object Management Group that enables software componentry written in multiple programming language and running on multiple computers to work together....
     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
RMI-IIOP

RMI-IIOP denotes the Java remote method invocation interface over the Internet Inter-Orb Protocol , which delivers Common Object Request Broker Architecture distributed computing capabilities to the Java 2 platform....
 (read: RMI over IIOP) denotes the RMI interface delegating most of the functionality to the supporting CORBA
Çorba

Chorba , shurpa , sorpa , or shorpo is one of various kinds of soup or stew found in national cuisines across Eurasia. The term is likely of Persian language or Turkic languages origin....
 implementation.

The programmers of the original RMI API generalized the code somewhat to support different implementations, such as an HTTP
Hypertext Transfer Protocol

Hypertext Transfer Protocol is an application-level protocol for distributed, collaborative, hypermedia information systems. Its use for retrieving inter-linked resources led to the establishment of the World Wide Web....
 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 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

Jini is a network architecture for the construction of distributed systems in the form of modular co-operating services.Originally developed by Sun Microsystems, responsibility for Jini is being transferred to Apache Software Foundation under the project name ....
 offers a more advanced version of RMI in Java - it functions similarly but provides more advanced searching capabilities and mechanisms for distributed object applications.

See also

  • Cajo
    Cajo project

    The Cajo Project is a software framework that enables multiple Java application software that are spread across multiple machines to work together as one transparently and dynamically....
  • Serialization
    Serialization

    In computer science, in the context of data storage and transmission, serialization is the process of converting an object into a sequence of bits so that it can be stored on a storage medium or transmitted across a computer network connection link....
  • Jini
    Jini

    Jini is a network architecture for the construction of distributed systems in the form of modular co-operating services.Originally developed by Sun Microsystems, responsibility for Jini is being transferred to Apache Software Foundation under the project name ....


External links


  • - a good starting point to learn RMI. Also check the
(Sun's Java API Reference for the RMI package)