转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 软件开发 >> JAVA开发 >> 正文
Jini技术基础结构         ★★★★

Jini技术基础结构

作者:闵涛 文章来源:闵涛的学习笔记 点击数:656 更新时间:2009/4/22 23:27:35
Jini技术的即插即用的基础结构主要由三组协议组成:查找(Lookup)、发现(Discovery)和加入(Join)。查找服务是分布式Jini系统的基本组成部分,提供了在分布式Jini系统中服务的中央注册机制。在Jini系统中,程序找到服务的首选方法是通过查找服务,而且查找服务也是提供给管理员和用户各种访问接口的基础。

  查找服务的服务模型

  查找服务保存了一个服务的表,表中的每个元素代表了系统中可用的一项服务,其中保存了访问这项服务所需要的代码和一系列可扩充的描述服务的属性。打个比方,查找服务就像电话簿,Jini系统中的服务就像电话簿中的用户,查找服务中保存的信息就是用户的电话号码。也就是说,凡是需要访问Jini系统中的服务,就必须知道查找服务中保存的“电话号码”。但是查找服务有不少超过电话簿的优点,例如:查找服务保存的是一个动态的“电话簿”,而且,系统中的服务可以在“电话簿”中主动加入和去掉自己的“电话号码”,而查找服务也完全支持这种机制。而在以后的内容里,我们会发现更多的不同点。

  当服务在查找服务中注册后,会产生一个通知事件。系统管理员可以利用查找服务中的事件回调机制来收到这个通知。这就有利于系统管理员管理和维护系统。而且服务也会提供设置自身的用户界面,这个用户界面可以作为服务的属性保存到查找服务中。管理员能轻松地设置服务,不用忙着到处找各种各样的驱动程序和管理软件。

  在服务的有效期内,如果服务遇到问题需要引起管理员的注意,例如打印服务发现纸张短缺服务就增加一个属性来指明问题。更改后的结果会保存到查找服务中。这时,同上所述,管理员利用查找服务的事件回调机制来收到上述问题的通知。有了这个有力的机制,大大减轻了系统管理员的负担。

  发现协议和加入协议

  网络中的服务在启动后,怎样加入到分布式Jini系统中,成为Jini系统中的服务,有两个重要的必不可少的步骤。第一步肯定是找到系统中的查找服务,这个过程就是Discovery过程,用到的协议就是发现协议。第二步就是把自己注册到查找服务中,这个过程是Join过程,描述这个过程的协议就是Join协议。一项服务在完成了这两步后,就真正成为了Jini系统中的一位成员。为了准确地描述这两个协议,先介绍一下用到的术语。

  主机。拥有一或多个Java虚拟机并且能加入网络的一个硬件设备被称为主机组。一组Jini服务所组成的集合。组的名字是任意的字符串,用来描述该组的性质。

  Discovery实体。Discovery实体就是处于同一主机内,将要开始,或者正处在找到查找服务的过程中一个或多个相互协作的Java语言中的对象的集合。

  Join实体。Join实体就是处于同一主机内,已经获得了查找服务,处于从查找服务中查询服务或者将自己注册到Jini系统内过程中的一个或多个相互协作的Java语言中的对象的集合。在以后的文章中,为了方便描述,将Discovery实体和Join实体统称为实体。

  Jini系统中的服务包括的范围很广,包括各种纯软件的服务和硬件设备的服务。如果一台主机希望加入Jini系统,成为Jini系统中的一项服务,需要具备以下几个条件:首先需要一个能够运行Jini代码的Java虚拟机;其次需要一个正确配置的网络协议栈。这个网络协议栈随着网络协议的不同而改变。这里假定采用的网络层的协议是IP协议,此时以下几个条件是必不可少的:IP地址(IP地址或者是静态IP地址,或者是由主机利用DHCP协议来取得的动态IP地址);支持TCP协议和UDP多点传送协议(在Discovery过程中会用到这两种协议)。举个例子,一台联网的、安装了JDK(Java开发工具包)的个人电脑就是一台主机。

  每个查找服务都有相关联的组,这样可以使Jini系统中的服务结构更有层次感。例如:一个特定的查找服务可以属于打印设备组,任何打印服务都可以注册到该查找服务中。当然,组都是预定义的。在Discovery的过程中,Discovery实体确定自己感兴趣的组,也就是自己希望加入的组,如果找到的查找服务也属于这样的组,Discovery实体就加入到这个查找服务中。这就避免了查找服务的结构过于庞大,把组织系统中服务的责任分摊给系统中多个不同的查找服务。目前,组的命名还没有一个明确的规范,Sun公司只是希望组的名字最好符合网络域名的命名规范,但是目前并没有给出如何定义组的名字的详细规范。我们相信在未来的发展过程中,随着对Jini系统中服务的组织结构层次性要求的提高,这种命名规范会随之完善起来的。

157


没有相关教程
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · C语言系列  · VB.NET程序
    · JAVA开发  · Delphi程序
    · 脚本语言
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台