ver the last year, Sun Microsystems' Project JXTA has emerged as one of the leading forces in the nascent peer-to-peer and Web services movement. Having isolated a few common functions execs see as central to enterprise P2P development and developed code to meet these core requirements, Sun is now using JXTA as a launching pad into Web service projects.
As is often the case, Sun is head-to-head with Microsoft in this market, and it is putting this large but still nascent open source project into play in the marketplace alongside Microsoft's .NET. While the .NET initiative is different in important waysand, quite obviously, it's not an open source effortit offers developers an infrastructure-oriented, proprietary view of the Web services world, while JXTA proposes to contribute to a developer-driven, evolving set of Web services.
Sun is hoping that open source adoption of JXTA's P2P communication protocols will contribute key pieces to its overall Web services offerings to help cement developer loyalties and prevent attrition to .NET.
How JXTA Serves Up Standards
With Project JXTA (short for Juxtapose, as named by Sun Research Scientist and Evangelist Bill Joy), Sun hopes to serve up the standards that will govern future development in Web services application development. With core Web services elements already standardized, the idea goes, developers will have the freedom to focus their creativity on application and services development.
In April 2001, Sun turned the JXTA protocols over to the open source community under a scheme based on the Apache license
|
|
Ostensibly, JXTA fits nicely with the Sun Open Net Environment (SunONE), an initiative intended to aid the development and deployment of network services-on-demand. In addition to the Java development environment, products emphasized through this initiative include Sun's iPlanet server line, the Solaris OS, and Forte development tools. SunONE, Sun's original foray into the Web services environment, supports SOAP, UDDI, and XMLthe critical enabling technologies for Web services delivery and deployment.
JXTA picks up the ball with open source protocols defining specific Web services/P2P functions. (See the article, "Web Services and JXTA: Companion Technologies" for a detailed discussion of the JXTA communication platform.)
The JXTA implementations emerged from Sun's research on what emerging P2P/Web services apps have in common. Roughly two years ago, Sun engineers began studying a group of loosely-related peer-to-peer technologies, including Napster, SETI@Home (the Search for Extraterrestrial Intelligence @ Home scientific project), and the 100-million-user instant messaging phenomenon. The idea was to get a sense of what impact P2P technologies would have on enterprise computing and how to address future needs.
Peer-to-peer technologies, generally, applications allowing more or less all network devices to address each other and share data directly, seemed critically important to the future of networking. Along the way, the app-to-app communication known as Web services also leapt out as an important affiliated technology, given its implications for peer-to-peer communication and core XML basis. In both cases, Sun researchers concluded, a lack of standards was slowing down developers.
"What we concluded was that all of the solutions available at that time tended to have a bunch of drawbacks stymieing innovation," said Juan Carlos Soto, group marketing manager and JXTA.org community manager for Sun. "They were not interoperable. Also, everyone was having to reimplement all plumbing and mechanisms with their own proprietary setup."
What's more, Soto said, all of the solutions Sun engineers studied were PC-based; they didn't take advantage of P2P's strength.
Sun Comes Up with New Core Protocols
Once researchers had defined the issues, Sun's engineers implemented the original JXTA core code in Java.
Why use Java? Aside from the obvious Sun/Java connection, Soto said Sun engineers believed Java would offer developers the most productive environment, especially for network applications. Another factor was Java's flexibility, offering implementations that could work on the widest set of environments, including Solaris, Linux, Windows, and Macintosh operating systems.
Then there was the question of finding a platform familiar to a large percentage of developers; in an open source project, it's important to have a large pool from which to draw. "There are a lot of Java developers out there," Soto said. "It was easier to have them contribute to the initial implementation."
Once the core set of protocols was finally implemented, Sun passed along the keys to the engine. In April 2001, Sun turned the JXTA protocols over to the open source community under a scheme based on the Apache license.
Sun managers are making the license process as simple as possible. Developers are free to download and use code from the JXTA.org site, and, breaking with widespread open source practice, they aren't required to turn code back over the community. When publishing, developers must credit JXTA.org if they credit any commercial components; they may not use the name JXTA in a product without permission from JXTA.org, but those are more or less the entire set of limitations, Soto says.