Network Services(网络服务) 节点通过协作和交互来发布、发现以及调用网络服务。相反,节点发布的服务可以被节点发现协议(Peer Discovery Protocol)发现。 JXTA协议规定了两层网络服务: n 节点服务 一个节点服务只能被发布这个服务的节点访问。如果发布节点失败,则这个服务也会失败。每一个服务的实例可以运行在不同节点上,但每一个实例公布他自己的广告。 n 节点组服务 一个节点组的服务包含了一组运行在不同成员节点上的服务(一般是通过协同工作来完成的)。这样,即使一个节点死掉,整个点组服务也不会受到影响。节点组服务作为点组的广告组成部分发布出去。 服务可以被预安装到节点上,也可以从网络上加载。为了实际运行一个服务,一个节点有可能需要定位一个适合该节点运行环境的服务实现。查找、下载和安装一个服务和在Internet上搜索网页、获取网页然后安装该网页所需要的插件是类似的。
Peer Group Services(点组服务) 一个点组提供一系列服务,JXTA规定了一套核心的点组服务。这些服务构成了这个点组的服务签名,每一个加入这个点组的节点都要实现这些服务。可以为传递一些特殊的服务开发出一些额外的服务。两个节点如果要通过一个服务进行交互,那么这两个节点必须在同一个点组里。 核心的点组服务(每个节点都必须要实现的)有以下几个: n 端点服务 端点服务用来在peers之间发送和接受消息。端点服务通常实现了一个端点路由协议(Endpoint Routing Protocol)。 n 解决服务 解决服务用来向其他的节点发送普通查询请求。节点之间可以定义和交换各种查询从而获取所需要的信息。(例如,寻找广告、决定服务状态或者是一个管道节点的存活性)。 除了上面说的核心服务之外,对于每一个点组需要定义一些额外的标准服务。但这些并不是必需的。一个点组一般来说只提供他感兴趣的服务。一个点组有可能需要依赖网络点组默认的服务,从而提供非关键服务核心服务。这些服务通常有以下几种: n 发现服务 此服务被点组成员用来查询点组资源,例如节点、点组、管道以及服务。 n 成员服务 此服务被点组成员用来建立安全的标识和信任体制。标识被程序和服务用来检测谁正在提交请求以及决定是否允许其进行访问。程序有可能使用他们自定义的安全控制或者使用访问服务。 n 访问服务 访问服务用来验证一个节点到另一个节点的访问是否合法。接受请求的节点检查请求者的信任书(credentials),以及相关信息从而决定是否允许此次请求访问。(注意,不是所有的访问都需要进行检测。) n 管道服务 此服务就是为了创建和管理管道连接的。 n 监控服务 此服务允许一个点组成员去监控其他点组成员。 |