说明:
在做JXTA开发时,发现网上的资料非常少,已有的都是很老的资料,JXTA目前的版本已经是2.5了,同以前的2.0、2.1之类的差别非常大,因此网络上2002年以前的文章,除了是阐述JXTA技术的概念类的文章可以学习外,具体开发类的就没有多大价值。当然,看了那些文章,还是能够帮助我步入JXTA这个圈子的,这一点我很感谢原创那些文章的作者。所以,我在看看了这个JXTA官方技术手册后,决定将它翻译出来,供大家学习。但是我的翻译水平可能并不怎么样,使得语句不太流畅,并且在我不太确定某句是何意时,我就把原英文附在后面。
可能是由于我业余做这件事情,实在没有多少事件把这文章精雕细琢,而且以后多长事件做完,我也没底的,所以希望大家理解。同时,发现我有翻译不对的地方,请别拍砖过来,如果能以之处我错误帮助我改正的方式,我会很乐意接受并感谢你的。
第一章 简介
JXTA是一组开放的普遍适用的P2P协议,它允许所有的网络设备——传感器、手机、PDA、笔记本电脑、工作站、服务器和超级计算机——可以相互通信和协作。JXTA协议是与编程语言独立无关的,它可以被多种语言来实现,因此它能适应与多种环境。本手册主要介绍JXTA在Java Standard Edition(JSE)平台上的实现。同样的,也会有在JME™ /C/C++/.NET语言或平台上的实现,以及相应的说明手册。
本手册是为那些要开发和部署基于JXTA以及Java技术的P2P应用的开发者而写的。向它们介绍JXTA技术,阐述了JXTA网络架构及其核心思想,同时也包含了必要的范例和讨论。
为什么要使用 JXTA™ ?
随着Web不断的发展,它的内容不断增大,所联结的网络设备也不断增加,P2P计算变得越来越流行了。诸如文件共享、分布式计算和即时消息服务都是其多种应用中很有名的例子。当这些应用要完成各种各样的工作时,它们却都在实现着一些通用的服务,例如搜索和发现对等点、传递文件或数据等。当前,开发人员在开发P2P应用时候,都在大量重复地做这类似的工作,所以开发效率很低。并且,这些应用都是针对指定的平台而开发的,所以它们也不能同其它的P2P应用相互通信。
JXTA设计的一个最基本的目标就是提供一个包含基本P2P功能的平台,它要解决目前已有的P2P系统的潜在的缺点:
互操作性——JXTA技术使得提供P2P服务的对等点能够定位其它对等点,并与之通信,而这一切都是独立于网络设备的。
平台独立性——JXTA技术被设计成是独立于编程语言、网络协议和部署平台的。
普遍性——JXTA技术使得所有的电子设备都可以访问,并不仅仅是桌面电脑或指定的部署平台。
P2P网络中的对等点的一个很大的特征就是它们常常位于传统网络的边缘。它们没有静态地址(例如DHCP),它们的网络地址总是在变化,因此与之联系是无法预知的。所以它们也是在标准DNS范围之外的。而JXTA则向这些处于网络边缘的对等点提供全球唯一的网络地址,这种地址是独立于传统的名称服务的。通过使用JXTA ID,一个对等点可以穿梭于物理网络,可以改变端口和网络地址,甚至可以暂时挂断,以及被其它对等点定位。
什么是JXTA™技术?
JXTA是为P2P计算设计的开放的网络计算平台,它提供了要满足应用在任何地方发起任何连接所需要的基本的构建模块和服务。
JXTA这个名称是单词“juxtapose”的缩写,意思是“肩并肩的”。这个名字就指明了相对于传统的基于Web的客户端-服务器计算机模式,P2P计算是平等并列的。JXTA 为开发P2P应用提供了一组开放的协议,这些协议在开源情况下再被实现,同时也为每个对等点提供了标准的行为方式:
对等点相互发现
自组织加入对等点组
发布和发现网络资源
对等点之间相互通信
对等点之间相互监视
这些JXTA协议是独立于编程语言的,它可以被各种语言实现,如Java、C/C++、.NET、Ruby等等。而且,它还可以实现在TCP/IP、HTTP、蓝牙等网络接口之上,总之,使得它们可以进行互操作。(Furthermore, they can be implemented on top of TCP/IP, HTTP, Bluetooth, and other network transports all the while maintaining global interoperability)
JXTA™技术能做什么?
JXTA技术使得开发人员可以建立和部署具有互操作能力的P2P服务和应用。由于JXTA协议是独立于编程语言和网络接口的,所以它使得各种各样的设备以及软件可以互操作。使用JXTA技术编写的网络应用程序能够:
可以动态搜索发现位于防火墙和NAT之后的对等点
可以在网络上很容易地共享资源
在网络上发现有用内容(Find up to the available content at network sites)
创建对等点的一个组,该组可以提供指定的服务
可以远程监控对等点的行动
可以安全地与网络上其它对等点相互通信
哪里可以获得JXTA™技术?
可以在http://jxta.dev.java.net上获得有关JXTA技术的资料。其中包括项目信息,文档,邮件列表,源代码,二进制代码,指导手册。