Firewalls are always opened for HTTP port(80), RMI will be on a different port and cannot be accessed from inside a firewall. Sys admins will never open port other than 80. Web services on SOAP over HTTP is the solution. In web service, Java behind the screen uses RPC.
SCJP1.4, SCBCD 1.3, SCWCD 1.4, SCEA 5, JLPT-N3
Is your RMI server on the open Internet? It would normally be behind another firewall, which you would have to traverse, this time from the outside in.
RMI supports tunneling over HTTP out of the box, but not without significant performance penalty. Take a look at this http://java.sun.com/developer/onlineTraining/rmi/RMI.html (scroll down to "Firewall Issues")
This begs the question, if you are going to tunnel RMI over HTTP or HTTPS, why not just use a web service? The only reason would be if you have to talk to an existing service you do not have control over (like a different company).
External server and protocol should be depicted on deployment diagram.
Hope this makes sense.
SCJP 2, SCEA/OCMJEA 5
Joined: Jun 04, 2010
thanks Kuppusamy.V. and Drago for the replies. they are useful. much appreciated