ad info




CNN.com
 MAIN PAGE
 WORLD
 ASIANOW
 U.S.
 LOCAL
 POLITICS
 WEATHER
 BUSINESS
 SPORTS
 TECHNOLOGY
   computing
   personal technology
   space
 NATURE
 ENTERTAINMENT
 BOOKS
 TRAVEL
 FOOD
 HEALTH
 STYLE
 IN-DEPTH

 custom news
 Headline News brief
 daily almanac
 CNN networks
 CNN programs
 on-air transcripts
 news quiz

  CNN WEB SITES:
CNN Websites
 TIME INC. SITES:
 MORE SERVICES:
 video on demand
 video archive
 audio on demand
 news email services
 free email accounts
 desktop headlines
 pointcast
 pagenet

 DISCUSSION:
 message boards
 chat
 feedback

 SITE GUIDES:
 help
 contents
 search

 FASTER ACCESS:
 europe
 japan

 WEB SERVICES:
COMPUTING

From...
JavaWorld

Innovative Java developers should learn and use Jini

July 15, 1999
Web posted at: 9:55 a.m. EDT (1355 GMT)

by Mariva H. Aviram Jini

(IDG) -- Introduced by Sun Microsystems in January 1999, Jini is already being embraced by a wide variety of industry leaders and computer hardware and consumer device vendors. Nowhere has this been more evident than at the recent JavaOne Developer Conference in San Francisco.

What is Jini?

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.
MORE COMPUTING INTELLIGENCE
IDG.net  IDG.net home page
 JavaWorld home page
 Reviews & in-depth info at IDG.net
 *   IDG.net's programming tools page
  IDG.net's Java page
  IDG.net's personal news page
  Year 2000 World
  Questions about computers? Let IDG.net's editors help you
  Subscribe to IDG.net's free daily newsletter for developers and technical experts
 Search IDG.net in 12 languages
 News Radio
 * Fusion audio primers
 * Computerworld Minute
   

Joy's brief history of computing

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.

Joy on Jini

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.

Jini versus plug-and-play

So far, Jini sounds impressive, but why not just continue down the universal plug-and-play route? Joy explained why Jini is a far better alternative.

"Universal plug-and-play is not a robust system. It crashes," he said. "There's a whole department at Microsoft of programmers designing embedded devices. Universal plug-and-play is just a piece of Windows. It doesn't really work for me. Java and Jini, on the other hand, run on layers underneath the application layer."

Why is this important? Joy pointed out the fundamental design problem in the plug-and-play approach. "Drivers come neither on a hardware system nor on an operating system [OS], so you can have two of the same boxes, the same OSs, the same everything, but plug it all together and it doesn't work. It's not designed in a way that's modular."

Explaining the advantage of Jini over plug-and-play, Joy said, "Jini and Java are designed with well-understood properties so that when you put them together, they do what you expect them to." When constructing a building, Joy added, the construction crew looks to the architectural plans for the edifice's layout and materials. Whether in the design of a building or the design of a network, what needs to be accomplished is clear in the specifications.

The birth of Jini

Jini didn't happen overnight. "Jini reflects almost five years of work from Sun," said Joy, "standing on top of twenty years of research." Joy described five distinct areas of research and development that led to Jini:

  1. The development and implementation of Remote Method Invocation (RMI) and related remote objects: RMI alone can fail, but it works very well within the Jini architecture.
  2. Object and information storage: In a distributed world, information and objects aren't stored forever -- they inherently require a limited amount of time in any service. Figuring out how to store information and objects, without the danger of corruption, for a limited time in a service is key to a good distributed architecture because it saves massive amounts of resources.
  3. Transactions: While transactions themselves change all the time, the methods of transaction are inflexible. A good dynamic transaction system must allow for immediate changes to its own methods.
  4. Distributed events: What is considered a logical order of events for one client, service, or person isn't necessarily a logical order for another.
  5. Distributed security: This is obviously a vital piece of Java technology. Good security enables trust, and the trust of developers is a big part of Java's success.

Joy pointed out that Jini resolved and brought together all these areas of Java

