• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Why is there still interest in (and lots of questions about) RMI?

 
Pat Farrell
Rancher
Posts: 4678
7
Linux Mac OS X VI Editor
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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.

What is driving this interest in RMI?
 
Paul Clapham
Sheriff
Posts: 21322
32
Eclipse IDE Firefox Browser MySQL Database
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
clojure forum advocate
Bartender
Posts: 3479
Clojure Mac Objective C
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Add to this, I guess RMI is still a part of Java programming language courses. And legacy projects?
 
Paul Clapham
Sheriff
Posts: 21322
32
Eclipse IDE Firefox Browser MySQL Database
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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?
 
Pat Farrell
Rancher
Posts: 4678
7
Linux Mac OS X VI Editor
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hussein Baghdadi wrote:Add to this, I guess RMI is still a part of Java programming language courses. And legacy projects?


That is terrible. No college should waste its time teaching something useless, and RMI is that. Time to revise the syllabus.

Frankly, for legacy projects, you should refactor/re-engineer them to remove RMI.
 
Hussein Baghdadi
clojure forum advocate
Bartender
Posts: 3479
Clojure Mac Objective C
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Paul Clapham wrote:
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.
 
Bear Bibeault
Author and ninkuma
Marshal
Pie
Posts: 65119
91
IntelliJ IDE Java jQuery Mac Mac OS X
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Just take a look at the JSP forum to see how most are still writing web apps like it's 1998.
 
Hussein Baghdadi
clojure forum advocate
Bartender
Posts: 3479
Clojure Mac Objective C
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Bear Bibeault wrote:Just take a look at the JSP forum to see how most are still writing web apps like it's 1998.

So true!
 
Pat Farrell
Rancher
Posts: 4678
7
Linux Mac OS X VI Editor
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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.
 
Alessandro Gentile
Greenhorn
Posts: 12
Eclipse IDE Fedora
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi guys,
I totally agree with you: RMI causes problems. But do you think webservices or xml over http are a fit replacement even from the performance point of view??
 
Bear Bibeault
Author and ninkuma
Marshal
Pie
Posts: 65119
91
IntelliJ IDE Java jQuery Mac Mac OS X
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I use RESTful web services and JSON.
 
Pat Farrell
Rancher
Posts: 4678
7
Linux Mac OS X VI Editor
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Alessandro Gentile wrote:But do you think webservices or xml over http are a fit replacement even from the performance point of view??

Performance? There is no performance in this part of the problem space. RMI, REST, etc have next to zero impact on performance, good or bad.

The problem with RMI is that it simply doesn't work too often, and it takes far too much engineering and sysadmin time to make it work even a little.

If you have performance issues that RMI helps or hurts, your design is wrong, change that first.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic