分享
 
 
 

Jini技术综述

王朝other·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

引言

随着嵌入式系统在各种电子设备中的广泛使用,计算机技术的发展将进入一个无所不在的计算(Pervasive Computing)阶段。随之而来的各种电子设备联网是一种必然的趋势,与人类生活息息相关的各种家电设备能够联成网络并接入互联网,人类可以在任何时间、任何地点统一控制各种家电,让家电协同工作,那将极大地改变和影响我们的生活。比如,电视机接入互联网,人们可以通过电视机来浏览网页、获取信息;又比如,你可以在下班前一小时,通过互联网控制家里的电饭煲和微波炉开始工作,当你到家时,晚饭已做好;再比如,你在办公室加班,而电视台正在播放你所喜爱的电视节目,你可以通过互联网控制家里的录像机把节目录下来……

所有这一切正在逐步变成现实,Jini技术的出现为电子设备的联网提供了一条崭新的道路。

动态的分布式系统

Jini系统是以Java技术为中心的分布式系统,它可以使各种数字设备无需配置、安装或人工干预地在一个临时的设备集合(称之为联邦)中共同工作。联邦中的任何设备无论大小都可以自行治理,组成一个服务网络,联邦中的每一成员都给联邦中的其它成员提供资源和服务,同时又从其它成员中获取自己所需的资源和服务。Jini结构提供一套机制使得电子设备和应用程序能够随时加入或退出联邦,形成一个动态的分布式系统。

图1

Jini系统提供了在分布式系统中进行服务的建立、查找、通讯和使用机制。Jini结构的设计充分利用了Java程序代码可以在机器之间移动的能力,各个服务之间通过提供服务协议(service protocol)进行通讯(服务协议是用Java语言写的一套接口)。Jini系统必须运行在Java虚拟机上,如图1所示。

每一个Jini设备都应该有自己的存储器和计算功能,没有存储器和计算功能的设备也能够联入Jini系统,但是必须由其它Jini设备作为代理(proxy)来控制,该代理可以是软件也可以是硬件。

基础结构即插即用

Jini系统的任意服务可以随时加入和退出联邦,而且加入联邦时不需要进行安装和配置,达到了即插即用的效果。无论是在编程接口级还是在用户接口级,服务都构成了Jini系统交互的基础。

Jini系统的核心是三条协议:lookup ,discovery,join。它们构成了Jini技术的基础结构(infrastrUCture)。

查找服务(Lookup service) 是Jini系统的中心机制,任何服务都是由查找服务发现并确定,系统用户与系统的联系也是通过查找服务实现的。查找服务相当于网络中所有服务的公告牌,它把指明某服务所提供性能的接口与实现该服务的对象集对应起来。查找服务中的对象也可以包含其它查找服务,从而构成层次式的查找服务。查找服务用于用户在网络中查找和调用服务,而服务是由它的接口类型(用Java编程语言编写)或其它属性描述的。

某设备或应用程序插入网络时,它所提供的服务首先发现网络并被网络所接纳,这一过程需要通过发现协议(discovery)和加入协议(join):该服务首先通过发现服务在网络中找到一合适的查找服务,然后通过join协议加入查找服务。

如图2所示,某一服务提供者需要加入Jini系统中(服务提供者提供的服务可以是硬件也可以是软件),它首先要寻找网络中的查找服务,于是它在局域网中广播,请求加入到查找服务中,四周的查找服务将识别该服务。这个过程称之为发现(discovery)。需要注重的是在服务提供者中包含有用于通讯的服务对象(service object)和描述该服务特点的服务属性(service attributes)。服务对象中包含Java接口,其中包括用户和应用程序所要调用来执行服务的方法,以及其它描述信息等。

图2 发现过程

于是,服务提供者与查找服务进行通讯,服务提供者把自己的服务对象和服务属性注册到查找服务中,也就是把服务对象和服务属性发送到查找服务中。这个过程采用的是加入协议(Join),如图3所示。

图3 加入过程

