Remote Method Invocation (RMI) is a protocol for calling operations on remote Java objects. The Remote Method Invocation is a Java API 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.
TIBCO ActiveMatrix BusinessWorks can act as server for incoming RMI calls, or can use RMI to retrieve a remote object. Either a remote Java object on an RMI server or an Enterprise Java Bean (EJB) can be retrieved for client interactions. On the other hand, a client can make an RMI call to BW that initiates a process instance for server interactions.
RMI Palette consists of following two activities:
RMI Lookup: RMI Lookup helps retrieves a reference to a remote object from the specified registry server. The output of this activity is an object reference which can be passed to Java Code or Java Method Activity of BW, to invoke method exposed by the respective object class.
RMI Server: RMI Server is a starter activity which helps one register the specified remote object name with the specified server. It then creates process instances to handle incoming requests for the object.