SI
SI
discoversearch

We've detected that you're using an ad content blocking browser plug-in or feature. Ads provide a critical source of revenue to the continued operation of Silicon Investor.  We ask that you disable ad blocking while on Silicon Investor in the best interests of our community.  If you are not using an ad blocker but are still receiving this message, make sure your browser's tracking protection is set to the 'standard' level.
Technology Stocks : All About Sun Microsystems

 Public ReplyPrvt ReplyMark as Last ReadFilePrevious 10Next 10PreviousNext  
To: Jeng Chiu who wrote (17890)7/15/1999 4:31:00 PM
From: Jeng Chiu   of 64865
 
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

(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.

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.
Report TOU ViolationShare This Post
 Public ReplyPrvt ReplyMark as Last ReadFilePrevious 10Next 10PreviousNext