Does it mean the class which must implement this interface is the one manipulating database I/O, at the file level?
Yes.
You have to provide intermediate classes that use this data access class. (between the gui and this Data access class). In the local client (stand alone client), this intermediate class would call the methods of the data.java class directly (as the db file is on the same machine), but when the client is in networked mode, the calls from the gui have to be passed on to the server over sockets/rmi.
The server will then execute the request using his data.java class.
cheers,
chris