Jini
The Universal Network?
By Al Williams
Networks have moved from an arcane science to an everyday part of most people's computing experience. The meteoric growth of networks cried out for a way to run programs on many different machines, and Sun answered this call with Java. Java's "write once, run anywhere" philosophy was just what network users -- especially Internet users -- wanted.
While Java does let you write code that runs on different platforms, it doesn't completely address the problem of integrating those disparate platforms. If you want to connect a digital camera to your computer, you'd better have the right software for the camera. If you want to use the camera on a different computer, you'll probably have to connect it directly to that second computer, and you'd better have the camera's software handy. Drivers for Windows don't work with UNIX, for example. Sometimes you even need different drivers for different versions of Windows.
Jini (pronounced GEE-nee -- think of Barbara Eden) is a set of services and protocols that solves this problem. A Jini-compliant digital camera connects directly to an IP-based network. Other nodes on the network will detect the camera and can download the drivers required directly from the camera. This ensures that the driver matches the target hardware. Since Jini is based on Java, any computer with a Java virtual machine (JVM) can use the driver (in theory, anyway), avoiding the which-driver-do-I-need-for-this-computer problem.
At first, this doesn't sound all that radical. But like many simple ideas, Jini has the potential to completely change the way you look at familiar tasks, in this case, working on a network.