RFID开发介绍—Enterprise Server
在该系列文章的前面,分别介绍了RFID概述和BEA WebLogic RFID Edge Server开发介绍。接下来我们来看BEA WebLogic RFID Enterprise Server,Enterprise Server提供管理和协调大量、部署在多个场所的RFID的服务、资源和API。它将在企业边缘采集到的实时RFID数据与企业应用联系了起来,使将RFID数据共享给合作伙伴成为可能。
一、产品安装以及配置
从BEA的产品下载网站下载产品安装介质rfid_enterprise201_win32.exe:
http://commerce.bea.com/showallversions.jsp?family=RFIDENT
安装
a) 欢迎页面,直接选择下一步;
b) BEA License Agreement页面,选择同意,下一步;
c) 选择安装目录,需要选择一个已经安装了Weblogic Server 9.2的产品目录,因为Enterprise Server 2.0是运行在Weblogic Server 9.2之上的。下一步;
d) 选择生成快捷方式的位置,下一步;
e) 开始安装
f) 安装完成
配置
a) 运行Enterprise Server配置向导(%ES_HOME%\common\bin\ config.cmd)
b) 欢迎页面,选择创建一个新的WebLogic domain;
c) 选择域资源,建议选择支持全部WebLogic RFID Enterprise Server组件
d) 填写管理员用户名和密码,建议用weblogic\ weblogic
e) 配置服务器启动模式和JDK,默认,下一步;
f) 自定义环境和服务设置,选择Yes,下一步;
g) 监听地址和端口,默认,下一步;
h) 被管服务器,默认,下一步;
i) 机器,默认,下一步;
j) Kodo,在该页选择(automatic initialization of the database),其他默认,下一步;
k) JMS 文件存储,默认,下一步;
l) 选择位置和名称,创建新域。
二、概念介绍
WebLogic RFID Enterprise Server处理来自RFID技术标签数据,增加业务方面的信息,并提供自定义的报告给商业伙伴。Enterprise Server可以处理从多个来源的数据,并把这种原始数据变成有用的信息,企业由此可以达到业务上的追踪和决策的目的。
事件服务(Event Service)
运行在边缘服务器(例如WebLogic RFID Edge Server)上的应用给Enterprise Server发送标签事件数据(Event Data)。这些数据提供了RFID标签的基本信息,例如读卡的时间和地点,根据不同的事件类型,可能会包含更多的信息。Enterprise Server的事件服务接受来自边缘服务器(例如WebLogic RFID Edge Server)的数据,存储,并且提供查询接口。
主数据服务(master data service)
使用主数据服务,授权用户可以创建主数据(master data)。主数据是指人类可读、 并包含了商业上下文方面的信息,可以与事件数据(Event Data)进行关联。这种关联(Event Data与master data)使得信息编码数据(Event Data)对人更有意义(变得具有可读性),可以作为更加有用的商业建模工具。主数据管理控制台(Master Data Administration Console)提供了一个管理主数据服务的图形用户界面。
数据交换服务(data exchange service)
数据交换服务处理查询并将结果发送到内部或外部目的地。授权用户可以创建一个对内部或外部客户端的订阅(subscription)。每个订阅包括一系列的查询参数、查询运行的时间和地点、已经报告要发送到的目的地。查询订阅管理控制台(Query Subscription Administration Console)提供了一个管理数据交换服务的图形用户界面。
报表服务(Reporting Service)
报表服务提供访问事件数据和主数据报表的图形用户界面。Enterprise Server提供四种类型的报表:历史信息、丢失资产、停留时间和运输时间报表。
下面是这些服务之间的关联关系:
三、Edge Server配置
正如前文所述,Enterprise Server接受来自Edge Server的Event Data,所以在开始使用Enterprise Server之前,先需要配置Edge Server的消息发送通告,该配置是通过Edge Server的工作流模块实现的。
配置JMS通告
a) 打开<edge_home>/etc/edge.props文件,修改以下属性为可用
b) 打开<edge_home>/etc/jms.options 文件,设置环境变量
c) 复制<edge_home>/samples/JMSSamples/BEA/etc/naming.props文件到<edge_home>/etc/naming.props
创建消息通告模块
这部分的配置,读者可以通过从Edge Server的管理控制台导入文章中附带的edge.config.xml文件来实现,其具体配置步骤如下:
a) 全部建好的工作流模块应该如下图所示:
b) 新建LED显示如下:
c) 新建DirectionalPortal如下:
其中的ECReport的创建方法,请参见该系列文章的《RFID开发介绍—Edge Server 》,按照文中的操作步骤,分别创建两个ECSpec ,分别命名为BidirectionalPortal-Point1-ECSpec 和BidirectionalPortal-Point2-ECSpec,并且在其中加入AdditionReport和DeletionReport。最后将两个ECSpec分别加入订阅到BidirectionalPortal。
d) 新建DirectionalWFMessageNotifier如下:
其中observe-event-sap-aii.xsl文件参见文章后面的资源中。
四、使用Enterprise Server
1. 启动Enterprise Server
a) 运行PointBase :
通过运行%weblogic92_Home%\common\bin\ startPointBase.cmd脚本
b) 运行第一步中建立的Enterprise Server Domain:
通过运行%enterprise20_domain%\bin\startWebLogic.cmd
2. 访问Enterprise Server
接下来就可以通过下面的URL访问Enterprise Server了:
http://localhost:7001/enterprise
登录的用户名和密码是与创建过程中指定的,默认weblogic/weblogic。登录后可以看到如下界面:
通过这个界面的连接,就可以进入相应的控制台,使用在第二步中介绍的各种服务。例如通过Query Subscription Administration Console察看我们在第三步中创建的工作流模块发送过来的Event Data,通过Master Data Administration Console输入Master Data。
3. 使用Edge Server产生Event Data
将模拟读卡器的两个天线的EPC都勾掉,并且将两个天线的EPC值设置为一样的,如下:
把天线一的EPC2选中,然后勾掉;对天线二的EPC2进行同样的操作。察看Edge Server命令行,可以看到如下结果:
4. 察看Enterprise Server报表
进入Enterprise Server Reporting Service控制台,看到如下界面:
直接点击”Run Report”,得到如下结果:
5. 如何有读者想进一步了解Enterprise Server对这些数据的存储情况,也可以通过PointBase Console查看数据库中的数据。连接数据库要用到的参数如下:
DriverName: com.pointbase.jdbc.jdbcUniversalDriver
ConnectionURL: jdbc:pointbase:embedded:ent_server;new
UserName: es
Password: es
对于上面的操作,可以通过执行“select * from epcis_event”查询,察看数据库对Event Data的持久存储情况,如下所示:
6. 重新配置Edge Server
打开Edge Server管理控制台,修改DirectionalPortal的配置,将object event destination output的值剪切到Aggregation output destination,如下所示:
修改模拟读卡器的两个天线的EPC值如下所示:
把天线一的所有的EPC选中,然后都勾掉;对天线二的EPC进行同样的操作。察看Edge Server命令行,可以看到如下结果(注意,输出结果较长,下面只列出其中一部分):
7. 察看Enterprise Server报表
进入Enterprise Server Reporting Service控制台,在生成报表选项的“Include”位置只选择AGGREGATION,成生如下报表:
此外,可以将EPCIS events 捕获到EPCISCapture queue,其需要的配置的地方有工作流模块的消息通告目的URI和XSLT的设置。由于文章篇幅限制,在这里不再具体配置。读者可以自行察看Enterprise Server的电子文档,来参考实现这部分功能。其URL如下:http://edocs.bea.com/rfid/enterprise_server/docs20/index.html