|
|
|
Jini
Technology Principles
|
|
|
|
With an overall
design goal of simplicity, it should come as no surprise that Jini technology
is based on objects. Objects allow
the network, its applications, and its devices to behave as a distributed
system, where access to them is made possible through services.
|
|
Using the Java
Class Hierarchy, Jini technology provides a means to describe devices and the
services which access them. The Jini
team built on top of the Remote Method Invocation (RMI) technology of the
Java technology platform, extending objects to remote resources, which also
provide flexibility in enabling code to be truly mobile.
|
|
Other design
characteristics, including leasing and distributed garbage
collection addresses an important Jini technology goal — facilitating self-healing
of the network. Specifically, leasing
provides a contract between objects, where each device registers for a
certain leased period, and before the lease expires the device must
re-negotiate the lease. This way, even if the device is unplugged during the
lease period, once the lease expires the device’s registry will be removed
automatically. Automatic garbage
collection not only makes the programming task easier, it also dramatically
cuts down on bugs.
|
|
Another
important Jini technology principle is that individual devices/services can
be very simple, and don’t necessarily require a Java Virtual Machine. While
in general, we assume that each Jini-connected device has some memory and
processing power, devices without processing power or memory may be connected
to a Jini federation. But those
devices are controlled by another piece of hardware and/or software, called a
proxy, that presents the device to the Jini system and which itself
contains both processing power and memory. This provides an extremely
flexible environment that is able to support existing legacy devices.
|
|
The last
important design principle for Jini technology is services on demand. With
Jini technology, services are central, and the underlying technology is
incidental. Any network resource can be a service, and all services are
independent objects, freely distributable on the network. And services are there and available
whenever they are needed. Let’s take
a moment now to explore Jini technology in more detail.
|