Dr. Dobb's is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.


Channels ▼
RSS

DevTalk, May 2001


Welcome to Software Development Magazine's DevTalk

DevTalk: May 2001
IN THIS ISSUE
PEERING INTO THE FUTURE
Bill Joy and other Sun honchos string together open source, file swapping and smart devices in the JavaOne keynote.

Java's founding father, James Gosling, Ph.D., likes to remind people of former Xerox PARC scientist L. Peter Deutsch's eight fallacies of distributed computing: The network is reliable, secure and homogenous; it has zero latency, infinite bandwidth, fixed topology and a single administrator; and transport is free.

"There will be a failure—that's the reality of the network," said Bill Joy, chief scientist for Sun Microsystems, in his June 6, 2001 keynote at his company's JavaOne conference here in San Francisco. In a similar vein, Chief Technology Officer Greg Papadopoulos had, a few minutes earlier, listed several "derived laws" from his talk explaining Sun's embrace of the Web services concept as the next phase of Internet evolution: "You don't reboot the Internet, you live with it; it's fundamentally unknowable and unplannable; and component decomposition is the thermodynamic certainty of the industry."

Joy also made a case for using peer-to-peer file sharing as a way to get around such realities as bandwidth that strangles streaming media and connected devices that have varying capabilities.

Yopy
Here, Sun Microsystems' JXTA shell runs a talk session on the Yopy device, networked via PCMCIA to CF adaptor.

Using slides that seemed repurposed from talks about Jini, Sun unveiled its new offering: JXTA. An open source project hosted on CollabNet to create a "generalized protocol that interoperates with any peer on the network, including PCs, servers and other connected devices," www.jxta.org was launched in April of this year under an Apache-based license and, at press time, the site boasts 3,523 members, 1226 CVS commits and 50,000 downloads.

Free Software Credentials, Please
"Over the last 25 years, I've been trying to find ways to build community," stated Joy with his trademark poker face, addressing a sea of developers. "We started with the BSD license for sharing source, and with Java we said 'Let's build a common platform for executing code.' Now, for almost a decade, we've had the idea of putting intelligence on devices. If we get 100 million Java-enabled phones out there, small-footprint Java on mobile devices creates an enormously rich environment for people to develop services."

Next up was a demonstration of some straight peer-to-peer applications, starting with a streaming video that was clearly sped up by aggregating content from peer caches, using technology from eMikolo. A funny, futuristic dashboard display showed automobiles bidding with gasoline stations for low prices, or even joining up with other cars near them to negotiate a group purchasing rate for gas. Finally, distributing gaming seems ripe for file swapping, Joy suggested, standing in front of a slide of an online chess game.

From Shrink-wrap to Services
The presentation concluded with a panel discussion about whether this new age, dubbed "the computer is the network" by Papadopoulos, could be built on nothing more than service registries such as UDDI and protocols such as SOAP. How should developers best break free from the shrink-wrapped past and tackle the software-as-a-service concept?

"Like all young people who've grown up in the networked age, Shawn Fanning just assumed ubiquitous connectivity in creating Napster. Our generation would have tried to build a huge Web site with a whole lot of music on it," said Tim O'Reilly, president of the O'Reilly and Associates open source publishing house.

Gosling agreed: "People confuse 'service' and 'server.' I want my music or I want my video. They're too literal, and they turn it into an implementation, when all I care about is the video." You have the freedom to use existing solutions to make that happen."

Then O'Reilly went for the applause line: "Let me contrast .NET with JXTA. Microsoft said, 'We need to figure out what else we need to own so we can create a framework.' Sun said, 'We need to figure out what nobody needs to own and serve that.' It's in keeping with the original spirit of the Internet." The crowd was pleased.

So, what's key to implementing these services? Event-oriented programming, according to O'Reilly founder Adam Bosworth. "We went from modal user-interface programming to event-oriented programming for the same purpose. If you're not in charge of the service, you'd better not break when the implementation changes. The proof of concept is the browser." Not only that, but searching must improve, said another panelist: Simply crawling across the Web and indexing is not sufficient.

O'Reilly piped up again: "On the Web, there are tens of millions of pages, and no one ever looks at them. All we need is data.foo.com. Go to any site and have an XML feed there. Ninety-nine percent of the sites will be ignored—and that's fine. In a data web, people will discover their common peer groups."

—Alexandra Weber Morales

DUKE GOES A-FRAGGIN'

At the opening keynote for JavaOne (and no, one should not have to qualify which keynote one is speaking about, but tell that to the tradeshow organizers), Sun Microsystems CEO Ed Zander announced that Sony will incorporate Java into PlayStation 2, Sony's latest-generation console gaming machine. PlayStation 2 itself is powered by a 294Mhz Emotion Engine, a chip based on the MIPS III CPU with on-chip vector, image and floating point units, and 32MB of RAM. Although the PlayStation 2 hardware is almost totally geared toward pumping pixels, the sample offering demonstrated at JavaOne was a chat program. According to game developers, PlayStation is relatively difficult to code for; a PlayStation 2-optimized version of Java3D (conspicuously not discussed) could go a long way toward creating an easy-to-code alternative to Microsoft's upcoming X-Box. But if you're really ready to take console programming to a new level, start buying Dreamcasts at garage sales—an active Dreamcast hacking community has ported NetBSD to Sega's now-defunct console.

—Larry O'Brien

THE TROUBLE WITH TRANSLETS

The new release of Xalan-Java 2.1.0 does the same job it did before, while introducing yet more jargon into the XML world: XSLT Compilers (XSLTC) and "translets." So take a deep breath and grab your spoon: It's alphabet soup time. As you probably know, Extensible Stylesheet Language Transformations (XSLT) take XML data and produce output in a whole raft of formats like HTML, Wireless Markup Language or Adobe's Portable Document Format (PDF). The traditional way to perform such a transformation is to take an XSL stylesheet and use a general-purpose transformation engine to apply it to XML data. One popular such engine is Xalan, the Apache XML Project's XSLT translator.

The new XSLTC technology, contributed to the Apache project by Sun Microsystems, allows you to implement your XLST stylesheets in Java. You feed the stylesheets into the XSLT compiler and get Java "translets" out. Compiled in turn into executable byte-code with a standard Java compiler, the translets can then perform their particular transformation just as a general-purpose engine would, but without nearly so much baggage—a big win for high-performance or embedded applications. Xalan-Java 2.1.0, Apache XML Project, http://xml.apache.org/xalan-j

—Rick Wayne


Related Reading


More Insights






Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

 
Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.