180 likes | 385 Views
Design an OSGi Extension Service for Mobile RFID Applications. 一种移动 RFID 应用的 OSGi 扩展服务设计. 摘要. 移动 RFID 系统越来越多地应用在工厂和电子商务。由 于移动设备( PDAs ,移动手机等)的内在限制,比如速 度、内存和存储空间的限制,需要一种特殊的设备去支 持这些应用,比如在移动设备中使用 RFID 。然而,目前 大部分的机构把研究重点都放在运行与桌面系统和服务 器的 RFID 中间件,很少关注移动 RFID 中间件。我们提出 一个基于组件、面向服务的框架,它能够让开发构建个
E N D
Design an OSGi Extension Service for Mobile RFID Applications 一种移动RFID应用的 OSGi扩展服务设计
摘要 移动RFID系统越来越多地应用在工厂和电子商务。由 于移动设备(PDAs,移动手机等)的内在限制,比如速 度、内存和存储空间的限制,需要一种特殊的设备去支 持这些应用,比如在移动设备中使用RFID。然而,目前 大部分的机构把研究重点都放在运行与桌面系统和服务 器的RFID中间件,很少关注移动RFID中间件。我们提出 一个基于组件、面向服务的框架,它能够让开发构建个 性化的移动RFID中间件,以支持不同的需求。我们还开 发了移动RFID服务扩展服务(MRSE),一个OSGi平台 的RFID扩展服务。
1、介绍 目前继续最好的移动设备仍然存在内在的限制,和PC 和笔记本比起来还是差很远的。一些移动设备支持不同 的无组件平台,所以移动设备的有限资源,比如CPU速 度,内存和存储空间是需要考虑的。例如,预安装所有 可能用到的服务,这是很不灵活的,因为移动设备有内 存限制,所以在移动设备使用RFID服务需要有特殊的支 持。然而,目前大部分的机构把研究重点都放在运行与 桌面系统和服务器的RFID中间件,而很少关注移动RFID 中间件怎样减低耦合度和简化实现。
1、介绍 为了克服这些限制,我们提出一个基于组件、面向服 务的框架,它能够让开发构建个性化的移动RFID中间 件,以支持不同的需求。我们还开发了移动RFID服务扩 展服务(MRSE),一个OSGi平台的RFID扩展服务。这 个框架允许设备安装通过管理控制台安装需要的组件。 从这个意义上说,由于组件能够按需定制,所以能够克 服移动设备存储空间小的缺点。这个OSGi框架是轻量级 和平台独立的,所以能够兼容运行不同操作系统的设备。
Ⅱ.框架概述 MRSE有5层组成,如图1所示。 连接层:连接层提供一个基于组件的通用的连接框架。它 能让移动应用程序和接入移动设备、扩展对等点和服务 器的阅读器透明地通信。
Ⅱ.框架概述 设备驱动层:移动设备层提供一个抽象设备接口,以让移 动RFID应用程序以统一的方式接入和控制由不同厂家生 成的标签阅读设备。 数据处理层:数据处理层过滤和和剔除冗余的阅读数据以 及不感兴趣的数据,汇聚数据,并提供高级的数据。 应用级接口层:用户利用应用级接口设置感兴趣RFID数据 和定义报告结构的,这些要求的数据会被分发到数据处 理层。应用级接口接收数据处理层的返回结果,以某种 格式产生事件报告。 系统管理层:系统管理层提供配置、监测和管理组件的功 能。
Ⅲ.设计与实现 3.1设计原则 我们提出的框架使移动RFID中间件的个性化构建能够 满足不同的需求和支持不同的目标平台,这个框架遵循 这些原则:层次化设计、面向服务接口设计、平台独立、 可扩展性、可配置。
Ⅲ.设计与实现 3.2 组件设计
Ⅲ.设计与实现 MSRSE包含下面五个部件: 连接框架:由通用层和多个通信组件(如Comm组件、 bluetooth组件)组成。通用连接层通过标准API抽象低级 通信交互。每个通信组件在不同操作系统中有它对应的 本地实现。同时它可接受另外的通信组件做为run-time plug-in,因为有时需要扩展它的操作。 连接框架提供低级IO操作和高级IO操作。 低级操作包括基本操作如open/close连接,input/output流 等。
Ⅲ.设计与实现 高级IO操作包括两个通信模型:1)查询模型:使用同步 调用,连续的读写操作,当缓冲有数据或者超时时,查 询返回。通过查询模型,调用者不需要关心IO流或者处 理阻塞读取。2)订阅/通知模型:使用异步调用,让调用 着定义回调函数(或者叫侦听方法)。如果他们感兴趣 的事件发生,框架就调用这些方法。通过订阅/通知模 型,调用者在进行IO操作时不需要阻塞读取。
Ⅲ.设计与实现 设备框架:不同的设备供应商的设备都可能被用到。然 而,不同设备的设备驱动API都不尽相同。如果没有公共 的标准API,居于这些设备的应用程序将失去它的可交换 行。当换用其他供应商的设备时,需要重新编写程序。 为了解决这个问题,设备框架定义了一个通用设备接 口,屏蔽设备和API的不同。 这些接口根据功能组成模块,包括以下三类: 初始化和关闭、配置、数据
Ⅲ.设计与实现 • 数据处理器:RFID阅读器能它的阅读范围内的一个或者多个阅读周期内产生大量的数据。它提供一个数据队列缓冲阅读数据,数据处理器从队列中取得数据,根据事件请求解析器的配置过滤和汇聚数据。过滤组件和汇聚组件支持通常的表达以配置他们的行为。 • 事件处理器:它定义一个应用级接口,让应用程序注册和接收应用级RFID事件。这个接口兼容EPCglobal ALE规约。它包含两个子组件:(1)事件请求解析器,解析用户的事件请求和配置相关的组件,比如过滤,汇聚,设备驱动和报告发生等组件。(2)事件报告发生器,根据请求创建事件报告,发送给用户。
Ⅲ.设计与实现 • 管理器扩展:管理扩展组件提供友好的用户接口以控制系统,管理阅读器,和执行OSGi相关操作。 • (1)系统控制:配置和开启移动设备的特殊服务,如果这些服务和相关的服务没有被安装,它会从本地或者远程服务器安装它,如果操作者开启“WJMPR5000 阅读器”,这个服务会先安装和开启“Comm 服务”。 • (2)阅读器管理:监视和管理连接到移动设备的阅读器,它能提供阅读器状态和分析阅读的数据。 • (3)OSGi操作:封装友好的基本OSGi命令,通过它,用户可以查询、安装、卸载、升级、启动和停止系统组件。
Ⅲ.设计与实现 3.3实现 设计模式: 在实现连接框架和设备框架的时候我们定义一中设计 模式,叫做“组件工厂模式”。它包含三个重要元素,如图 3所示。
Ⅲ.设计与实现 • (1)服务接口组件:它一个接口集,描述怎样得到服务(工厂接口)和这些服务是怎样工作的(服务接口)。 • (2)工厂实现组件:提供工厂接口的实现,提供一些实用服务,用于特殊的服务的实现。这个组件是组件工厂模式的核心部分。 • (3)特殊服务实现组件:实现服务接口和提供实际服务。其中包括一个factory,它能够被工厂实现组件调用以构建一个服务实例。一个系统通常有多个特殊服务实现组件以提高不同的服务。
Ⅲ.设计与实现 我们能得出一个结论:当有以下情况时使用组件工厂模式: --存在多个服务实现,这些应用需要通过声明配置接入不同服务。 --应用需要通过统一接口获得服务,以及通过统一接口调用不同服务 实现。 连接框架:连接框架设计基于组件工厂模式,包括三个部分: (1)连接服务接口:定义连接服务接口供用户使用。 (2)连接工厂实现组件:这是一个高级组件,提供给用户用以创建实际的连接。 (3)特殊连接实现组件:提供具体的连接服务,比如Comm服务。
Ⅲ.设计与实现 设备框架:它的设计也是基于组件工厂模式,包括三个部分: (1)设备服务接口:定义设备服务接口工用户使用。 (2)设备工厂实现组件:这是一个高级组件,提供给用户用以创建阅读器。 (3)特殊阅读器实现组件:提供具体的阅读器,比如WJMPR 5000 RFID卡、CF卡和模拟器。
Ⅳ.总结 本文中,我们提出MRSE的层次框架,探讨了基于组 件、面向服务的框架设计细节,MRSE是OSGi平台的扩 展,对下层环境隐藏复杂性。MRSE中的组件能够根据移 动设备的不同需求可选择地组装。它是轻量级的,灵活 的,平台独立的,支持移动RFID解决方案的快速建模和 开发。