35、使用 Jini 集成家庭自动化到分布式软件系统

使用 Jini 集成家庭自动化到分布式软件系统

1. Jini 基础与查询机制

Jini 中的远程代理设计模式如图 2(a) 所示,服务总是通过其接口被引用,代理可作为服务的本地表示,将每个方法调用通过远程方法调用重定向到服务。如图 2(b) 所示,客户端可直接访问所需服务。

客户端可通过查找服务找到所需服务,查询时可组合三种元素来寻找服务:
1. 特定服务的唯一标识符 :若已知所需服务的编号,这是最简单的方式。
2. 基于服务接口搜索 :Jini 服务实现的接口非常重要,它们定义了服务类型和客户端与之交互的方式。
3. 模板匹配查询机制 :使用属性进行搜索,属性是附加到 Jini 服务的对象,用于描述服务。执行查询时,只需通过实例化一个模板属性来定义查询边界,该模板属性包含你希望服务具有的值,然后在查询中使用它。后两种查询机制强大,因为接口和属性的多态性可用于缩小或扩大搜索范围。例如,若 ColorPrinter 和 BlackWhitePrinter 继承自 Printer,使用普通打印机的接口时,彩色打印机和黑白打印机都会被找到。

2. 使用 Jini 的挑战与解决方案

理论上,将 Jini 引擎集成到框架中可满足系统的分布式需求,但实际上,由于 Jini 没有高级 API,每次创建 Jini 服务或客户端都需重写大量代码,导致代码和开发时间开销大。因此,开发了一个小型框架,可轻松用于每个 Jini 服务。

框架包含一个基本类 (BasicService),每个新的 Jini 服务都需扩展

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值