前言
Fosstrak是一个实现了GS1 EPC网络规范的中间件平台 Fosstrak给我们带来哪些价值? ? ? ?
如果你是RFID系统商,在软件产品研发中将Fosstrak组件,比如,EPCglobal-certified Fosstrak EPCIS作为你解决方案的一部分
如果你是RFID应用商,使用Fosstrak的Java库作为应用程序的一部分,比如,使用Fosstrak TDT来进行不同标签标识转换,使用Fosstrak Filtering and Collection Middleware进行标签数据处理
如果你是研究者或学生,使用我们的软件作为你工作的起点,比如,使用多个EPCIS实例开发一个全新的系统 Fosstrak 功能模块 EPCIS Repository EPCIS 知识库 Tag Data Translation (TDT) Engine 标签数据转换引擎 Filtering & Collection Middleware with ALE and LLRP Support 支持ALE和LLRP协议的过滤与收集中间件 LLRP Commander 协议命令器 各组件间的依赖关系如下图所示:
通过LLRP协议配置管理RFID读写器 支持ALE1.1,LLRP和大部分通用读写器 符合EPCglobal-certified规范,使用最为广泛的知识库(据我们所知),超过2000次下载 EPCglobal TDT的作者开发并维护此模块
第一章EPCIS Repository
一、 综述 二、 特性 三、 用户指南
1) 关于本指南说明
本指南意在帮助用户使用Fosstrak EPCIS模块。为了指导用户搭建自有EPCIS知识库以及了解如何与该知识库交互,本指南勾勒出以下几个步骤,请参照操作。
如果你只是想体验Fosstrak's EPCIS repository的特性和功能,你可以试一试Query和/或Capture客户端应用,而无需安装自有知识库。但是如果你想运行自己的EPCIS知识库,或想将Fosstrak's EPCIS实现纳入到你的项目中,请继续阅读。
如果本指南没有解答你的问题,请将问题发邮件给我们。
2) 准备开始
本章节将一步步讲解如何构建自己的EPCIS知识库,以及如何使用客户端程序向该EPCIS知识库发送捕获和查询请求。
搭建自有知识库
为了搭建自有知识库,请按照以下步骤进行: ? ? ? ?
确保有一个运行中的Apache Tomcat Servlet 容器(5.5或更高版本),它将用来发布和运行EPCIS repository web应用。
下载Fosstrak EPCIS知识库的发布包,将发布包的WAR包放到tomcat的webapp文件夹下。启动Tomcat服务器后,WAR将自动部署。
安装MySQL 服务器(5.0或更高版本)。EPCIS知识库使用它来存储数据。
确保发布的应用程序能通过MySQL Connector/J 驱动器访问你的MySQL服务器。通常将mysql-connector-java-
为EPCIS repository设置MySQL数据库,以root身份登录MySQL Command Line Client并执行以下步骤: ? ?
创建数据(本例中我们使用“epcis”作为数据名)
创建访问数据库的用户(本例中,我们使用用户:epcis密码:epcis) mysql> CREATE DATABASE epcis;
mysql> GRANT SELECT, INSERT, UPDATE, DELETE ON epcis.* TO epcis IDENTIFIED BY 'epcis';
? ? ?
执行发布包中的数据库脚本来创建数据库schema(执行脚本前,请确认已经连接上数据库) 可以插入一些demo数据
mysql> USE epcis; mysql> SOURCE
将知识库连接到数据库上。如果tomcat是默认安装的,可以在$TOMCAT_HOME/conf/Catalina /localhost/epcis-repository-
检查应用是否运行。如果tomcat是默认安装的,那么捕获和查询接口将分别在http://localhost:8080/epcis-repository-
查询接口是否安装成功也需检查一下,在浏览器中输入查询接口URL地址并追加?wsdl。查询接口的遇到问题请检查日志文件,应用的日志文件存放在TOMCAT_HOME/logs/epcis-repository.log。一旦你的EPCIS repository实例出现问题,首先要查看就是日志文件,从日志文件中可以获取报错信息和应用抛出的异常信息。
WDSL文件应该显示在浏览器中。
和
http://localhost:8080/epcis-repository-
使用捕获客户端向知识库发送事件消息
? ? ?
下载捕获客户端应用程序二进制文件
运行发布包中的jar文件。这将启动Fosstrak EPCIS Capture Client。 Java -jar epcis-captureclient-
你需要在界面中指定你想连接的EPCIS知识库的URL地址。你可以使用本地知识库实例(http://localhost:8080/epcis-repository-
如果你想在你的Java工程中使用捕获客户端包,请参见下面“如何捕获EPCIS事件”章节。
使用查询接口浏览知识库
?
下载查询客户端包并按照以上相同的步骤操作。在GUI中填写查询参数,点击“Run query”按钮将查询请求提交给知识库,查询结果将显示在另一个独立的窗口中。
如果你想在你的Java工程中使用查询客户端包,请参见下面“如何查询EPCIS事件”章节
3) 与知识库交互
本章节将展示如何使用Fosstrak's EPCIS实现的基本功能,比如,如何发送EPCIS事件到捕获接口以,如何为从知识库中获取信息创建EPCIS查询。
如何捕获EPCIS事件
为了捕获EPC数据,你需要将数据包装成符合EPCIS XML schema要求的XML格式。这个EPCIS事件作为HTTP POST请求的payload值域发送给知识库的捕获应用接口。比如,一个事件对象序被列化为xml后,看上去类似于以下内容:
xmlns:xsi=\/XMLSchema-instance\ xmlns:epcis=\ xmlns:epcglobal=\
xsi:schemaLocation=\ creationDate=\ schemaVersion=\
OBSERVE
CaptureClient类的capture方法所要求的事件对象也可以是一个XML String,一个以字节流的方式提供xml数据的InputStream或是一个EPCISDocumentType实例。下面代码片段演示了如何使用org.fosstrak.epcis.model包创建EPCISDocumentType实例。 ObjectEventType objEvent = new ObjectEventType(); // get the current time and set the eventTime XMLGregorianCalendar now = null; try {
DatatypeFactory dataFactory = DatatypeFactory.newInstance();
now = dataFactory.newXMLGregorianCalendar(new GregorianCalendar()); objEvent.setEventTime(now);
} catch (DatatypeConfigurationException e) { e.printStackTrace(); }
// get the current time zone and set the eventTimeZoneOffset if (now != null) {
int timezone = now.getTimezone(); int h = Math.abs(timezone / 60); int m = Math.abs(timezone % 60);
DecimalFormat format = new DecimalFormat(\ String sign = (timezone < 0) ? \
objEvent.setEventTimeZoneOffset(sign + format.format(h) + \}
// set EPCs
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库Fosstrak全资料在线全文阅读。
相关推荐: