Update
Before the flames come, let me say that Jini isn't dead … it has an
active community and whatnot. What I meant is now that the marketing
hype from Sun is gone, I don't hear developer-friends mentioning it much
and this got me thinking as such.
Also I should state that I know that I'm not technically accurate in my
posting … Most of my readers (both of them) are … well, they have the
attention span of a gerbil on hashish, and no one seems to finish reading
my posts if they have to reach for the scrollbar.
Granted, I never want to succumb to the Siren's soundbite that plagues many
a weblog. So, I compromise … now, on to my 5th Symphony.
Update
As of 2005, Jini has a new licensing model. Sun originally released Jini
under the almost open-source, Sun Community Source License (SCSL), but
now opened the licensing model and began releasing their specifications and
implementations under the Apache license.
I wonder if this will help it gain in popularity.
Whence Jini?
The problem with marketing hype in the high-tech industry is that
little can live up to such high expectations. A number of good ideas seem
to be forgotten purely because of a lack of understanding of what the idea
may have been actually good for. One of my personal favorites is Jini.
When it was first hyped up it was hailed to revolutionize the personal
electronics industry as well as just about everything else. But it's
strength was in its practical approach to distributed computing. And
now that Grid Computing is now getting popular, I can't help but wonder
what happened to Jini. Of course I can't blame its lack of adoption solely
because of its publicity as there were other factors.
We just don't think in distributed ways.
I mean, we mostly think serially and most of our early computer
languages were made to execute instructions sequentially. If you solve
problems with a divide-and-conquer approach, you come up with computer
languages that are more mathematical and functional (like Lisp).
Ever since the Roman legions, we've been dealing with hierarchies
and this shows up in the Unix file system (popularized by DOS and the
Macintosh folder system). Systems like XML and HTML fall into this
category.
But we don't often solve problems in a distributed fashion… well, not in
a heterogenous distributed fashion. Now my off-handed comment is
getting the place sticky …
We often use homogenous distributed systems, commonly known as
clusters, where every "node" acts like every other node. The most popular
web sites are hosted in such a way. But systems where each node can be
unique are harder to find. Yes, an n-tier application framework is
often distributed on unique nodes, but the problem it solves is usually
serial.
The most common example of a distributed system is the web. Each node can
be truly unique in the data it submits to every other node in the Internet
system. So perhaps "intranet solutions" like corporate information portals
might be solved well with such distributed systems. But Jini might be
overkill in such a situation.
Jini's advantage is when a system requires some sort of guaranteed action
from multiple nodes. With it, you can have a transaction that either works
on all the nodes or doesn't work at all. But typical "portal" solutions are
set up so that if a node offers data, it gets retrieved by the portal. The
data usually doesn't require more cooperation that this.
Another feature of Jini (that can be found in many other systems) is its
network registry, where when a node with a service can submit details about
itself to the system at large. Portals could use this as a way to discover
new "feeds" of information.
Maybe …
I don't have any solution or proposal here … just musing. I always
enjoyed reading and toying around with Jini (never built anything real with
it), but I liked it and hope that it might make a come-back of sorts… but
without all the hype. I generally don't trust things with lots of hype.
Tell others about this article: