I want to have a class method that accesses a database and returns the data in a certain format. I also want a separate to take data and insert it in a certain format. There will be a web side and normal client side for these function. Is RMI needed to achieve this goal? (Current implementation is in M$ and I want to move to Java).
In strictly technical terms, RMI allows two processes to communicate through method calls. While you could say the same thing for a database and its client program, RMI is a much more general protocol. In one sense, to use RMI with an existing RDBMS, you'd probably be taking a big 'ol step backwards when you don't have to. If I were building my own database and my own client, I might use RMI underneath to support transmitting the JDBC calls. Cloudscape is one example of a database that does exactly that.