I am new to Java and would like to write a robust multi-tier client server application and is not certain whether RMI is the best approach to use. As a result, here are the following questions on this topic:
( i ) Basically, I need to be able to initiate some native commands (e.g. ls -al > /tmp/junk...) on both client and server side and be able to retrieve the output back. There are numerous method to do this (e.g. SOAP, ORB, webservices, LipeRMI...). Nevertheless, my question is whether RMI is still the simplest or straight forward approach as opposed to having to learn another protocol (e.g. XML, webservices). If not, what is the best/latest method to achieving the same objective?
( ii ) One of the problem encountered when going through those RMI tutorial exercises were the requirements to have a webserver running on both client and server in order for dynamic class loading to work properly. I wonder whether there is a better way to do this without having both client server dependency?
( iii ) Could webservice or SOAP be able to do the same thing?
( iv ) Should I not be concerned with this low level communication since EJB will handle this part?
( v ) Are there any other RMI user forum, website, useful documents on this topic?