Originally posted by Pat Farrell:
Is there a question here?
More, why in the world would anyone use RMI today? Its so last century
I used it because it was the most efficient way for one application in my machine to trigger, monitor, and control long-running processes running in another VM.
I didn't use SOAP/Web services because the controlled process was batch, not interactive and there was no benefit to the extra portability and abstraction of
SOAP, so it would have been empty overhead.
I didn't use CORBA, because both clients and server were
Java apps.
I didn't use JMS, because I didn't need things like queueing, store-and-forward or guaranteed message delivery.
I didn't use EJB because EJBs are usually housed in interactive (web containers) and this was a small stand-alone app. Plus the Powers-That-Were were rabidly anti-EJB.
I didn't use raw network sockets or inter-address-space communications because I needed something I could get online quickly that would follow common easily-understood standards and not some one-off proprietary limited re-invention of an RMI-like interface.
So RMI was a good choice for the problem at hand.
And no, RMI is not stateless, but state and session are 2 quite different things.