An interface is used to define the services (methods) provided by an object and their parameters and results. The remote server provides an object which implements the interface. The client requests the interface from the ORB and the returned object must provide all the methods defined in the contract represented by the interface.