!--a11y-->
The Distributed Object Model 
The distributed applications consist of two parts – a client part and a server part. A typical server part of such an application defines several distributed objects and allows clients to request them by obtaining references to them. On the other side, the client part obtains a reference to one or more objects from the server part, and calls their methods. RMI-P4 provides the mechanism by which client and server parts communicate.
An application that is based on the Distributed Object Model needs to:
· Locate the distributed object
You can obtain references to a distributed object in your application using one of the following two options: either by registering the distributed objects to a naming system, or by sending distributed objects as parameters or return values of methods. The SAP J2EE Engine RMI-P4 does not use the standard RMI registry; it uses the SAP J2EE Engine Naming System (which is a JNDI implementation) to obtain an initial reference to the distributed object, instead.
· Communicate with the distributed object
The details of the actual communication are hidden behind the implementation of the P4 protocol. From a programming point of view, this communication does not differ from the standard local method invocation.
· Load classes of objects that are transmitted in the communication process
Transmitting objects between a client and server implies the availability of mechanisms for remote class loading. The RMI-P4 provides such functions that have minor limitations compared to the standard RMI implementation.
