图1.1中给出了Sun公司RFID应用整体解决方案中的中间件软件架构及其相关产品在架构中的定位。
图中最左侧的Java System RFID Software是与RFID读写设备直接打交道的软件套件。主要的功能包括RFID的reader和sensor数据的提取、过滤和加工以及同其他应用的集成接口。
中间的黄色部分是Sun公司的SOA解决方案和软件架构。Sun公司在2005年收购了业界著名的SeeBeyond公司(SeeBeyond一直被Gartner评为SOA业界产品的前三强),将SeeBeyond公司的SOA/EAI产品同自己原有的JES(Java Enterprise System,一套功能丰富的中间件产品)整合,推出了CAPS(Java Composite Application Platform Suites)——一套全新的、功能全面、简单易用的SOA软件套件。
最右侧部分是来自多个厂商的、同RFID相关的B2B的应用。
从图中可以看出,在RFID整体解决方案中,不论是同设备打交道的RFID边缘中间件产品,还是作为搭建企业应用主干的业务集成系统,Sun公司都能够提供全面、领先的配套产品,并且从架构角度提供了基于业界标准的成熟解决方案。
当然,作为一个系统公司,Sun公司为合作伙伴所提供的不仅仅是软件解决方案,凭借Sun公司在主机系统、存储系统、操作系统、Java技术方面的深厚功底以及丰富的业界经验,Sun公司可以为合作伙伴提供全面的端到端的解决方案。图1.2中给出了Sun公司为合作伙伴所提供的全面的端到端的解决方案框架图。
本文将重点介绍Java System RFID Software部分。
Sun Java System RFID Software是Sun公司RFID解决方案中的主要中间件产品,图2.1给出Sun Java System RFID软件的架构

图2.1、Sun Java System RFID软件的架构
在图中,由虚线圈出的部分就是Sun Java System RFID软件包。在其左侧是RFID标签的reader或者sensor,每一个reader都可以连续不断的读取大量的标签并将所读取的数据信息传送给Java System RFID软件包,由Java System RFID软件包对数据进行处理。
Java System RFID软件包由两部分组成——Java System RFID Event Manager和Java System RFID Information Server。
Java System RFID Event Manager用来处理来自一个或多个RFID Reader、Sensor的数据流。在将数据进一步发送给相关的应用前,RFID Event Manager对数据进行过滤和集成的预处理。例如:一个贴有标签的物品在RFID Reader前,即使没有移动,也会被读取多次,产生许多冗余的数据。使用Sun公司的RFID Event Manager中所提供过滤机制,就可以以编程的方式抛弃在物品没有移动的时候所产生的读取数据,而仅当物品的状态有所改变时(例如:当物品移动或者有新的物品进入到reader的扫描范围内)才真正触发一个动作或者事件。RFID Event Manager还提供其他的过滤机制,可以通过编程的方式来实施特定的业务逻辑。借助于Event Manager所提供的过滤机制,相关的数据就可以被JES产品栈中的其他层面的软件持续性的使用了。
为了就近获得reader读取的信息,一些地理区域跨度较广的企业,例如:商场、配送中心或者仓库等,可以使用多个RFID Event Manager,也就是为每一场所配备一个RFID Event Manager,这种方式可以大大减轻网络通讯负载:使用Event Manager将过滤和处理过的数据通过网络发送,而不是将Reader直接连接到网络,减少通过网络传输的数据流量。除此之外,通过RFID Event Manager将Reader同网络隔离开也是基于安全因素考虑的一个良好的架构方式。
Sun公司的RFID Event Manager的主要功能模块包括:
nDevice Adapter:适配器允许来自不同厂商的设备能够同RFID Event Manager通讯和交互。
nFilter:过滤器能够过滤RFID设备所提供的冗余数据,还可以用来实施小规模的数据处理和业务逻辑。
nConnectors:RFID Event Manager中的Connector模块可以将相关信息发送到文件系统、JMS队列,XML语言,HTTP,SOAP消息,从而可以将RFID或者是非RFID的相关事件数据通知给外部系统。
nEnterprise Gateway: 该模块可以作为连接企业应用程序的公共接口。
nFailover: 由于Sun的RFID Event Manager是基于Java和Jini技术框架,服务的失效转移是其固有的技术特色。
Sun Java RFID Software中另一个主要的模块就是Java System RFID Information Server。Sun公司提倡使用整合技术将RFID Event Manager同EIS(Enterprise Information Systems)互连,这里所说的EIS包括传统的ERP,WMS(仓储管理系统),SCM(供应链管理系统)以及CRM系统以及一切希望使用RFID标签信息的系统。JES不仅为这种整合提供了丰富的技术支持手段,也为整合提供了丰富而成熟的功能模块和解决方案。
在图2.1中整个软件架构中的最下层就是由EIS系统所组成的,可以包括ERP, WMS,传统遗留的系统以及企业的私有信息系统。这些系统必须能够接收并集成来自标签标识物品的数据和事件。实际上,可以将RFID Information Server理解成将RFID Event Manager和现有的EIS以及其他的企业应用系统集成的集成层,由RFID Information Server提供了底层的RFID数据同高层业务应用的连接通道。将RFID Information Server置于RFID Event Manager和其他的企业应用之间就可以针对业务需求的变化、企业应用的变化提供最大的灵活性。
通过RFID Information Service可以获取的数据包括:
1、通过RFID Event Manager所获取的来自reader或sensor的数据
2、标签说标识的物品的特征数据,例如:制造日期、重量、失效日期等
3、产品目录信息。

