The Jini System Architecture
September, 1998.
The mainframe of 1963, and the server of today, what is the difference between them? Not much - just the scale. The speed of computation has increased by perhaps a factor of 3000, the size of feasible computations by a factor of about 1000, and the size of the computer has decreased dramatically. But a block diagram of the major components, and their roles hasnít changed at all. The computer has just shrunk; it hasnít advanced as a tool.
Here steps in Jini technology, the new system architecture from Sun Microsystems, that brings to the network the facilities of distributed computing, network-based services, seamless expansion, reliable smart devices, and ease of administration. Jini technology is based on a number of already existing technologies, and so it represents a small technological step but a large intellectual one.
Jini technology ties together machines on which Java language objects are running, perhaps in different virtual machines. Jini technology enables such objects to work together as though they were on a single, very powerful computer and they can be activated and tracked, and can communicate with each other. A user can access all of the services on the collection of networked machines in a location-transparent fashion. The Java application environment provides a good computing platform for distributed computing because both code and data can move from machine to machine. The result is a system in which the network supports a fluid configuration of objects that can move from place to place as needed and can call any part of the network to perform operations. Joining into and leaving a Jini system is an easy and natural, often automatic, occurrence. Jini systems aim to blur the distinction between consumer electronics, computers, networks, the Web, and entertainment devices.
Operation of a Jini System:
A camera that needs to print a picture is a device that needs a service performed. The printer represents the device that offers the service, in this case printing. The arrows indicate the different levels of communication that are required. First, the camera locates the printer service by using Jini technology, which employs Java Remote Method Invocation (RMI). Jini does not require any particular operating system or network transport: The camera may use infrared, radio, or be physically plugged in to the local network. After the camera locates the printer service, to print the picture it downloads and runs the Java code supplied by the printing service. This code uses the underlying network transport, and perhaps RMI, to implement the printing service protocol needed to transmit the picture to the printer. The service protocol that an application and a service use to communicate with each other can either be an existing protocol or a new one defined by the company implementing the service. Some of the emerging network technologies are based on new service protocols that are more intelligent and flexible than current ones, all of which will work very well with Jini. For those which define their own protocols to locate and communicate with devices, the Jini service needs to act as a bridge, translating the application's request into the protocol used by the other network and forwarding it to the other device.
With Jini, the computer-based technology is converging from one side, the component-based view is converging from another, and the view of connecting up things on a network (including the Internet and the Web) and using them is binding the whole thing together.
In a Jini system, everything is a service, everything is connected without a lot of setup trouble, and controlling them is uniformly accomplished because every service is really an object with a particular interface. Jini systems will combine computer and consumer devices along with a variety of external sources - the Net, broadcast, cable, satellite, and landline.
Jini technology is the first step in this direction.
