|
Jini
- The Technology Primer |
What
is Jini? |
Jini,
an Arabic word meaning "magic" is a distributed
computing architecture for providing spontaneous networking
of "services". The term "service"
refers to a set of functionality provided by any entity.
The entity could be a hardware device ( such as computer,
printer or scanner), an electronic device (such as audio
or video equipment), an electric device (such as microwave
oven, coffee maker or other household appliance), a
piece of software component or a combination of hardware
and software.
Jini
(pronounced "genie") provides an infrastructure
to enable this dynamic formation of service communities
with zero installation, zero configuration and 100%
service interaction.
Jini,
which is not an acronymn, is a self-diagnosing, self-configurable
dynamic distributed network architecture. It allows
services to dynamically join and exit with no impact
on the network or the network users.
Furthermore,
Jini is a protocol-independent distributed architecture.
It can interact with any distributed object using any
protocol - RMI, CORBA, DCOM or a proprietary protocol.
|
|
Why
Jini? |
The
growth of networks and Internet has resulted in a new
set of requirements for architecting software applications.
The evolution of distributed and network based architectures
such as OSF-DCE, CORBA, DCOM, RMI and HTTP/SOAP-based
Web services demonstrates the continual change in distributed
architecture requirements.
With
processors and memory becoming cheaper, a redefinition
of the "computing device" is on the horizon.
Computation is set to become more pervasive, ubiquitous
and mobile. Computer networks are becoming much
faster and more reliable. Future networks are
going to be dynamic, self-forming and self-managed.
Are current distributed architectures such as CORBA,
DCOM, RMI and HTTP/SOAP-based Web service ready to satisfy
the upcoming ubiquitous, pervasive and dynamic distributed
computing requirements? The answer is, unfortunately,
NO !
The
current distributed architectures such as CORBA, DCOM,
RMI and HTTP/SOAP-based Web services suffer from the
following limitations :
|
They
are location specific ( i.e., a client must be pre-wired
with the location of the naming/directory service)
|
|
They
are protocol dependent (i.e., a client and server
can communicate only through previously agreed-upon
protocols such as IIOP, ORPC, JRMP and HTTP/SOAP) |
|
They
are tightly coupled (i.e., a client should be modified/
upgraded whenever the service provider's interface
changes) |
|
They
do not support the notion of dynamic community formation
nor accept the notion of device providing a service |
To
sum up, the limitations of the current distributed architecture
are glaringly obvious.
Jini,
a true service-based architecture, provides a solution
for the evolving ubiquitous, pervasive and dynamic distributed
computing requirements. It abstracts both the
devices and software under a service notion and supports
dynamic community formation and dissolution.
Jini
technology is:
|
Location
independent (i.e., a service requester need not
be pre-wired with the lookup service location information) |
|
Protocol
independent (i.e., a service requester can interact
with any type of service provider using appropriate
protocols such as IIOP, ORPC, JRMP, HTTP/SOAP) |
|
Loosely
coupled (i.e., a service requester can discover
the service provider's interface at run-time) |
|
Dynamic
and self-managed (i.e., the entire community is
self-formed and self-managed at run-time) |
In
short, Jini is a true dynamic, distributed service-based
architecture.
|
|
What
is not Jini
? |
When
Jini was introduced, it was touted to be a solution
for spontaneous networking of devices such as printers,
faxes or laptops without undergoing through a big process
of driver installation, configuration. Even though the
notion is right, it is only one facet of the multi-dimensional
issue that Jini is trying to address.
Similarly,
|
Jini
is NOT a Distributed Operating System |
|
Jini
is NOT a glorified RMI |
|
Jini
is NOT yet another Naming/Trader/Directory service |
|
Jini
is NOT JavaSpaces |
|
Jini
is NOT EJB or J2EE |
|
Jini
is NOT a competitor to CORBA, DCOM/COM+, RMI or
HTTP/SOAP based Web Services |
Jini
is a dynamic distributed architecture to handle the
dynamic formation and collaboration among distributed
services, which can be devices, software components
or any other.
|
|
Is
Jini the silver bullet ? |
Jini
architecture attempts to provide a solution for the
evolving problem spaces of Ubiquitous computing, Universal
computing (as Microsoft terms it), Dynamic distributed
computing, Pervasive computing and Service based computing.
Does
Jini live up to the evolving technological needs? The
answer gets delicate here. This is because of a very
simple reason – undefined evaluation criteria. What
are the requirements against which you would evaluate?
You cannot evaluate an architectural solution against
a problem whose requirements are restated and redefined
as it is being discussed. Keep in mind, it is not easy
to shoot a moving target, and that too with a movement
that cannot be predicted with any mathematical theories.
As
of this writing, Jini is the only known industry supported
architecture that can satisfy most of the requirements
of a future distributed computing. Jini -- with its
"service" notion for abstracting hardware-software
distinction, its ability to support partial failures,
its ability to abstract the distributed computing protocols
and with its self-configuration and self-management
capabilities is a clear leader among its competitors.
Microsoft,
Hewlett-Packard, AT&T, and Lucent are giving Sun
company with their own research initiatives in this
area.
Microsoft’s
research initiative, dubbed "Millennium,"
is described as a "new self-organizing, self-tuning,
self-monitoring distributed system." Microsoft
is rumored to already have two working systems, one
called "Coign," which distributes conventionally
written applications on the fly; the other called "Borg,"
which creates a distributed version of the Java Virtual
Machine. The uPnP (Universal Plug and Play) from Microsoft
is a direct competitor for Jini.
Hewlett-Packard's
"CoolTown", "e-speak", "JetSend"
and "Chai" have the same dynamic and spontaneous
networking theme and form another contender set with
Jini.
The
other players including Lucent with a project called
"Infospheres," Larry Ellison’s effort on "network
computer scheme," and AT&T’s "GeoPlex"
-- are pursuing the same ubiquitous distributed computing
dream.
|
|
|
|
|
Jini
:
the Technology Primer |
|
|
Jini
: An Overview - About the book |
|
|
Jini
:
An Overview - Book
Reader's Support Page |
|
|
Jini:
Additional Links |
|
Book
Links |
Web
Links |
|
|
|