图2.3、RFID Information Server架构图
Java ME(Java Micro Edition)是Sun公司提出的面向嵌入式设备的Java平台方案。基于Java ME,Sun公司提供了面向RFID设备的、支持EPCGlobal ALE(Application Level Events)规范的嵌入式软件包:Sun Java System RFID Software for Java ME Devices。该软件包提供了如下两方面的功能:
l在支持Java ME技术的RFID设备上直接的、智能的处理、过滤设备所产生的相关数据,大幅度减少了RFID设备向网络环境发送的数据流量。
l提供了远程管理RFID设备的软件接口,Sun Java System RFID Software for Java ME Devices能够同前面介绍的Sun Java System RFID Software无缝的集成,提供了以集中的方式来管理大量的分布式RFID设备的能力。
Sun Java System RFID Software for Java ME Devices的具体功能包括:
l记录捕获EPC code的时间和位置
l定时处理服务
l同步或者异步的发送答复
l定义事件的触发器,例如侦测到一个case tag
l过滤数据,过滤的方法包括布尔逻辑、模式匹配、分组、计数等。
使用Sun Java System RFID Software for Java ME Devices,可以进一步简化RFID的部署环境。
Java System RFID Software Toolkit提供了一套基于Sun公司的RFID解决方案的适配器开发环境,旨在简化针对不同RFID reader,printer以及其他设备的适配器的开发,通过这些适配器就能够将设备同Java System RFID Event Manager相连。这套Toolkit既可以作为NetBeans的插件,也可以作为Sun Studio IDE的插件使用,同时在插件中包括代码范例,适配器代码模板,ant的编译脚本文件以及JUnit的测试模板。
通过将Sun公司的RFID Software同Sun公司丰富的软、硬件产品相结合,合作伙伴可以为相关行业的特定应用提供定制化的解决方案。同时,Sun公司也非常乐于同合作伙伴分享自己在RFID实施领域的丰富经验,合作伙伴可以参考Sun公司丰富而具体的、针对不同行业的参考解决方案来定制或扩展,构造自己的行业应用。图5.1展示了基于Sun公司软、硬件平台的资产跟踪和管理解决方案。

图5.1 基于Sun公司软、硬件平台的资产跟踪和管理解决方案
图6.1中给出了基于Sun RFID产品解决方案的一种部署方案,综合运用了Sun公司的RFID中间件产品,Sun公司的身份管理、权限控制、EAI等产品。
Sun公司为RFID应用提供了全面而成熟的、端到端的解决方案。
首先,在中间件方面,Sun公司的Java System RFID软件架构充分考虑了大规模的、企业级的RFID部署环境。这套软件架构不仅适用于只有几个reader的单个场所的小规模应用场景,也同样适用于具备大量reader并且分布于不同场所的跨地域的大规模部署场景。Java System RFID Event Manager所特有的可靠性,可扩展性、可管理性,将为企业大规模的部署基于EPCglobal Network架构的应用模式提供良好的集成模块。同时,在将RFID标签数据、事件同现有的业务流程、EIS系统的集成方面,Java System RFID软件也提供了良好的支持手段。
其次,在设备端,Sun公司提供了基于Java ME技术的RFID嵌入式软件包,大大提升了RFID设备的智能化程度和管理功能。
当然,Sun公司也提供了便捷的开发方案,通过使用Sun公司的RFID Software Toolkit,用户可以迅速开发面向不同RFID终端设备的adaptor。
Sun公司具备丰富的系统设计和整合的经验,深刻的了解业界的需求。通过组合其丰富的软硬件产品,Sun公司正在不断的拓展RFID应用的内涵和外延。
关于Sun公司RFID产品和解决方案的更详细的信息可以从如下网址获得:http://sun.com/rfid