如图4所示,当Jini系统中的客户需要服务时,它根据服务的类型或属性向查找服务查询合适的服务,然后查找服务把查询的结果返回给客户,当客户决定使用某一服务时,查找服务将把所需服务的服务对象的拷贝发送给客户。

图4 查找过程

如图5所示,客户通过该服务对象与服务提供者进行直接联系,调用服务。服务对象与服务提供者之间的私有协议,对用户隐藏了实现的细节。

图5 服务过程

在没有查找服务的情况下,客户可以使用一种替代的技术,称为点查找(Peer lookup)。这种情况下,客户可以发出与查找服务所用的同样的鉴别包,请求服务提供者进行注册。服务提供者将把客户当作查找服务来进行注册。然后客户可以从所有的注册请求中选择它所需要的服务,而抛弃不需要的服务。这种情况实质上是客户临时充当查找服务。

分布式的编程模式

Jini系统的编程模式也是分布式的,包括租用(leasing)、分布式的事务处理(distributed transactions)和分布式的事件处理(distributed events)三种重要机制。

租用机制使客户对服务的访问是基于租约的,租约保证了一段时间内的授权访问。租约必须在服务的使用者和服务提供者之间进行协商,这也是服务协议的一部分。租约在到期之前不续约的话,资源将被释放。租约可以是唯一的,也可以不是唯一的,非唯一租约答应多用户共享资源。

一系列的操作都包装在一个事务中,而不管这些操作是在一个单一服务内还是跨越多个服务。Jini的事务接口提供了一服务协议用于协调两阶段提交(two-pahse commit)。事务由使用这些接口的服务实现。

Jini结构支持分布式事件,一个对象可以答应其它对象注册对此对象感爱好的事件,并且在该事件发生时得到通知。这使得基于事件的分布式程序能以有多种可靠性和扩展性保证的方式编写。

基础结构是编程模式的基础,同时也利用了编程模式的各种机制。某一服务若想加入到查找服务中,它必须租用查找服务中的入口,因而查找服务就能够准确反映当前所有的服务。假如有服务加入或离开查找服务,相应的事件就会发生,而所有对此类事件感爱好并注册过的对象将得到通知。编程模式建立在由基础结构所支持的代码移动性能之上。

基础结构以及使用该基础结构的服务都是存在于Jini系统实际环境中的计算实体。服务使用了一组接口,这些接口定义了可以在服务和基础结构之间通讯的通讯协议。这些接口结合在一起就构成了Java语言编程模型的分布式扩展,也就是Jini编程模型。Jini与Java的关系如图6所示。

图6 Jini是Java在分布式环境中的扩展

Jini系统中服务之间的通讯主要是通过远程方法调用(RMI)来实现。RMI是传统的远程过程调用机制在Java语言中的扩展,RMI既可以把数据也可以把代码封装成对象在网络上进行移动,大部分Jini系统的简单性就是这样实现的。

Jini系统安全模型的设计是以两个概念为基础的:负责人和访问控制列表。被访问的Jini服务往往代表着某些实体负责人??通常能追溯到系统中的非凡用户。某一服务可以请求访问其他服务,由与实现该服务对象相连的访问控制列表决定。

Jini系统的关系如图7所示。

图7 Jini结构层次

基础机构、服务和编程模型的结合,其共同工作的设计以及相互构造的特点,使得整个系统简单化、统一化、易于理解。

广阔的应用前景

Jini技术的出现为数字化电子设备和现有计算机网络之间的连接构筑了一条通道,各种电子设备的联网将产生许多服务,生成新的经济增长点,推动计算机产业和信息家电产业的发展。目前,美国Sun公司已和日本的索尼、夏普、东芝、日立,荷兰的飞利浦等八家公司,联合研制开发基于Jini技术的家电产品。而对于国内的家电厂商和计算机厂商来说,需要联合起来,进行家电的数字化改造和家电联网要害技术的研究开发,争取在后PC时代的竞争中处于有利的地位,Jini技术的出现提供了一条非常重要但并不是唯一的道路。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有