信息化 频道

RFID中间件系统关键模块的设计与实现

    3 系统关键模块实现

    本系统基于J2EE技术开发,其中组件管理基于JMX管理框架,包括:读写器组件、数据采集端组件、数据处理组件等;RFID数据消息的传递基于JMs消息服务体系。

    本文的RIFD中间件系统开发工具采用Eclipse3.2,应用服务器软件采用JBOSS4.0,其中JBOSS4.0自带Web容器为Tomcat5.5。管另服务器端采用了基于Struts的MVC多层次结构框架,数据服务层则采用MySQL5.0数据库。SFID中间件系统中的关键模块是具有典型开发意义的读写器管理组件和数据处理组件,下面对读写器管理组件中时间服务的实现和数据处理组件的实现进行描述。

    3.1 读写器模块时间服务

    JMx(Java Management Extensions,Java管理扩展)是一个为应用程序、设备、系统等植入管理功能的框架。在JMX规范中,管理组件是一个能代表管理资源的Java对象,遵从一定的设计模式,实现该规范定义的特定的接口。该定义保证了所有的管理组件以一种标准的方式来表示被管理资源。管理接口就是被管理资源暴露出的一些信息,通过对这些信息的修改就能控制被管理资源。管理接口包括:能被接触的属性值;能够执行的操作;能发出的通知事件等。

    在本系统中将每个读写器模块的远程方法调用封装为一个管理组件(MBean)作为JMX服务器的实例注册到JMX服务器中。通过JMX框架对读写器进行监控和管理,使RFID中间件系统能提供管理、监控读写器的功能。本部分描述为读写器管理组件添加时间服务,以达到定时控制读写器的目的。JMX时间服务在指定的日期和时间触发消息;也可以在一个固定间隔重复触发消息。时间服务由一个MBean实现并可以管理,能够发送它指定的TimerNotification类的消息实例。javax.management.NotificationListener由想要接收通知的对象来实现,实现方法handleNotification。对于定期通知,则使用固定延迟执行方案,如在Timer中指定的那样。为了使用固定速率执行方案,要使用addNotification方法。

    3.2 数据消息处理组件

    JMS(Java Message Service)是访问企业消息系统的标准API,定义了Java中访问消息中间件的接口,但JMS只是接口,并没有给予实现,实现JMS接口的消息中间件称为JMS提供者(JMS Provider)。JBoss JMS的服务体系结构中,JMS Provider叫做JbossMQ。

    在JMS框架中运转的方法如下:

    (1)得到一个J-NDI初始化上下文(Context)。
    (2)根据上下文来查找一个连接工厂。
    (3)从连接工厂得到一个连接(Connect)。
    (4)通过连接来建立一个会话(Session)。
    (5)查找目的地(Topic/Queue)。
    (6)根据会话以及目的地来建立消息制造者(TopicPublisher/QueueSender)和消费者(TopicSubscrib.er/QueueReceiver)。

    JBossMQ是通过xml文件 bossmq.destinations.service.xml进行配置的。以下是获得JBOSS JNDI初始化上下文(Context)的代码:

    Hashtable props=new Hashtable();
    props.put(Context.INITIAL_CONTEXT_FACTORY,

    "org.jnp.interfaces.NamingContextFactory");
    props.put(Context.PROVIDER —URL,ip+":1099");
    props.put("java.naming.rmi.security.manager","yes");
    props.put(Context.URL—PKG—PREFIXES,"org.jboss.naming");
    Context context=new InitialContext(props)

    下面将描述创建一个MBean来实现一个数据处理节点。消息组件可以按照MBean来部署。消息处理组件执行功能:从源队列中获取消息,对消息执行处理,然后将结果消息放置到目标队列。

    通过应用JMX体系结构,可以公开类方法,这样他们可以在运行时被发现和部署。通过一个简单的可处理接口,可以在JMS的MessageProcessor消息逻辑和OrderProcessor类的数据处理逻辑之间创建一个关注点分离。这就降低了JMS以及数据处理逻辑类之间的耦合度,并增加了消息代码的可重用性。OrderProcessor类是数据处理逻辑,其中包括过滤、格式转换、加解密、路由等。

    4 结束语

    RFID中间件是RFID系统中的重要组成。本文针对REID中间件的功能需求,从REID中间件、系统总体结构、软件设计与实现等方面系统地阐述了一种基于J2EE的分布式RFID中间件的构建方法,实现了J2EE技术与RFID技术的结合;综合应用JMX,JMS,Struts技术,设计并实现了RFID中间件系统中的关键模块,具有一定的工程指导和借鉴作用。

0
相关文章