在JXTA中分为三个层次,如下图所示。
下面分别介绍各个层次:
- 平台层(platform layer)。平台层即所谓的JXTA核心(JXTA core),专门包装了最小最精华的部分,这部分主要完成了对P2P网络最一般的使用。包括,为P2P应用程序的关键机制构建模块,传输(包括防火墙穿透),创建peer和peer group以及和安全部分的结合。
- 服务层(Service layer)。服务层包含了一些网络服务,这些服务不一定是P2P程序中必须的,但却是P2P环境中通常和值得提供的。比如搜索,索引,目录,存储系统,文件共享,分布式文件系统,资源聚合和租借等应用服务,以及协议传输服务和认证和PKI服务等等。
- 应用层(Application layer)。应用层包括了综合应用的实现,比如P2P的及时消息,文档和资源的共享,娱乐内容管理和分发,P2P的email系统,分布式拍卖系统以及很多其他的应用。
实际上,服务层和应用层之间的界限并不是明显的。一个用户的应用程序可以作为另一个用户的服务。整个系统被实际成模块化的,允许开发者选择一个服务和应用的集合来定制自己的需求。
在JXTA中有三个主要方面是它区别一其他分布式网络模型的:
- 使用XML文档(广告)来描述网络资源。
- 针对peer间和peer与端点(endpoint)间的抽象管道(abstraction pipe)不需要使用一个可信赖的中心名字/地址认真,比如DNS。
- 唯一的peer地址方案(peer IDs)。
在下面的部分将详细介绍JXTA的各个组成部分。