Sponsored Link •
Devices should 'be what they are'
A final glimpse into the vision for Jini that I'd like to share with you occurred during a conversation with Bill Joy at the Jini Community Summit's cocktail reception. It began when my Summit roommate, Torin Sarasas, asked Joy how Jini represents a "technology dislocation." Joy replied, "Jini is a dislocation in the context of cooperation of subspecies of devices. Once you have lots of different kinds of devices combining in different ways, you can't do monolithic software anymore. Each of these devices has a certain set of functions, and if we have to assume when we build them what they're going to be used for, it's not very [flexible]."
Joy then pulled out his cell phone and continued: "This is a cell phone. But it could also be a microphone. If I want to record this conversation, I just connect this microphone through the wireless to a recording service that stores it on a disk. And that's not something I had to preplan. Why should I have to carry around another microphone when I have this?" he asked, holding up his cell phone.
"When I get in the car, why should I have to install a speaker for a wireless phone when I already have one in the radio? I probably have nine speakers in there already and all these amplifiers, but I can't use them because they are locked into some integrated system."
It is interesting to note that the reason Bill Joy brought up the "recording this conversation" example may have been partly because Torin was doing just that, although I myself didn't realize it at the time. I was listening so intently to Joy describe Aspen's wireless network that I didn't even notice Torin dashing out the door. I later learned that when Joy first walked up to our group, Torin ran back to our hotel room at top speed (not easy at 9,000 feet) to collect his tape recorder. Thanks to Torin's athletics and recording device, I was able to write in detail about this portion of our conversation with Joy.
I felt Joy's comment about cooperation of subspecies of devices provided an important insight into the kind of flexibility Jini will offer when networks are ubiquitous. A cell phone is a device, but it is also a composition of many device subspecies, including a subspecies called a microphone. If Torin had brought a cell phone that offered a Jini microphone service, his microphone service could have cooperated with a recording service through the wireless network to record the conversation. Torin's mad dash back to the hotel room to retrieve his monolithic standalone recording device would have then been unnecessary.
Joy wrapped up this portion of our conversation by proposing a theory of devices. He said, "It argues for the devices to be what they are. Like what Frank Lloyd Wright's theory of architecture was: A brick should be a brick. A wall should be a wall. A column should be a column. And that invented a whole theory of architecture."
"The theory of a device would be: it is what it is." Holding up his cell phone again, Joy said, "This cell phone has a microphone. It has a numeric keypad. It has a display. It has a transmitter and receiver. That's what it is. It has a battery with a certain lifetime. It has a processor and some memory. If it's a European model it has a stored value card. It's a collection of things. It's some collection. The fact that its all one bundle, well, that's pretty artificial."
In this article I've tried to clarify why Jini exists and why it is designed the way it is. I think Jini's reason for existence is best summed up in Bill Joy's stack diagram shown in Figure 1. Jini is here to give an object-oriented interface to the computer of the future: federations of devices and services connected by a network. Jini's inventors didn't intend that Jini be the operating system for this emerging computer, but they did intend that Jini serve as its BIOS.
To discuss the material presented in this article, visit: http://www.artima.com/jini/jf/vision/index.html
Although this column will in general focus on showing how to solve specific programming problems using Jini, such as how to add a GUI to a service or how to make a service administratable, next month I'm going discuss Jini's real-world problems and prospects.
firstname.lastname@example.org. In the body of the message, type
About the author
Bill Venners has been writing software professionally for 14 years. Based in Silicon Valley, he provides software consulting and training services and maintains a Web site for Java and Jini developers, artima.com. He is author of the book: Inside the Java Virtual Machine, published by McGraw-Hill.
This article was first published under the name The Jini Vision in JavaWorld, a division of Web Publishing, Inc., August 1999.