物联传媒 旗下网站
登录 注册
RFID世界网 >  技术文章  >  其他  >  正文

RFID应用系统通过Web服务传输数据的研究与实现

作者:华北计算技术研究所 蒋武洲
来源:RFID世界网
日期:2007-10-22 16:25:53
摘要:RFID技术由于自身的优势已经越来越受到人们的重视,其应用系统也开始广泛使用。在RFID应用系统中需要一种快捷有效的方式在互联网上传输数据。研究了使用WebService技术提供不同平台间的互联,可以很好的解决RFID应用系统中对数据传输的需求,解决企业内部之间、不同企业之间的信息交互,使RFID应用系统更有效地运作。
0 引 言 

     无线射频识别技术(RFID)作为一种新兴的自动识别技术,近年来在国内外已经得到了迅速发展。它是具有精度高、适应环境能力强、抗干扰强、操作快捷等许多优点。Web Services(Web服务)也是近年来在信息领域备受关注的技术,互联网通过WebServices技术可以跨越企业间的界限。RFID使得获取物品信息更加简便和灵活,商业应用系统采用此技术后可以更有效的掌握物品属性以及流向等信息,这些数据通过互联网就可以在不同的系统间传递,而WebServices技术能使网络上不同端点更容易地共享实时数据和事务处理。因此RFID与Web Services的结合很有必要。 

    本文介绍RFID 系统的组成、工作原理和系统的应用情况,以及WebService的基本定义和组成。阐述了RFID与Web.Service结合的必要性。研究了RFID应用系统中使用WebService传输数据的过程,并介绍如何实现其功能。并对以上研究和实现进行总结。 

1 基本概念 

    1.1 RFID系统组成、工作原理和应用前景 
    射频识别技术(radio frequency identification,RFID)是自动识别技术的一种,即通过无线射频方式进行非接触双向数据通信对目标加以识别。它相对于传统的识别技术有非接触式、可擦写信息、更大的读写距离、大容量(相对条形码)、无需人工干预即可完成信息输入和处理、可多个识别、可工作于各种恶劣环境等突出优势,能够广泛应用于生产、物流、交通、运输、医疗、防伪、跟踪、设备和资产管理等需要收集和处理数据的应用领域,并被认为是条形码标签的未来替代品。 

    RFID系统基本都由电子标签Tag、阅读器Reader和应用系统Processor这3大部分组成的。电子标签具有智能读写和加密通信的功能,它是通过无线电波与读写设备进行数据交换,工作的能量是由阅读器发出的射频脉冲提供。标签阅读器可将主机的读写命令传送到电子标签,再把从主机发往电子标签的数据加密,将电子标签返回的数据解密后送到主机。数据交换与应用软件主要完成数据信息的存储及管理、对卡进行读写控制等。 

    RFID的基本工作原理(如图1所示)是利用射频信号和空间耦合(电感或电磁耦合)传输特性,实现对被识别物品的自动识别。标签阅读器发射电磁波,而此电磁波有其辐射范围,当电子标签进入此电磁波辐射范围内,电子标签将阅读器所发射的微小电磁波能量存储进而转换成电路所需的电能,并且将存储的识别资料以电磁波的方式传送给阅读器作确认及后续与应用软件进行数据交换。 

     随着RFID技术的发展演进以及成本的降低,未来几年内RFID技术主要以供应链的应用为赢利的主体,全球开放的市场将为RFID带来巨大的商机。从采购、仓储、生产、包装、卸载、流通加工、配送、销售到服务,这些供应链上的业务流程和环节运转时,企业必须随时实地、精确的掌握供应链上的商流、物流、信息和资金的流向,才能够使企业发挥出最大的效率和效益。RFID技术正是有效解决供应链上各项业务运作资料的输入与输出、业务过程的控制与跟踪,以及减少出错率等难题的一种技术。 

    1.2 WebService概述和体系结构 
    Web Service是微软提出的基于互联网的开发模型,一经提出即收到业界的广泛推从。体系结构描述,其定义为:Web Services是自包含的、模块化的应用程序,它可以在网络(通常为Web)中被描述、发布、查找以及调用。Web服务的一个主要思想,就是未来的应用将由一组应用了网络的服务组合而成。Web Services体系结构是面向对象分析与设计(OOAD)的一种合理发展,同时也是电子商务解决方案中,面向体系结构、设计、实现与部署而采用的组件化的合理发展。下面就来看一下WebServices的体系结构一面向服务的体系结构(SOA)如图2所示。 

     从图2可以看出,SOA结构中共有3种角色:①ServicePro.vider:发布自己的服务,并且对使用自身服务的请求进行响应。②ServiceBroker:注册已经发布的ServiceProvider,对其进行分类,并提供搜索服务。③Service Requester:利用Service Broker查找所需的服务,然后使用该服务。 

    SOA体系结构中的组件必须具有上述一种或多种角色。在这些角色之间使用了3种操作:①Publish操作:使Service Provider可以向Service Broker注册自己的功能及访问接口。②Find操作:使Service Requester可以通过Service Broker查找特定种类的服务。③Bind操作:使Service Requester能够真正使用Service Provider。 

2 RFID和WebService的结合 

     由于RFID本身特点,在RFID的应用系统中的信息来源主要是每个单元物品信息对象,而物品数量众多以及物品信息的多样化,导致整个系统所要处理的数据量和数据形式大为增加,同时系统之间的信息交互和管理也更加复杂了。Web.Services技术是将一个现实世界映射到一组服务的集合上面,RFID数据大都是与现实物理世界的物体紧密相关,把对数据的处理功能以服务的形式进行提供,系统将部分功能交给Web服务来处理,将大大减轻了RFID应用系统对数据的管理与传输的负担,减少系统本身的复杂性,让系统只需处理部分功能,而其它的可以交给有实力和技术的Web服务提供商。同时由于Web服务的自身特点,和RFID应用相结合,可以做到与语言无关、协议无关、平台无关。如果你有个应用程序通过Web服务发布,那么不仅仅是公司内部可用(可以是其它的C/S或者B/S的应用程序),其它连到lntemet上的公司也可以使用,屏蔽了不同语言之间的差异。因为底层是Http协议,所以可以轻松穿越企业防火墙,而且Web服务是运行在Internet上的,在世界任何地方都可轻易实现,这样其运行成本就相对较低。 

3 研究与实现 

     3.1 RFID应用系统结构与功能设计 

    本文涉及到RFID应用系统的数据流程大致如图3所示。

       图3中的应用环境为物流管理系统,将从RFID标签获得的信息通过Web服务上传给企业后台系统,用来进行全局数据的统计和管理。应用系统获得标签信息通过以下几个步骤:①RFID标签上储存有物品信息,流转过程信息;②机具通过读取设备获得RFID标签上的信息,处理成系统规定数据发送给应用系统;③应用系统得到数据,进行处理。同时将部分要写入标签的信息发送给机具;④机具将收到来自应用系统的信息写入RFID标签中。 

    RFID应用系统接收到标签数据后,就可以根据需要对数据进行处理。同时为了能和本企业的中央后台系统或其它企业系统交流信息,本地系统需要通过Web服务来进行互联互通,大致步骤如下:①提供Web 服务的系统首先根据需求制定服务程序以及服务的对外访问地址和接口;② 应用系统将需要上传的信息组织好,通过wleb服务公布的地址以及交互API接口函数的规定,把数据发送给接受方;③ 接受方收到数据后进行相关处理,同时会返回给应用系统数据是否传输成功和处理后需返回的数据。 

    RFID应用系统的数据通过Web服务传输过程是本论文的重点,其实现过程在下节有具体描述。 

    3.2 系统中Web服务的实现过程  
    3.2.1 举出实例及定义数据 
     这里举一个Web服务的应用实例来进行说明其实现过程。将RFID标签应用于工厂准备出库的每一箱货物上,通过读写机具把表1的信息写入标签中。 

     给标签写入信息并且贴在每一箱货物上,之后将货物送往购买厂家的库房。货物到了目的地后进行入库,用读写机具将每个标签的信息读取,并且传给购买厂家的应用系统,系统对数据进行保存和处理,之后将其中部分信息传给Web服务,由Web服务来进一步处理。传给Web服务的数据如表2所示。 

    Web服务收到以上信息后,来分别对每一类信息进行处理判断,并且返回处理结果。表3是处理内容及返回结果。 

      购买方的系统接受Web服务的返回数据,根据结构决定是否接受货物。总的来说,这个Web服务的内容就是把RFID应用系统上传来的数据进行进一步的处理,之后返回处理结果。 

     3.2.2 Web服务的实现 
     (1)根据需求生成Web服务 
     根据以上的需求,提供Web服务的服务商在服务器端编写数据处理程序,并按照应用系统将上传来的数据类型来定义Web服务的接口,并生成WSDL文件,来描述Web服务。WSDL(web servicedescriptionlanguage)既web服务器描述语言是用XML文档来描述wleb服务的标准,是Web服务的接口定义语言。在WSDL文件中对数据和接口描述如下: 




     WebService经由服务器发布后,应用系统就可以访问这个服务了。 

     (2)服务发布后,应用程序根据API接口来组织数据企业RFID应用系统大多数是运行在Windows系统下,因此这里的应用系统也是Windows桌面程序,系统中需要有一个与Web服务连接功能的模块。通过得到Web服务的WSDL文件,就可以来定义上传数据的类型和接口。这里用MicrosoR Visual Studio C++来编写Web服务的客户端。 

     将WSDL通过工具转换成Visual Studio C++可以引用的类型为cpp和hpp的代理类文件。会生成以下文件:“Upload.Bean.hpp”、"UploadBean.cpp”、 ResultBean.hpp”、 Result-Bean.cpp”、“Wslnterface.hpp”、“Wslnterface.cpp”。在程序的头文件中引入代理类,编写上传的数据的程序。如何组织和准备数据部分就不叙述了,这里讲一下比较关键的部分,就是调用代理类中定义的上传函数来进行上传数据的操作。在Wslnterface.hpp有这样一个定义: 

     STORAGE_CLASS_INFO ResultBean_Array puttaginfo(XSd_string Value0,xsd string Value1,XSd_long Value2,xsd_int Value3,xsd_ int Value4); 

     这个名为“puttaginfo”的函数就是我们用来连接Web服务上传数据的函数,其中的参数(Value0,Value1)对应的是上传的用户名和密码,(Value2,Value3,Value4)对应的分别是我们要上传的“标签序列号(TagID)”、“货物类别代码(ProductionID)”和“生产厂家代码(Factory ID)”。同时这个函数还有返回值,返回一个“ResultBean_Array ”的值,就是一个结果集数组,里面包含上面提到的一些处理结果。知道这个函数的定义后,在程序中就用这个函数来上传数据。 

     (3)进行数据传输 
     数据传输的过程包括应用系统上传数据和服务器接收数据并返回处理结果两个部分。应用系统对WebService的调用,是通过SOAP协议进行的。简单对象访问协议(SOAP)提供了标准的远程过程调用(RPC)方法来调用WebService。而SOAP也是基于XML和XSD的,XML是SOAP的数据编码方式,对WebService的调用也可以是跨平台的。因此,这里应用系统上传数据时所调用Web服务可以来自J2EE的后台系统。 

    系统通过调用以上WebService接口函数来与J2EE后台系统传输数据,只要网络联通并且所上传的地址与数据结构正确,程序就可以得到后台系统的返回值。应用系统再依据“ResultBean Array”这个返回数组里记载的每个物品“标签序列号”(TagID)所对应的“序列号标志位”(TagSign)和“生产厂家及货物标志位”(ProductionSign)的数值,来判断这次通信是否成功以及其它信息。  

    最后,应用系统根据返回信息以及业务需求来进一步对物品标签信息行进分析和处理。这样一个RFID本地应用系统通过Web服务上传标签数据到后台系统的整个过程就完成了。 

4 结束语  

    RFID将物理世界与计算机世界集成在一起,还将网络边缘的硬件、嵌入式软件及中间件与企业应用系统联系起来,完成了分布数据向企业应用的集成,是IT技术的又一次延伸。将WebServices技术应用于RFID系统的已经被人们普遍认同,在很多组织及研究部门的共同努力下这方面也取得了很大的进展。本文对RFID应用系统中使用Web服务来传输数据,实现企业本地与后台系统的联通做了探讨和简单地实现,这种方法可以用在各种不同的RFID应用系统中,对于互联网上的数据传输是一种非常有效的解决方案。 

参考文献: 
 [1] EricArmstrong.JavaWebService教程[M].北京:电子工业出版社,2003. 
 [2] 赵庆.RFID技术应用领域分析及展望[J].智能识别,2005(9):45.48. 
 [3] 蒋皓石,张成,林嘉宇.无线射频识别技术原理及其应用和发展趋势[EB/OL].http://tech.rfidchina.org/rfid-info-3276-150.htm1. 
 [4] 李宏,李苏剑,李蒙蒙.RFID在物流供应链管理中的应用[J].物流科技,2004,27(1 1):22.24. 
 [5] 赵毅强,曾隽芳.WebServices在RFID系统中的应用综述[EB/OL].http://www.rfidworld.com.cn/jswk/news/2005829l91.htm. 
 [6] 石峰,马镭,王志君.RFID.物理世界与IT系统的桥梁[EB/OL].http://www.rfidworld.com.cn/tech/20065985514726.htm. 
 [7] Ashok Banerjee,Jefrey Flammer,Puneet Agarwa1.RFID技术挑战和参考架构[EB/OL].http://dev2dev.bea.com.cn/techdoc/2005l20601.htm1. 
 [8] 徐春金.RFID 项目常见问题分析[EB/OL].http://www.rfidworld.com.cn/tech/20061O884O25788.htm. 
 [9] 刘艾秋.RFID数据高效管理七原则[EB/OL].http://www.rfidworld.com.cn/tech/20061O13ll734792.htm.