How is a "Local Service" different from a "Remote Service" or a "Smart Proxy"?

Tim Rohaly

The Jini Architecture Specification describes three ways a service can be implemented:

  • A local service is implemented as a serializable object which is delivered to the client, and run within the client's VM.
  • A remote service executes on the server's VM, with some protocol (e.g. RMI) used for communication between client and server.
  • A smart proxy combines these two functionalities, executing some parts of the service on the client and some parts on the server.