Jini is an entirely Java-based architecture that enables services and clients -- computer hardware, peripherals, software, consumer devices, and communication channels -- to be easily added, removed, employed, and modified over a network. Jini, in fact, spontaneously constructs an abstract network, called a federation, of these services and organizes them with a dynamic lookup service, which is itself stored on the network.
You can find an excellent and detailed introduction to Jini in the first installment of Bill Venners's new column, Jiniology, in the June issue of JavaWorld.
Prior to JavaOne, Sun sponsored two days of "Java 101 University" classes and sessions. Bill Joy, Sun's cofounder, chief scientist, and CEO, spoke extensively -- in presentations to the course attendees as well as to a small group of media representatives -- about why Jini is so important to Java developers and Java users.
Joy first explained his view of the progression of the computer revolution. According to Joy, the first major step in bringing computing technology to the world occurred when small computing devices -- chips -- were first enabled to fit onto circuit boards in personal computers (circa 1978). He pointed out that programming languages from that time on specialized in instructing personal computers and, subsequently, networks of personal computers. Programmers developed and used a series of increasingly robust and object-oriented programming languages until, according to Joy, they hit a wall with C and C++. These languages were inadequate for programming to and from different devices in a simple and easy manner. Then, as we all know, Java was developed, bringing with it the potential to solve a wide variety of programming and systematic problems.
If you think of programming instructions as a series of light switches, Joy explained, Java is able to fully describe these switches through its own language semantics. Java also provides better security within applications and services. Even Java, however, is limited when it comes to networked systems. A client can connect to the network through Java, but objects, services, and clients are "always in a state of flux," said Joy. Jini addresses this problem with its inherent design: an architecture of distributed system technology.
Boiling down the concept of Jini and distributed technology to its simplest form, Joy used the following analogy: "Jini is like having money. Jini lets me exchange descriptions of services in an active way." Put another way, Joy said, "Jini is a horizontal layer [interfacing with all of the services]. We designed it to be as thin as possible. Most of the value will be in vertical stripes above it.