Jini 服务器架构

来源:百度文库 编辑:神马文学网 时间:2024/10/04 19:32:14
Jini 是由 SUN 公司 R&D 的Bill Joy 所提出的一项技术。我们可以藉著使用Jini,创造出一个富有弹性、容易管理、且可随时随地使用各种服务的网路计算环境。为了让使用者知道网路上有哪些服务可被使用,我们必须建立一个联盟( federation ),让网路上的服务主动加入。当有某个服务加入联盟时,也等於同时向整个网路告知:「我可以被使用,有谁 要我的服务?」。使用者透过联盟,可以得知有哪些服务可以使用。然而,我们要如何才能很简单、很轻易地使用这些服务关於这个问题,也就是 Jini 的工作重点之一。Jini(发音为DJEE-nee,像“魔术师”的阿拉伯语)是一个新思想,Sun微系统称作“自发网络”。有了Jini体系结构,用户就能够把打印机,存储设备,扬声器和任何设备直接插入网络,并且,网络上的每台电脑,设备和用户将会知道新加入的和可用的设备。每个可插设备都会立即在网络设备注册处定义自己。当某人要使用或访问这个资源时,他们的电脑将能够从这个资源上下载必要的程序来与其通信。这样一来,操作系统中就不再需要专门的设备支持软件,即我们所说的设备驱动程序。操作系统将会通过网络注册获悉所有可访问设备。Jini可以看作是继Java编程语言之后迈向使网络变为一台大电脑的下一步。Jini承诺能使制造商生产可独于操作系统(像Windows95)连入网络的设备。打印机只要装上一个很小的,特殊用途的并很可能是嵌入式微芯片的操作系统,它就可以被插到网络中并且立即被各种不同电脑的用户所共享:例如Windows,Macintosh,UNIX。移动设备可以被传送并很方便地插入网络,这样一来,其他用户就都可以使用这个设备了。Jini是以Java技术为核心的分布式系统,它通过使用一个简易的"即插即用"模型,能够随时改变硬件或者软件的配置,从而提供了一个支持快速配置的分布式计算环境。Jini的迷人之处在于它能够使各种数字设备无需配置、安装或者人工干预,就能够在一个临时的称为服务联盟(federations of services)的设备集合中共同工作。联盟中的任何设备无论大小都可以自行管理,共同组成一个服务网络,联盟中的每一个成员都可以为其它成员提供资源或服务,同时又可以从其它成员那里获取自己所需的资源和服务,Jini提供一套完善的机制使得硬件设备或者软件组件能够随时加入或者退出联盟。Jini是一个主动的、响应式的分布式基础结构,它提供了在分布式环境中进行服务的建立、查找、通讯和调用的一整套机制。Jini技术被设计成可以运用在任何有能力连入网络的器件上,而不论该器件运行什么软件或运行在哪种硬件设备之上。Jini技术是以网络器件中的一个构件的面貌出现的,它为器件如何连入网络、共享信息和与网络进行互操作建立了一套规则,而同时又保持了对用户的完全透明。Jini本身与平台无关,采用它的器件不再受到所用软件、处理器、设备驱动器,或传统网络协议的制约,其唯一要求只是一个能够运行Java字节码的虚拟机.让我们来看看Jini 是怎么做的。网路上的服务要能够成为联盟的一份子,不管是硬体服务也好、软体服务也好,都必须嵌入Jini 的程式码。此外,网路上还必须提供 JVM的环境,才能执行Jini程式以获得这些服务。Jini的程式码是利用 SUN 公司所提供的 Jini package 撰写而成。Jini package使用的语言是Java,并且包含了许多处理网路上资源的相关功能。例如:如何帮助网路服务寻找(discovery)、以及加入(join)联盟;或者帮助网路服务处理分散式的承租(leasing)、交易( transactions)等的问题。而这些网路服务彼此沟通时,所应用的技术是 RMI(Java Remote Method Invocation )。简言之,网路上的服务藉由 Jini 所提供的介面,得以相互沟通、合作,来完成使用者的要求。任何带支持Java的操作系统的设备都能够被插到网络中。(对很多设备来说,操作系统都比例如,Windows 2000小得多,因为它只提供了这个设备需要的函数。)当一个设备被插到Jini网络中时,它立即被目录服务层注册为网络的一员。它必要的程序对象被放在了JavaSpace层,这样一来,当其他网络成员要使用这个设备的时候就可以发现和下载它们。在JavaSpace中对象的实际通信是通过使用远程方法调用(RMI)接口和层来实现的。支持boot,join,和discover协议的这层用于使设备,用户,应用程序通告并自我注册以及发现其他设备。一、Jini的体系结构Jini system 是由基础建设( infrastructure)、程式设计模型( programming model )、服务( services) 三方面所构成。基础建设( infrastructure)Jini 基础建设的核心包含以下几个部分:Discovery Protocol:提供了如何让网路上任何种类的资源加入联盟的方式。eXtended RMI :Jini的元件彼此沟通时所使用的机制。Distributed Security:定义了Jini 联盟成员的使用权限。Lookup Service:用来展现联盟中的所有成员,以及帮助使用者寻找网路资源,或者负责提供联盟中的资源给使用者用。程式设计模型( programming model )Jini 提供一些分散式的程式设计模型,而 Jini 的基础构造,就是利用这些模型来组合。模型所提供的介面(Interface),包括以下几个类型:Leasing Interface:负责管理物件被使用的时间。Two Phase Commit Interface :是一个轻量级的(light-weight)、物件导向的( object-oriented)介面。负责管理分散式交易( transaction)的动作,如:roll back 、roll forward 等。Events Interface:在分散式计算的环境中,必须确保程式执行的先后顺序,利用事件的观念可以帮助我们解决这个问题。服务(services)有了Jini的架构以及程式设计模型后,我们可以利用这些技术来设计管理网路资源的服务,以促进分散式计算的发展。例如:JavaSpaces、Two Phase Commit Manager。二、JavaSpaceJini提供了在分散式环境中寻找( look-up)、注册( registration)、租借(leasing)等功能。而 JavaSpaces则负责管理分散式物件的处理程序( processing)、分享(sharing)、以及流通(migration )等。因此 Jini 与 JavaSpaces 彼此存在著相互合作的关系[3] 。以军队作比喻, Jini扮演的是军 官的角色,负责分派许多武器装备给军队。JavaSpaces则扮演军队的角色,负则使用那些被分派的武器以执行命令。简单的说, JavaSpaces就好像网路上的一个市场,它提供一个简单、快速、统一的介面,让网路上分散的资源可以被分享、协调与流通[4] 。JavaSpaces是用 Java所发展的技术,并且以RMI实作其网路通讯的功能,一般应用在n-tiers 架构的中间层( middle tiers)[5] 。JavaSpaces虽然能提供 求者与供应者之间查询与沟通的机制,但它并不是资料库,而是以简单的messaging system为基础,进而提供更强大的功能。 

回答者: dlnantian - 职场新人 三级   2008-6-16 16:54

.goodvalueitem{background:url(http://img.baidu.com/img/iknow/ico_good.gif) no-repeat left;padding:2px 0 0 20px;zoom:1;}.relateTable td {line-height:22px;}相关内容 • 《Enterprise SOA中文版:面向服务架构的最佳实战》 哪里有 下载?  2008-1-19 • 文档服务器架构是什么  1  2009-8-29 • 热血三国服务器架构  2008-12-28 • 急求linux服务器架构毕业设计一份,谢谢!  2008-12-12   更多关于JINI