No, since the Data class is used locally and remotely, it's better to use delegation.
I'm applying an Adapter/Proxy
pattern: a server class which extends UnicastRemoteObject, implements the DataRemote interface and pass method calls to a Data instance. In addition, the server class deals with remote lock/unlock.