Rifidi Edge Server User’s Guide
Version 3.6 (Rifidi Edge Server version 3.6)
December 2016
2
Table of Contents
Documentation ................................................................................................................................ 5
Rifidi® Edge Server Architecture ................................................................................................... 6
Sensor Abstraction Layer ............................................................................................................ 6
Application Engine Layer ........................................................................................................... 7
Communication Layer ................................................................................................................ 7
Operations, Administration & Management Layer ..................................................................... 7
Sensor Layer ................................................................................................................................... 7
Overview of Rifidi® Edge Server Directory Structure .................................................................. 8
Important Folders within the Edge Server Directory .................................................................. 8
Important Files within the Edge Server Directory ...................................................................... 8
Starting the Edge Server ............................................................................................................. 9
Using the Console to Determine the Rifidi® Edge Server State ................................................ 9
Creating Readers Configurations .............................................................................................. 10
Application Level Events (ALE) standards ...................................................................................11
Enterprise Rifidi® Management Dashboard .................................................................................11
Reader Adapter Guides ................................................................................................................. 12
Alien Reader Guide................................................................................................................... 12
Properties .............................................................................................................................. 12
Connection properties: ...................................................................................................... 13
General properties: ............................................................................................................ 13
Commands ............................................................................................................................ 13
Alien-Poll: ......................................................................................................................... 13
Alien-Push-Start:............................................................................................................... 13
Alien-Push-Stop: ............................................................................................................... 14
Common Usage Scenario:..................................................................................................... 14
For a Push: ........................................................................................................................ 14
For a Poll: .......................................................................................................................... 14
LLRP Reader Guide .................................................................................................................. 15
Properties .............................................................................................................................. 15
Connection properties: ...................................................................................................... 15
General properties: ............................................................................................................ 15
Commands ............................................................................................................................ 15
3
LLRP-Configure ............................................................................................................... 15
LLRP-Push-Stop ............................................................................................................... 16
LLRP-Poll ......................................................................................................................... 16
LLRP-ADD_ROSPEC-File .............................................................................................. 16
Common Usage Scenario ...................................................................................................... 17
For a Push: ........................................................................................................................ 17
For a Poll: .......................................................................................................................... 17
Adding Custom Extensions with LLRP:........................................................................... 17
Adding Custom Extensions with LLRP:........................................................................... 18
Generic Reader Guide (for Handheld, Smartphone and any device/sensor with TCP/IP, REST
& MQTT) .................................................................................................................................. 18
Awid Reader Guide ................................................................................................................... 18
Properties .............................................................................................................................. 18
Commands ............................................................................................................................ 18
Awid-Read-Block-Data ..................................................................................................... 18
Awid-Mask-Poll ................................................................................................................ 18
Awid3014-Poll/Awid2010-Poll ......................................................................................... 19
Awid3014-Push-Stop/Awid2010-Push-Stop ..................................................................... 19
Common Usage Scenario:..................................................................................................... 19
For push: ........................................................................................................................... 19
For poll: ............................................................................................................................. 19
Opticon Reader Guide............................................................................................................... 19
Properties .............................................................................................................................. 20
Commands ............................................................................................................................ 20
ThingMagic Reader Guide ........................................................................................................ 20
Properties .............................................................................................................................. 20
Commands ............................................................................................................................ 20
ThingMagic-Poll: .............................................................................................................. 20
Thinkify Reader Guide ............................................................................................................. 21
Properties .............................................................................................................................. 21
Convergence Systems Limited (CSL) CS203 Reader Guide ................................................... 21
Properties .............................................................................................................................. 22
Operations, Administration and Management .............................................................................. 22
Management .............................................................................................................................. 22
Monitoring ................................................................................................................................ 23
4
Messaging ................................................................................................................................. 24
Failover ..................................................................................................................................... 24
Reference ...................................................................................................................................... 24
System Properties...................................................................................................................... 24
Configuration Commands ......................................................................................................... 25
Diagnostic Commands .............................................................................................................. 26
5
Documentation
There are several places to look for specific documentation needs
The User Documentation (this document) is a PDF that explains how to run and control
the Rifidi Edge Server
The Developer Documentation explains how to develop reader adapters and plugins for
our Edge Server
The Javadoc for the Rifidi API can be found online at
http://www.transcends.co/www/javadoc/edge3.5.0/
The wiki has some helpful pages to answer some common questions that users and
developers have. It can be found at http://wiki.rifidi.net
The wiki has also a quick start guide for getting a reader setup with a basic configuration:
http://www.transcends.co/www/docs/Rifidi_Edge_Server_Quick_Start_Guide_3.5.pdf
The forums provide a way for users and developers to ask questions. It can be found
online at http://forums.rifidi.net
6
Rifidi® Edge Server Architecture
This chapter explains the architecture of the Rifidi® Edge Server at a high level. The Edge Server
is broken up into three conceptual layers. The Sensor Abstraction Layer provides a common API
to integrate with sensors to collect various kinds of data from them. The Application Engine
Layer performs custom business processing rules on the data. The Communication layer
(sometimes referred to as the integration layer) provides a means to integrate the business
events collected in the Application layer with other systems (such as databases or ERP systems).
In addition, starting with version 3.1, Rifidi® Edge Server offers an Operations, Administration &
Management layer that exposes many internal functions via a restful services interface. Starting
with version 3.3, Rifidi® also offers an Enterprise Rifidi Management Dashboard.
Sensor Abstraction Layer
The purpose of the edge server is to connect to any kind of sensors (e.g. RFID readers, Barcode
readers, Mobile Devices) and collect information from them. In many scenarios, this consists of
connecting to a Gen2 fixed reader (such as Alien 9800, Motorola LLRP, etc), and collecting EPC
information. However, the edge server is designed in a way so that so that it can collect many
7
kinds of data (active, passive, etc) from many kinds of devices. This layer allows users to connect
to devices in a sensor-agnostic way to collect the kind of data required for the application.
Application Engine Layer
For most applications it is not desirable to save every event that the sensors produce. Many
sensors can send 1,000 of events a second, a large number of which might be duplicates. Most
applications are interested in events that are one-level higher than the raw events produced by
sensors. For examples, an ERP system is probably interested in the event of a box arriving in
area 1, and it is not desirable for the ERP system to do the work of filtering and processing all of
duplicate reads the sensor produces.
Complex Event Processing (CEP) is a paradigm of viewing data as ephemeral events (i.e. a
stream consisting of non-persisted events) and identifying meaningful (i.e. business) events
from the stream using rules. Rifidi® Edge Server uses a Complex Event Processor called Esper. It
allows you to write queries using an SQL-like syntax. An example query to get tags from a
particular reader might look something like this:
select * from ReadCycle where ReaderID='gate_1'
The application layer lets developers write custom business logic that uses Esper to filter,
aggregate and process events produced by the Sensor. The applications in this layer can perform
custom business logic based on the tags that are seen. For example, one application might alert
a warehouse manager via an email if a tag that matches a certain pattern is seen in a particular
area. Another application might correlate barcode reads with RFID tags and write the
association to a database.
Communication Layer
After data has been processed, it probably needs to be handed up to some kind of application-
dependent system. For example, some users might want the data to be stored in a database,
others might want it to be pushed into an ERP system like SAP or handed to a Rich User
Interface of some sort. The edge server has several built in connectors to use, namely JMS and
Web Services (via Spring's remoting framework). However, as this is application dependent, it is
possible to write your own connector (such as a TCP/IP socket connection) if the application
needs it.
Operations, Administration & Management Layer
The purpose of the OA&M layer is to expose Rifidi® internal functions to the developer
dynamically at runtime. Many of those functions have been available in prior versions already
via RMI, but are now offered via REST Services calls.
Sensor Layer
The sensor layer allows the edge server to connect to various kinds of sensors and collect data
from them. The kinds of sensors can be wide ranging, from network-enabled Gen2 RFID readers
to barcode scanners to JMS queues of events. In addition, the events can be of various types.
The most common events are Gen2 RFID, but other event types can be collected as well, such as
barcodes and GPIO events.
8
In addition to collecting events, the sensor layer allows some level of sensor configuration. The
level of configuration depends on the capabilities of the sensor and how much works has been
put into the adapter. For the most part, however, sensor configuration is normally handled by a
technician when first setting up the sensor. The sensor is either then configured to send events
back to the edge server or the edge server will poll the sensor for events. For the vast majority
of the cases, once a sensor had been configured, it will not change much. Thus, it is easiest in
most cases to configure the sensor using a tool provided by the sensor’s manufacturer.
This section describes the main components of a sensor adapter for the Rifidi® Edge Server. It
does not give a step-by-step walkthrough on how to build an adapter, since the easiest way to
learn this is by looking at the source code for adapters that ship with the Edge Server. In
addition the sensor API’s source code is well documented, so it is recommended to look into
that. This chapter serves as a guide on how the various pieces of the sensor API work together.
Overview of Rifidi® Edge Server Directory Structure
This section explains the directory structure of the Rifidi Edge Server. It points out the important
files and folders that users should be aware of, and explains how to modify them in order to
meet particular configuration needs.
Important Folders within the Edge Server Directory
Applications Folder
The applications folder is the folder in which custom Rifidi Edge Server applications
should be deployed. By default, the applications will not be started when the edge
server starts. If this behavior is desired, use the default.ini file.
Config directory
This folder contains all the Rifidi Edge configuration files, such as the rifid.xml file, the
rifid-amq-external.xml, and logging.properties file.
Logs Folder
The logs folder contains all log files generated by the Rifidi Edge Server, which is useful
for debugging and troubleshooting problems
Licenses Folder
The licenses folder contains all license information for the Rifidi Edge Server and all its
dependencies.
Plugins & Configuration Folders
These two folders contain the jar files and configuration information for the Rifidi Edge
Server. Users should not normally ever need to edit any files in these folders.
Important Files within the Edge Server Directory
rifidiedgeserver executable (linux)
This is the executable to start the server. While it is possible to execute this file right
from the shell, it’s better to use the start up script located in /etc/init. You can edit this
file to change any system properties for linux.