"In this article, I introduce you to P2P networking and compare it with client/server networking. I also introduce you to Jxta (pronounced jux-ta), a P2P computing platform pioneered by Bill Joy, Sun Microsystems' chief scientist and corporate executive officer; currently, Jxta is being molded by hundreds of open source developers. Jxta holds tremendous promise for the P2P world. It defines a set of protocols that developers can use to build almost any P2P application. At the same time, these protocols are flexible enough to be easily adapted to application-specific requirements. While Jxta does not dictate any particular programming language or environment, Java could potentially become the language of choice for P2P application development for obvious reasons: portability, ease of development, and a rich set of class libraries."
"In this fifth and final excerpt on getting started with JXTA, excerpted from JXTA in a Nutshell, learn about advertisements: structured XML documents for JXTA infrastructure."
"As part of its open source release, Sun is distributing a preliminary Java binding for JXTA with the goal of having early-adopter engineers create simple P2P applications in Java. Sun's binding isn't complete, however; interfaces, implementations, and protocols are bound to change. Sun welcomes others to suggest changes as part of releasing JXTA as a open source project. So there's no excuse to avoid writing a 'Hello JXTA World' application in order to become familiar with JXTA."
"This package looks at some of the advanced capabilities and features available, or at least feasible, in the JXTA framework, such as search and chat and more. Perhaps more importantly, it looks at how JXTA does, indeed, tie together Web services and P2P. Learn more about JXTA, Web Services and P2P at O'Reilly's Peer-to-Peer and Web Services Conference, November 5-8 in Washington, DC."
"In part two of this series of book excerpts on getting started with JXTA, from JXTA in a Nutshell, learn about peergroups and discovery, which are important for understanding peer-to-peer Web services."
"Anyone familiar with command-line shells, whether DOS or *nix, will feel right at home in the JXTA shell. There are basic commands: man, cat, env, grep, more, and more. Commands can, of course, be sewed together using pipes to create compound commands: env | wc. Multiple commands on one line are separated by semicolons: clear ; whoami ; man man. All in all, aside from the fact that it's easy to forget that it's not a complete shell (see "Gotchas"), there are few surprises."
"Getting Started with JXTA, Part 5 In this fifth and final excerpt on getting started with JXTA from JXTA in a Nutshell, learn about advertisements: structured XML documents for JXTA infrastructure."
"Getting Started with JXTA, Part 5 In this fifth and final excerpt on getting started with JXTA from JXTA in a Nutshell, learn about advertisements: structured XML documents for JXTA infrastructure."
"Getting Started with JXTA, Part 5 In this fifth and final excerpt on getting started with JXTA from JXTA in a Nutshell, learn about advertisements: structured XML documents for JXTA infrastructure."
"After you read all this, be sure to head over to jxta.org and download the binaries, source code, and docs, and start playing with JXTA. Also, look for extensive JXTA coverage at the upcoming O'Reilly P2P and Web Services Conference (East) in Washington, DC from September 18 - 21."
"The Peer-to-Peer (P2P) Sockets Project reimplements Java's standard Socket, ServerSocket, and InetAddress classes to work on the JXTA peer-to-peer network, rather than on the standard TCP/IP network. It also includes ports of many popular web packages, such as the Jetty web server, the Apache XML-RPC client and server libraries, and the Apache Jasper JSP engine, to run on the Peer-to-Peer Sockets framework."
"Daniel Brookshier is an independent consultant, speaker, and the author of JXTA: Java-P2P Programming from Sams Publishing. You can find Daniel's JXTA home page at people.jxta.org/turbogeek/, filled with examples and ideas about creating JXTA applications."
""With JXTA, we are attempting to build -- or perhaps rebuild -- on top of the existing Internet a virtual Internet that returns the Internet to its original foundation: a highly decentralized, dynamic, and scalable network infrastructure," explains Bernard Traversat, chief architect of JXTA technology at Sun Microsystems."
"Peer-to-peer (P2P) computing is difficult enough without having to learn a new API. The first version of JXTA introduced us to P2P, but the API was tough to learn, and not easily mapped to our current process. But now, with the release of JXTA 2.0, you get your warm fuzzies back -- in the form of a ready-made API to wrap your P2P communications, with a socket-like interface and Java I/O streams."
"The JXTA shell is a great tool for experimenting and learning P2P fundamentals. Its simple yet elegant extensibility makes it easy to add new functionality. In this article, we have worked extensively with the command line of the shell and created our own complex shell extension from scratch."
"So far in this series, we've taken a nuts-and-bolts look at how JXTA, a new P2P platform with a Java reference implementation, works. In the first installment, we discovered interoperable features of JXTA. Defined as a set of interoperable protocols, JXTA can be implemented across hardware platforms, operating systems, and programming languages. We also covered the operational model of JXTA and many important concepts, including peers, peergroups, services, and pipes. In the second installment, our focus was on getting JXTA up and running. We explored one JXTA application -- the JXTA shell -- and walked through a scenario for creating pipes and sending messages from one peer to another. We also gained our first programming experience with the JXTA API when we wrote a JXTA shell extension. Thus far, our approach to JXTA has been from the bottom up. This is most natural for those of us with system programming and network engineering backgrounds."
"Now we'll put last month's lesson into practice by modifying our simple P2P application. Specifically, we'll extend the application to support P2P authentication and encryption using X.509 certificates. We'll tackle authorization in a future article."
"We're only one article into our trip through the landscape of P2P computing, and it's already time for a detour. Based on the reader feedback on "The practice of peer-to-peer computing: Introduction and history," I have realized that there is much more interest in using and understanding the P2P application than I anticipated. Originally, I had conceived of the application as a convenient source from which to draw examples to illustrate points being made in the text. It turns out that some of you want more detail, so that is what I'm going to provide this month."
"Introduction and history March 2001 Level: Introductory Peer-to-peer (P2P) computing promises to be the paradigm with mindshare sufficient to push a number of interesting distributed computing technologies from the shadows into the spotlight. To better understand P2P technology, Todd Sundsted begins this series with a trip back in time to the early 1980s, when the first popular P2P applications came into existence. He explains where P2P computing fits into the broader distributed computing landscape. Finally, he presents the world's simplest peer and, as a means of foreshadowing what is to come, points out its deficiencies. Armed with this information, you will be able to build your own P2P applications in the Java programming language or adapt specific techniques to your own programming ends."
"While traditional client/server and multitiered architectures are state-of-the-art workhorses for our industry, systems with P2P architectures are the new kids on the block. Project JXTA is Sun's foray into providing a utility application substrate for building P2P applications across platforms, OSs, and programming languages. It is now an open source project with participation from Sun; see the Resources section below for information on the JXTA community."
"Peer-to-peer applications are massive yet fine-grained. Individual peers pop in and out of existence -- each intent on its own agenda. During their brief moments of wakefulness they attempt to accomplish the tasks set out for them. Most of these tasks involve interacting with other peers."
"Unless you've been asleep at the wheel for the last nine months, you've heard of peer-to-peer (or P2P) computing. If you believe, as many do, that its use is limited to file sharing or that it is the most important development in the history of computing since the invention of the Internet, you can be forgiven -- the hype generated by some of its more extreme proponents is to blame."
"How does a P2P network "find" the resource you requested? In JXTA 2, this action is called resolving a query. A query is your demand for some resource. The JXTA 2 component that enables query resolution is called the resolver. Most cornerstone components in JXTA 2 (that is, pipes and routers) rely on the resolver. Other P2P technology may have identical concepts with different names. Figure 2 illustrates the resolution of queries in JXTA 2:"
"The goal of creating a scalable, high performance, but (most important) usable P2P network needs to be pursued relentlessly. JXTA 2 is an important step in the right direction."
"Recently, Sun Microsystems released JXTA (pronounced juxta) as a platform for P2P applications. The project is an open-source effort accessible from jxta.org. In this article, we focus on the architecture and technologies that make up JXTA."
"JXTA defines its protocols in the JXTA Protocols Specification. The specification describes how peers communicate and interact; it does not attempt to describe the specifics of implementation or how to write a peer-to-peer application. In this section, we are going just give you an overview of the protocols and discuss related issues."
"The mobile-side implementation of JXTA4JMS handles the wireless messaging (the sending and receiving of messages to and from the desktop-side JXTA4JMS implementation). A set of four classes, described next, works in a layered architecture to perform the messaging task."
"In this two-part series, Faheem Khan demonstrates how to use JXTA technology to integrate thin J2ME clients into enterprise-scale messaging applications. While working through this series, you will develop a set of classes that enable you to integrate J2ME clients into JMS applications running on J2EE servers. This article discusses the basic architecture of a typical messaging application and introduces two application scenarios in which you would need to integrate these clients. It also introduces JXTA and explains how to use the JXTA framework to integrate thin clients into JMS applications."
"The next step will be to describe how to connect small J2ME devices with limited capability (processing, memory, screen size, and MMI restraints) to a JXTA network. We will conclude this article by summarizing what JXTA and J2ME offer to Java Wireless programmers."
"In addition to the JMS style functionality, the JXTA4J2ME-based messaging offers additional features, such as the ability to discover peers and peer groups."