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音频文件