The Jini architecture makes all the services in the whole
network adaptive to changes. It does this with the use of the objects that
float around the network. A specification is provided by the Jini architecture
for both clients and services to locate each other in the network. The clients
and services then assemble together and perform a task. Clients can get access
to the service from the portable Java based objects that are given to the
clients by the service providers. Any standard networking technology can be
used such as RMI, CORBA or SOAP for the network interaction as only the Java
technology based object provided by the service are visible to the client.
Consequently, that Java object (and its originating service) confines all the
network communication.
The core functionality behind Jini is centered on three
basic principles, Discovery, Join and Lookup. Discovery implies that a service
registers itself with the Lookup service. Join implies that the service has
found the Lookup service and wishes to join it. The client now can lookup for a
specific service using the Lookup service and invokes methods on it.
A service while joining a network of Jini enabled services
and/or devices, projects itself by publishing a Java object that implements the
service API. These services include not only software but hardware devices too,
including disk drives, DVD players, VCRs, printers, scanners, digital cameras,
and almost anything else one could dream of that passes information in and out.
Adding a new device to a system employing Jini technology is simply plugging it
in. Amazing, isn't it?