jini是实现大规模分布式计算的一种关键技术。它不仅可以解决网络兼容性的问题,更加不同凡响的是,通过这种技术可以在网络计算机设备和应用程序之间进行有效的交互和合作。jini通过使用面向对象的语言java,将即插即用特性赋予了各种各样的设备,例如pc、手持式电脑、蜂窝电话以及48kb的小内存设备,从而减少了网络上的冲突。但是,jini网络的实现还需要开发人员艰苦不懈的努力。在此之前,程序员们仍要面临编写分布式应用程序的挑战。
jini是一种用java语言编写的代码,这种代码可以在网络上自动地检测计算机设备,并且注册它们所提供的服务。它是为在网络上提供分布式操作系统服务而采纳的开放式体系结构的核心部分。
sun公司为下个世纪的网络计算绘制了一幅蓝图,将这幅蓝图变为现实的技术就是jini。jini是一种基于java的体系结构,它提供操作系统的服务,并且将其功能扩展至整个网络。更一般地讲,jini是在java虚拟机(jvm)顶端运行的一个java软件,为设备提供即插即用的网络功能。sun在它的蓝图中描绘了这样一幅场景:在未来,任何一台装有微处理器以及小容量ram的设备之间都能够相互合作,从而达到了计算上一个崭新的境界。虽然这是一种超前意识,但是采用jini至少使我们离未来的蓝图又进了一步???它可以使我们免受设备驱动程序不兼容的困扰,并且不再让用户在登录到网络上时遇到麻烦。
举个例子,在sun所勾画出的蓝图中,用户可以将掌上型电脑插入网络插槽并且能够被立即识别出来,从而自动地成为了网络的一部分。有了这样的手持式设备,用户就可以方便地访问一台计算机上的数据,并且利用另外一台计算机所提供的服务来处理这些数据;接下来他还可以在最近的一台打印机上打印数据,而不用在掌上型电脑上预装打印机驱动程序。这样不可思议的事是通过这部掌上型电脑自动下载一个基于java的打印机驱动程序来实现的。网络与应用程序之间这种自动而便捷的集成可以应用到从pc到蜂窝电话的几乎任何一种电子设备之上。
这种分布式的计算体系结构并不新奇,sun公司的jini也不是实现下世纪网络世界的操作系统唯一的技术。lucent technologies公司在1997年推出了为嵌入式系统设计的inferno技术,该技术在逻辑上与java极为相似,也包含了虚拟机概念、编程语言以及通信协议;oak ridge国家实验室也推出了称为并行虚拟机(pvm)的技术,它旨在通过网络上完全不同的机器之间进行合作而提供一种低价位的超级计算机;ibm力推的t spaces在概念与实现上与sun也很类似;而脚踩两条船的microsoft也正在研究分布式操作系统,他们关于分布式操作系统的大手笔项目称做millennium。microsoft希望通过millennium取得两大伟绩:一是将桌面操作系统完全而无缝地分布到世界范围的网络中去,二是将程序员带往不再考虑底层机器细节的更高抽象层次上。这两个目标对于分布式系统来讲是相当关键而密不可分的。但是,由于sun拥有java编程语言以及相应的虚拟平台,它在将操作系统引入下个世纪中处于一个极为特殊的地位。
jini是如何工作的
jini解决的并不是诸如一个特定的应用程序如何在网络上进行工作这样的细节问题,而是为这些服务提供一种极为关键的能力,使得它们彼此之间可以意识到对方的存在,进而建立起相互的连接。jini的核心是sun jdk1.2中的java remote method invocation(rmi),这是一种使java对象之间可以在网上实现交互的网络服务。这样看来,jini就可以看作是java软件组件模型javabeans在理论与实践上的一种延伸了。
jini网络就像是一个市场,在其中商人们贩卖自己的商品。在jini网络中,商人们就是最终用户、设备或者应用程序。贩卖的过程是这样的:一个新的商人来到这个市场,他宣告了自己的到来,并且很快建立起了商店;然后他将所卖的商品以及提供的服务写下来,像许多其他的商人一样写在一张卡片上,而这些卡片的信息就公布在一个布告栏中;jini提供了这种销售的机制,根据它的规定,商人们被授予在布告栏上贴广告的地方,并在那里发布消息;顾客们则在布告栏前驻足,寻找他们感兴趣的卡片信息,然后从卡片上抄下与商家联系的方式;接下来顾客就与商人在诸如“什么时候交货”或者“怎么买卖”这样的细节问题上讨价还价;而商人们交易时所遵循的交易规则是由sun的另外一个标准javaspaces来规定的;对于顾客来讲,商人之间的自由交易是不可见的。
jini所蕴涵的意思当然比这个比喻要来得丰富得多:例如消息在布告栏上不会被偷走,以及广告所占据的实际空间并不需要考虑等等
闽公网安备 35060202000074号