Jini与蓝牙技术的结合应用
3 Jini与蓝牙技术的结合应用方案
3.1 Jini与蓝牙技术的比较
Jini与蓝牙技术是两种互补性很强的技术。蓝牙技术主要实现邻近的电子设备无线连接,是硬件设备的无线互连协议;Jini则是实现分布式软件服务(包括无线设备)的软件技术。蓝牙技术是对固定的一组协议间互操作的静态说明;而Jini的"移动代码"代理服务对象可以动态地互操作。两者在ISO/OSI的体系结构中的位置如图2所示。Jini主要位于表示层和会话层,而蓝牙的协议栈贯穿了整个体系结构。Jini的发现协议和分布式安全模型加强了蓝牙技术的发现进程和安全管理模块。
3.2 应用方案
Jini的注册和注销服务与蓝牙设备在网络中的加入和退出非常类似。Jini控制网络服务的租借,始终使查找服务保持最新状态。在下一节中将详细描述应用实例,本节进行方案设计。
通常有三种形式来实现其Jini网络功能:基于完整虚机的设备实现,基于嵌入式虚机的设备实现和基于共享虚机的设备实现。
基于完整虚机设备实现中的设备指一般的通用设备,具有网络连接、较强的计算存储功能,能够运行完整的 Java虚机环境。在这种设备上能够实现Jini系统的所有功能,如各种协议功能、RMI、租借更新功能、动态代码移动功能、分布式安全机制等。Jini是位于操作系统和虚拟机之上的功能层,多个设备随机联网形成一分布式资源共享系统,网络传输协议一般由操作系统分别采用TCP/IP协议有线方式和基于蓝牙协议的无线连接方式两种。本设计方案就是基于蓝牙协议的无线连接方式实现。图3描述了一种应用方案。服务客户、设备和网络代理通过蓝牙网络进行连接,同时也支持TCP/IP协议。网络中包含可以访问的设备数据库、查找服务。蓝牙网络通过SDP协议负责设备加入网络,使设备能够查询、发现最邻近的设备,并对这些设备进行访问,从而实现远程控制。远程控制实现蓝牙网络与Jini的查找服务对话、询问网络可用设备的功能。查找服务保持网络中运行的所有设备的动态列表,如:PDA、电话和CD播放机等。当服务客户(远程控制)请求时,所有这些设备将相关的驱动程序发送到服务客户。当设备不再用时,通过租借终止对网络发出警告,这是Jini的功能,主要用Java的RMI来实现。这种通信和保持服务更新的方式使Jini与蓝牙网络进行了很好的结合。
4 应用实例
基于Jini与蓝牙开发了一个无线网络点歌器JBMP3。它具有以下功能:播放客户选取的歌曲、客户端图形界面、个性化定制客户端播放列表。系统结构如图4所示。它由一个能播放音乐文件(mp3文件)的服务端程序、若干能控制服务程序的客户端程序(远程控制)和一个能支持Jini服务的查找服务组成。运行的网络是TCP/IP网络。
对应用结合附图作如下详细说明:
(1)点歌器发布一个服务自己拥有的代理对象。例如,能够按先进先出顺序播放音乐文件。
(2)客户端程序--通用远程控制,询问查找服务网络能提供什么服务。
(3)查找服务通过与请求相匹配的代理对象副本答复客户端的询问。
(4)客户端所有的请求都被送到同样的服务器(点歌服务器)。请求通过Jini网络5到达点歌服务器,服务器通过各自的链接(4)更新与之相连的代理对象。同时点歌器的更新以一致的形式显示出来。
设计主要分为三部分:远程控制接口设计、客户端设计、服务器设计。
4.1 远程控制接口产生的代码
import net. Jini. core . lease.*;
public inteRFace RemoteControl {
public String getName ( );
public java.awt .Component. getDisplay( );
public Lease lease (long time)
throws
java. rmi. RemoteException,
LeaseDeniedException,
UnknownLeaseException;
}
getName ( ):通用远程控制需要知道服务的名称以便能在图形界面上显示服务的正确名称。
getDisplay( ):通用远程控制需要一个图形界面来控制已经发现的不同服务。
lease (long time):通用远程控制需要知道在多长的时间内被允许使用某一服务(租借时间)。
4.2 客户机设计
客户机应该仅需作有限的操作,而让服务器作大部分的工作。因为使用很少资源的客户机在慢速处理器和小存储器的设备上运行只适合象PDA一类手持设备或蜂窝电话,因此在这里客户机必需支持一些操作。它们是:
(1)发现已经在网络上注册的服务的能力。例如,询问查找服务可用的服务。
(2)当一个服务在网络上可行时被告知的能力。例如,发出需求后从查找服务接收代理对象。
(3)租借任意一段时间(非无限长)服务器资源的能力。这由客户机的租借管理器完成。
(4)接收代理对象,而后经接口向客户机显示的能力。本文是在通用远程控制中的Java面板上实现的。
客户机接口应该能显示网络提供的不同服务。当前播放列表中的歌曲队列应在显示器上自动更新。
4.3 服务器设计
因为客户机功能不强,一些附加的功能就必需在服务器上添加。因此服务器至少必需支持以下操作:
(1)提供一个服务。如代理对象。
(2)发现查找服务和在网络上公布代理对象。
(3)写服务身份(对每一个代理独一无二)对象到文件。
(4)更新租借。
(5)断开租借已经到期的客户机联接。
上面几点是应用的核心。这几点组成了用于构建Jini应用的基本通信特征。服务器应该能加载目录和发现所有的mp3文件。服务器是物理点歌器,它应具有某种硬件用来播放mp3音频文件。
Jini和蓝牙技术的结合应用在通信环境中有以下优点:首先,不需要网络连接线;其次,不需要安装设备驱动程序;再次,一个设备远程控制另一个设备。这些特点使得网络更容易连接和管理。虽然蓝牙技术开发和生产的代价较高,Jini是SUN公司的免费产品,很容易掌握应用编程接口,并可进行分布式计算。随着蓝牙技术和Jini技术规范的发布、不断推广与相互结合,生活中各种电器的互连将变得愈来愈方便,Jini的即插即用功能和蓝牙的无线连网使得设备的增减变得非常简单,使网络的建设可以分阶段逐步完善而不必一次到位,满足了一般用户的需求。Jini技术和蓝牙的结合,必将进一步推动信息无线网络的快速发展,成为信息网络又一重要应用领域,将极大地改变人们的生活方式,促进普适计算时代的到来。
- 蓝牙技术的应用前景(02-07)
- 蓝牙技术(02-07)
- 蓝牙的倒F型天线设计(08-02)
- 无线网络IEEE 802.11ac是怎样的技术?(02-24)
- 无线网络兴起,台湾地区MCU供应商掌握新商机(01-06)
- 无线网络安全性设计(05-28)