Jini设备及其应用实例
副标题#e#
Jini技能的呈现,使得Java在乐成地为网络设备的计较提供了符合的平台之后,更为网络设备,尤其是家庭网络下的消费类电子设备提供了一个全新的网络计较布局,从而实现了人们等候已久的网络设备的即插即用。
对Jini设备的硬件要求
固然Jini自己是一个软件系统,可是一个真正投入利用的Jini系统则由一系列软件和相应的硬件构成。显然,以往一般的电子设备是不行能直接插手到Jini系统中来的。我们只有全面相识支持Jini技能的硬件类型,才会对Jini技能的将来有一个更深入的相识。
Jini布局需要以Java语言中的数据范例界说处事,且以处事的差异实例来以差异要领实现该数据范例。一个处事可以是差异范例的成员,答允了一个处事实例可觉得客户提供差异成果。这是一个尺度的面向工具软件的要领。Jini系统漫衍式的特点答允了Java语言的数据范例可以以一个软件和硬件的布局来独一地实现。
实现这种成果的思想焦点十分简朴。处事以一个接口界说,支持接口的署理对处事客户是可见的,署理的成果模块由处事提供者上载到查找处事上,随后以客户所发明的处事的一部门被下载到客户方。这种处事相关的成果模块需要用Java语言编写以担保可移植性。可是,既然这代码来自被利用处事的个别实例,它的署理就可以具体地知道特定处事成果模块的细节。下载的代码不单知道实现这种处事的软件,还可知道处事地址的硬件。在极度环境下,硬件就是处事的全部,下载的软件是一个网络级的设备驱动措施,在获得来自客户方的Java语言的要领挪用后,在网络连线的另一端发生了对硬件的特定硬件代码挪用。
对查找处事(Lookup Service)的要求
一个处事提供的实际成果对提供这个成果的实体要求很少,实际上,Jini软件处事可以用这样一种方法来运行设备:客户方下载的Jini措施直接向硬件发送相应的二进制代码直接执行。在这种环境下,Jini设备所需的智能是最少的。Java措施与设备节制器交互的方法与设备在一局部计较机总蹊径下的交互是十分雷同的(虽然,还须在通信方面临网络中心做一些修改)。
可是,提供处事仅是对Jini处事要求的一部门。要成为Jini系统的一个部件,处事还必需介入到Jini的发明协议中来,并向Jini查找处事注册其自身信息。
这两方面的需要是密切接洽的。Jini发明协议的主要方针是使得设备、处事或获恰当地Jini查找处事的一Jini长途要领挪用(RMI)的引用。一旦这个引用被获得,处事需在Jini查找处事中注册,答允Jini系统中的其它成员发明和利用这个处事。
Jini查找处事的接口是一个完全的RMI接口,处事的实现利用了RMI所有的机制,包罗漫衍的垃圾接纳和代码的动态下载。因此,处事被假定有一个对Jini查找处事的引用,该查找处事运行在一个完全的或是至少支持RMI的Java虚拟机之上。
当我们思量到Jini查找处事的另一个实现方案,即除Jini查找处事自已界说的接口之外还支持其它长途接口,(net.jini.core.lookup.ServiceRegistrar)因为这种方案有一个差异的RMI署理而不是像此刻的方案那样:一个有完全JVM和RMI的设备可以下载它。一个没有完全JVM和RMI的设备需要一个处理惩罚这种处事实现的差异要领。
除此之外,处事的注册还需要net.jini.core.lookup.ServiceItem工具的发生,这个工具由一系列的Jini工具构成。在查找处事包括这些进口则需要net.jini.core.entry.Entry的Jini工具的发生,所有这些工具最简朴的发生方法就是由一JVM结构。
最后,Jini查找处事的注册被租用,返回的租用需要续租以使处事继承在查找处事中显示。查找处事类型没有包罗由注册返回的租用工具。所有这些被界说成Jini语言中的接口,必需被以租用返回的(当地)工具支持。因而查找处事的设计需要那些类代码下载到注册的处事中以使租用可以被续租,实现了net.jini.core.lease的租用接口。
#p#副标题#e#
实现Jini处事的三种差异途径
设备拥有常驻的JVM
成为Jini系统联邦一部门的一个明明的设计方案就是让其包括计较本领、内存和不变的存储空间,这些是拥有一完全的JVM以及支持Jini基本布局所需的Java应用情况的那些部门所需的(尤其是那些部门包罗代码载入、RMI和任何所需安详机制)。这将使设备进入专门的计较进口,设备的一部门将专门为Jini布局所需的部门Java API处事。在这种途径下,硬件抽象实此刻了一设备局部软件抽象之后,该软件抽象了在客户与处事毗连的的署理代码之后。
#p#分页标题#e#
这样的设备可以对Jini和Java技能有完全的支持,包罗上载与设备通信的的代码和下载大概为设备提供处事所需的代码。这样的设备在网络通信上利用本机RMI协议,并在通信协议和特定的节制设备本身运行的软件协议之间有一个宽松的接洽。用这种途径,设备成为一通过嵌入式Jini平台提供特定处事(或处事集)的专门网络应用。
实际上,这种途径以RMI处事器的实现利用了硬件办理方案,在两个偏向上断绝了硬件:先上载到Jini查找处过后下载随处事客户的当地署理代码来提供;在处事设备上的当地JVM和由Jini措施写的代码答允客户署理和硬件自身的调整。
通过设备上的JVM中介,一个利用这种途径的设备可以简朴地在设备上实现多种处事。这样的设备可以在对客户和客户与处事之间的网络协议无影响的环境下自身成长。尽量简朴、机动,这种途径会增加设备的本钱。设备需要一可运行JVM的微处理惩罚器,产保留储类所需的内存和一些存储JVM和JDK软件类的常驻存储(如磁盘或NVRAM)。所有这些都加到了那些执行设备提供的Jini处事所需的硬件之上。
满意这些需要不要挪用JVM的主机版本,或一个在设备上运行的完全的JDK。JVM可以在任何形式的微内核或设备的硬件上直接运行。而且JDK的大部门不为一设备所需要,占用当前版本JDK相当大部门的如图形和UI(User Interface)类不被需要。版本的其它部门同样可丢弃,“被剥皮”的JDK足以满意Jini设备的需要。确定这样一个JDK子集的巨细和部件是值得一做的;这与EmbeddedJava技能加上特另外RMI类的局限雷同。
对付这种途径来说,重要的是可以下载用Java语言写的任何代码,并可以利用RMI通信系统和处理惩罚一个虚拟机一般的需要。通过一尺度JVM,设备在Jini系统联邦中有一完全的成员资格,且在它提供应联邦的其它成员的署理与它自身通信方法上有足够的弹性。
利用专门JVM的设备
如果制造商愿意放弃Jini漫衍式布局提供的某些机动性,我们可以低落对其进入(Jini设备出产)的要求。为此,设备出产商需在设备中实现对Jini发明与查找处事的接口,包罗对某种租用专门的处理惩罚和对这种租用直接续租的本领,该租用由查找处事分发。而且设备还应有下载对处事有用代码的本领。这是一专门的成果集,比整个JVM需要的少得多,可由小得多的代码来实现。
这样的设备将包罗一Jini情况专门设计的JVM,答允会见Jini发明和查找处事以及续租一出格顺序的租用。它限制了这样一个设备的机动性,因为设备不行以变革软件。对由查找处事分发的租用的专门认知也使得这样的设备只能与专门的查找处事打交道。可是,这种处事成果上的欠缺可由简化设备总体得以补充。
多个设备共用一虚拟机(物理上的)
此种要领利用了一个完全的JVM,但通过一系列差异设备完成JVM的开销(包罗软件和硬件)。通过这种要领,一系列的设备都利用一物理上配合的JVM作为设备和Jini系统之间的中间层。设备载入Java措施到局域虚拟机,答允局域虚拟机与设备交互,然后将局域JVM作为与Jini查找处事和Jini发明处事和Jini租用交互的署理。
除了设备利用的JVM是共享之外,这种要领与第一种途径十分相似,它仍然是一个完全的JVM,答允代码的下载和完全的Jini平台成果。然而,这和设备的实现最有大概是答允多个(或是差异的)物理设备被插入到一个完全的设备以得到Jini应用情况的共享。
这样的设备最适合被当作是一“Jini设备港”,用以提供动力、网络毗连和一运行JVM的处理惩罚器以及JDK的适当部门。用于提供某种Jini处事的物理设备被插入到设备港中并向港陈诉。它可用一适当的协议(答允设备出产商既出产根基设备又出产设备港)或其它某种家产尺度,局部设备认证打算。作为局部声明的一个部件,答允设备既作为当地呆板的设备又作为网络级设备。
在发明新的当地设备今后,Jini设备港将向Jini查找处事注册由新设备提供的处事(先为设备港所知)。设备港尚有责任在Jini查找处事进口续租和发明任何作为署理的设备从网络上的删除。设备港用向Jini查找处事提供设备交给它的代码,以使处事的客户可下载。
设备处事的客户将认为它是在与注册在Jini查找处事的设备交互,但实际上它是与设备港交互。设备港可作为它所署理的特定设备的“发报机”(dispatcher),在由处事署理利用的网络协议和设备港与实际设备的协议之间有一转换协议。
在这种方法中,设备厂商本钱的低落来自多设备共享一个设备“港”的本领,这个设备港有智能、内存或是其它组件(如电源)。通过在多个设备共享这些资源,与Jini系统联邦交互所需的特别开销可被浩瀚设备配合分管。设备厂商所需做是实现设备与Jini设备港之间的协议,该协议存在于设备港中,必需提前界说而且不行随时间改变。
应用实例:家庭网络
#p#分页标题#e#
家庭网络(Home Net)是日益为人所知的新观念。用网络把各类数字化的家用电器毗连起来显然是大有前途的。可是,假如家用电器是像今朝的PC机一样地上网,恐怕会因为不易安装、利用等原因而不为普通家庭用户所接管。然而,Jini的呈现则为家庭网络扫清了障碍。
当越来越多的家用电器内置了微处理惩罚器,对通用的节制与利用要领的需要也将日盗明明。利用Jini技能的数字设备可存在于家庭方方面面,给以家庭用户一个全新的家电利用观念。
Jini技能给以了利用者一个统一的、更利便地得到他们的邻人,甚至于整个世界所提供的处事的要领。用Jini软件,一个膝上型电脑或是家用计较机可以插手到由其他电子设备配合组砀局域处事“配合体”中来。你只需“汇报”你本身的电脑你要做的事,由它们自动在“配合体”内寻找符合的资源处事完成实际的事情。
另外,实现Jini技能所需的代码较少,各类家庭的应用都可以用上它,向本身家中插手高科技产物迁就像插个插头一样简朴。