The Jini community

Sun's approach to developing and refining Jini is a lot like Jini's own architecture. The company heavily promotes the Jini community, whose Web presence lives at jini.org. Sun considers itself a facilitator of the community, promoting cooperation among vendors who usually compete with each other. Going back to his money example, Joy used Jini itself as an analogy for the Jini community: "Instead of exchanging money," he said, "exchange objects." In an atmosphere of cooperation, developers and vendors could "agree on an object-exchange mechanism."

The difference between the Jini development community and the original Java development community reflects the difference between Jini and Java.

Joy continued, "The model [of the Jini community] is a self-organizing, community-based model -- instead of [the development model of] Java, which was more based on contracts." To the audience's delight, Joy added, "And some people don't believe that contracts apply to them."

Joy, and others in the Jini community, are hopeful about the democratic nature of Jini development. After all, this approach worked extremely well for other open development communities, such as Linux, Apache, Perl, XML, and even the popular Palm organizer.

Jini developers outside of Sun

At JavaOne, I attended the Jini Community Roundtable, moderated by Dick Gabriel, Jini lead engineer and distinguished engineer at Sun's computer science lab.

The panel reflected the diverse potential of Jini. Warren Stringer, founder of Muse, believes in using Jini to promote interactivity among creative people. Nick Burke, design engineer at Quantum Corp., is mostly interested in using Jini on storage devices and tape drives, because he sees smaller chips containing more information and "networks infiltrating everything" as the future of this market. David Kuntz, alliances manager in the Network Peripheral Solutions Division of Hewlett-Packard (HP), talked about a similar objective: using Jini's "simple-to-connect-to-device" technology in HP JetDirect print services.

Perhaps the objectives of Stephen Drye, staff engineer at Ericsson New Concepts, represent the most talked-about potential of Jini: developing smart, limited-memory consumer devices that use Jini to effectively identify and manage hardware -- say, to print directly from a personal digital assistant to a fax machine without going through an intermediate computer.

Sylvia Scheuring, president and CEO of Sylent, sees Jini as a way to better deliver customized content to individuals through personalized filters. This content can be fully integrated with other types of services, such as financial transactions for e-commerce. Best of all, Scheuring said, good Java developers can build Jini services at home, because there's no longer a need to manage a development team around the immediate vicinity of a local area network.

It's a snap to learn Jini

Java developers need not sigh heavily and throw up their hands at the thought of learning yet another type of technology. Apparently, Jini's design is so elegant that it can be learned -- and implemented -- very quickly. Joy claimed that a Java programmer could learn Jini in a day.

Of course, Joy is a smart guy; no doubt he has the capacity to comprehend stuff more quickly than the rest of us. But according to everyone at the Jini Community Roundtable, a midlevel or even a junior Java programmer could learn Jini in a week or less. Scheuring went on to say that the only obstacle to fully learning Jini is "self-limiting"; that is, learning what is even possible to do with it. The panelists agreed that learning what's possible with Jini after a basic understanding takes four to five months.


RELATED STORIES:
How to join the Jini community
July 14, 1999
Can Jini answer prayers for better storage?
June 7, 1999
Will Java and Jini be in everything?
April 26, 1999
Sun's Jini battles Microsoft and others for instant networking market
February 24, 1999

RELATED IDG.net STORIES:
Sun's Bill Joy talks about Jini, Java, and the competition
(InfoWorld)
Will Sun's Jini Grant Your Wishes?
(PC World Online)
Microsoft Pooh-Poohs Sun's New Jini
(The Industry Standard)
Sun hawks Jini's ease of use
(Computerworld)
Year 2000 World
Note: Pages will open in a new browser window
External sites are not endorsed by CNN Interactive.

RELATED SITES:
Sun's official Jini Web site
Jini.org
Muse
Note: Pages will open in a new browser window
External sites are not endorsed by CNN Interactive.
 LATEST HEADLINES:
SEARCH CNN.com
Enter keyword(s)   go    help

Back to the top   © 2001 Cable News Network. All Rights Reserved.
Terms under which this service is provided to you.
Read our privacy guidelines.