电脑故障

位置:IT落伍者 >> 电脑故障 >> 浏览文章

把P2P进行到底:讲述Jxta的故事(1)


发布日期:2018/2/1
 

Jxta名称中包含什么意义

Jxta 不只是以字母 J 开头代表 Java 和 Jini 名称的由四个首字母组成的首字母缩写词事实上它代表 Juxtapose 工程 Juxtapose 漂亮而优美地描绘了未来完整的 PP 计算世界据我们所知企业内部网(intranet)或因特网(Internet)中现有的客户机/服务器计算永远不会消失或被取代相反Jxta 技术将作为一种补充与这些技术共存(因此是 juxtaposition 并列)并给最终用户带来超值体验因特网和企业内部网的用户将能够从网络的这两种形式中获益

对等(PP)网络与传统的客户机/服务器或多层服务器网络不同对等网络中的对等机是彼此直接通信的这种通信无需依赖集中式服务器或资源就可完成在 PP 网络中通过对等机之间的交互操作就可以完成工作共享信息通过创建有潜力展示非常高的可用性和容错能力的计算资源网络PP 体系结构使真正的分布式计算成为可能

传统的客户机/服务器和多层次体系结构已经是业界的识途老马而采用 PP 体系结构的系统则还只是初生牛犊Jxta 工程是 Sun 为了向构建跨平台跨操作系统(OS)和跨编程语言的 PP 应用提供实用应用程序底层而发动的突袭这项工程现在是开放源代码的

Jxta 的设计理念

Jxta 工程的组件是认真的设计分工的产物它们为泛型 PP 网络提供最小需求去除了所有特定于策略的逻辑和组件这样就仅剩下几乎所有的应用程序都能使用的构件要素不考虑目标用户和特定实现在接下来的几个月和几年里Jxta 核心社区的一个主要任务就是确保这种普遍适用性仍然是真实的您可以争辩说PP 最引人注目的应用程序尚未开发那么如果 Jxta 把特定于策略或实现的细节嵌入其基础构造层后就完事的话那么这些尚未想像到的应用程序就可能永远不会和这个平台一起工作换句话说Jxta 组件没有强加一些不必要的策略也没有硬性规定特定的应用操作模型使得简单地构造 PP 应用成为可能也更方便

Jxta 工程对 Java 平台的独立性

在我们讨论 Jxta 的核心构件的过程中您会发现我们没有提到任何与 Java 技术相关的东西!Sun 已经为 Jxta 提供了初步的 Java 语言实现但令人惊讶的是Jxta 工程既不特定于 Java 编程语言也不特定于 Java 平台换句话说任何人都可以在任何硬件平台上用任何操作系统任何编程语言实现基于 Jxta 的网络添加了这种 Jxta 的传输不可知特性(您将看到它甚至不依赖于 TCP/IP)您就有了一个准备着交互操作的 PP 基础构造

互操作性作为一个设计选项

有些人或许会怀疑像 Jxta 那样普遍适应的规范的生存能力Jxta 系统可以设计成具有互操作性的但没有硬性的规则说它们必须以任何有用的形式具备互操作性换句话说一个仅仅表面上满足最小指定的互操作性需求的不以任何有意义的方式与他人进行交互操作的 Jxta 应用程序仍然是符合 Jxta 规范的然而可以预见PP 应用和服务病毒蔓延般的增长速度将迫使厂商把互操作性作为他们产品的一个主要特性这一设计决策的结果就交由开放市场的风雨去检验吧

在其核心处使用 XML

我们很快将更详细地说明Jxta 目前使用 XML 作为消息和广告的格式这对于使 Jxta 具有互操作性很有帮助因为 XML 技术的简单性和普遍可访问性软件几乎可以创建在任何平台上以生成并解析 Jxta 消息

Jxta 核心构件

构成 Jxta 系统的组件与能在很多 PP 网络实现中识别出来的组件完全一样

对等机和对等组

服务

管道

消息

广告

对这些组件中的每一个所做的研究将揭示 PP 通信在 Jxta 网络上是如何工作的

对等机和对等组

毫无疑问对等网络是由彼此相互通信的对等机组成的从根本上说整个连结着的宇宙就是一个大型 PP 系统但由于目前连通性和可用带宽的限制把整个因特网当作一个巨型 PP 网络来使用是不切实际的相反一些划分是必要的

物理网络的逻辑划分产生了对等机的工作组PP 行话称之为对等组对等组成员资格的交迭没有任何约束换句话说任何对等机有必要属于几个对等组就可以属于几个对等组Jxta 规范并没有规定或推荐组织对等组的合适方式在 Jxta 网络中对等组就是共享资源和服务的对等机的集合您可以很容易地明白如果这个规范把对等组限制为例如局域网或者甚至是广域网的一个子集 那么很多要求组成员资格超出这些物理限制的新应用程序的可能性将一概被排除与 Jxta 的设计理念一致对等组被规定为尽可能不受限制尽可能普遍适应

请注意对等组的存在要求一些维护成员资格的手段Jxta 规范又一次只规定了维护组成员资格的最小需求而没有指示该怎样维护这种组成员资格服务只是核心 Jxta 服务的一部分但它可以接受很多种形式例如它可以是数据库或目录服务还可以是基于集中式或分布式实现的

服务

对等组内的对等机可以共享使用 Jxta 服务事实上对等机加入一个组可能主要是为了使用该组内可用的服务称为核心服务的一组服务对 Jxta 网络的基本运转是必不可少的我们已经看到了一个核心服务的实例成员资格服务 展示了 版 Jxta 规范中包含的核心服务

Jxta 服务

Jxta 工程最初的参考实现不提供上面列出的五项之外的任何服务甚至核心服务中的一些服务例如处理安全性的访问服务也只是实现了非常基础的方面

现行的 Jxta 社区正在为这些服务中的大多数充实细节同时也在定义和实现对对等组或许有益的新服务(一般地或特定地)例如该社区目前正在进行的新服务包括

监视和计量服务

匿名的安全的金融交易付款服务

Web 内容和服务的分布式搜索服务

上一篇:爪哇语言观察者模式介绍

下一篇:前台开发要求 与 测试