Sun launches Jxta development platform

Sun's chief scientist Bill Joy officially launches the open source Jxta peer-to-peer project

April 25, 2001 -- Sun Microsystems on Wednesday officially launched Jxta, an open source project that Sun hopes will become the basis for p-to-p (peer-to-peer) computing applications across multiple platforms and devices.

While Sun chief scientist and co-founder Bill Joy had disclosed plans for the project earlier this year, Wednesday marked the public release of source code and development tools on the Jxta Website. Joy and Sun chief researcher John Gage told reporters and industry officials that Jxta --short for Juxtapose -- would facilitate the development of software that will help users find and share information easily, regardless of operating system or device.

"There are a lot of groups and a lot of excitement behind building new types of distributed-computing applications," Joy said. "We wanted to try and provide a means for these things to interoperate."

Essentially, Jxta is about 25,000 lines of code that could sit inside just about any computing device from servers to cell phones. The software uses XML to allow the devices to exchange information about their properties, users, and what types of information they are allowed to transmit.

Sun rivals Microsoft and Intel have criticized Sun for trying to take too much control of p-to-p computing by promoting Jxta. Michael Goulde, product manager in Microsoft's .Net division, described Jxta as the latest "science project by Bill Joy" and said his company's .Net initiative is based on open standards and has a p-to-p component built into its software as well.

Intel, meanwhile, has argued that Sun should work with groups already working on standards for p-to-p technology.

Sun officials respond that Jxta could become one of a handful of distributed computing platforms. The company hopes it will be to p-to-p communications what TCP/IP is to data transport over the Internet and HTTP is to navigation on the Web.

Jxta has three basic layers for developers to work with, Joy said. The core layer comes with the protocols for transferring information, including support for XML and security features. On top of the core, Joy envisions services and applications layers. The services layer could include tools for indexing or searching, while the applications layer would take those tools and use them to create a completed piece of software for the end user.

In a demonstration of some early implementations of Jxta at the launch, different groups of PC users sent out requests for information or invitations to work on a project. The software would allow recipients of these messages to respond by either joining the group or sending a message containing related information.

Companies adding a layer of Jxta code under existing software could make their applications interoperate with those of other companies. Thus, for instance, one company's services could interact with another company's applications, according to Sun officials. Jxta could also help the two companies figure out how best to allocate computing resources on a distributed project such as SETI@home.

On a consumer level, a family might use Jxta to link and share information among a variety of devices, from PCs and pagers to cell phones. A parent could create an appointment on a shared calendar in a cell phone, and other family members would receive an alert via email or pager.

Sun developed Jxta code under the open source Apache software license. Open source software development company CollabNet will manage much of Jxta's development going forward, including overseeing parts of the project Website. CollabNet will also provide its set of tools for open source development such as bug tracking services, collaboration aids, and logs to monitor the software's development.

Sun expects to see quite a bit of work done on Jxta over the next year. End users, however, are not likely to enjoy the benefits for a couple of years.

Learn more about this topic

Copyright © 2001 IDG Communications, Inc.

How to choose a low-code development platform