This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
I don't normally spend much time in this section of the Ranch, but I'm constantly amazed at the volume of questions. What is driving the interest in RMI?
IMHO, RMI is like CORBA, a 1990s vintage technology that failed because it is too complex, too fragile, and in the end, caused more problems that it solves.
Back in the 1990s, I did a lot of work with both CORBA and RMI. The projects were large scale business applications, and after wasting many man-years of work, we abandoned it. This was at three companies over nearly a decade.
Technologies such as REST solve the same problem, but do it in ways that normal programmers can implement and fix. This makes RMI just yet another bad idea from the 90s.
As far as I can see, people are still reading books which were written before 2003 in many areas of Java. It's like Java was frozen in time then, at least in some parts of the world.
Perhaps it's easier (or cheaper) to get those old books than to get the new ones. Or perhaps people aren't writing the new ones -- who would publish a book called "RMI -- A Technology Whose Time is Past"?
Hussein Baghdadi wrote:Add to this, I guess RMI is still a part of Java programming language courses.
Which also haven't been revised since 2002?
I can't confirm my statement (it is a guess after all).
java.rmi package is a part of the SDK and it is not surprising if students are going to ask about it. Even it could be used to teach the idea of remote invocations and distributed computing.
Hussein Baghdadi wrote:I can't confirm my statement (it is a guess after all). java.rmi package is a part of the SDK and it is not surprising if students are going to ask about it. Even it could be used to teach the idea of remote invocations and distributed computing.
As is the Date class, but that is no reason to make students learn it.
I reject the idea that teaching "remote invocations" is useful. The whole idea is flawed. Pass messages. Use REST.
Distributed computing is the way of life these days, but RMI is not a solution to any known problem. It causes them.