Picture this. You sit down in your recliner, tell it to go to the "TV watching position," then address your desire to your new 81-inch TV - "Find me a rerun of I Dream of Jeanie" -and sit back to watch Barabara Eden confound Larry Hagman yet again. Sounds far-fetched, but Sun is on the case trying to make it a reality.
JINI, Sun's latest Java product, is designed to allow all this to happen (although it's not specifically aimed at voice recognition; that's just editor"s license) for a range of electronic products. JINI is designed to allow any device to participate and share in a network. That network can be built in the traditional fashion using copper wire, or it can make use of wireless technology to achieve an unplugged connection.
The idea, of course, is that your home electronics or your office electronics can interact with each other and discover services available. For example, your desktop printer in your home office could announce that it provides a printing service. Your CD player might announce an HTML-based lookup service (to tell you what CDs are loaded in your 100-CD changer). With the latest WebTV software you could look up your CD collection from your changer and print it to your printer.
Implementation of JINI technology is years away, at least in terms of getting to that type of integration. The first approach you'll see for JINI is a software-only layer that will sit on top of NT and Solaris. Even this will have some immediate benefits. One of the key concepts of JINI is the elimination of drivers. Imagine how much easier it would be if you could just discover the printers available to you and print to any of them without ever having to install a printer driver for the particular printer you wanted to use. Or being able to install a network card without bothering to install drivers.
If it all sounds too good to be true, well, it just may be. One of the biggest impediments to new technology and innovation is the chicken-and-egg approach of vendors to technological advances. Until there is a sufficient installed base of JINI products and services, it will be difficult to require products to support this technology.
Take your home, for example. You purchase products based on your needs and what you feel is the best brand for you. I'm not a big audiophile, but I know selection of components can become a religious discussion. Now, say it's time for you to buy a new DVD player but your brand doesn't support JINI. Do you wait, skip JINI or buy some other brand? Fortunately for you, the choice is yours alone. If you decide that JINI is what you need, you can get JINI.
Unfortunately, corporations don't have the same luxury. No one knows better that corporate IT's committing to a specific set of vendors and products is a double-edged sword. On the one hand you reduce TCO by standardizing and creating a close link to a smaller number of vendors. But if only two of your three printer vendors support JINI, your plan to eliminate printing headaches is going to need its own aspirin.
That's why the software-only approach is a valid first step. Since most major operating systems already have a JVM, adding the JINI layer to them should not be particularly painful. And the core of JINI is tiny - about 48K. So, with a minimum of intrusion and development, the basics of JINI can be implemented anywhere.
Next must come the application software, the code that will use JINI and implement services. I expect some of the first innovative applications of JINI will come from printer manufacturers trying to differentiate themselves. Imagine if HP OpenView could now track and display the status of your printers. Better yet, if the printer could contact a JINI pager service that would page the service department whenever it ran out of paper or toner or whatever!
In the end we may get device support. For a few dollars any manufacturer could add a dedicated Java processor and a small amount of RAM and ROM to hold code. Add a lithium backup battery and an infrared port or wireless LAN and we may get to see our CD players and microwave ovens on- line. In the meantime, we'll just have to use the remote control to tune in the television. Now where did I put that TV Guide?
About the Author
Sean Rhody is the editor-in-chief of Java Developer's Journal. He is also a senior
consultant with Computer Sciences Corporation where he specializes in application architecture, particularly distributed systems.He can be reached by e-mail at [email protected]