Content uploaded by José Iván San José Vieco
Author content
All content in this area was uploaded by José Iván San José Vieco on Apr 02, 2015
Content may be subject to copyright.
RFID Tracking for urban transportation using EPCGlobal-based WebServices
José I. San Jose, José M. Pastor, R. Zangróniz, Juan J. de Dios
Instituto de Tecnologías Audiovisuales (http://itav.uclm.es)
Universidad de Castilla-La Mancha
Campus Universitario s/n, 16071. Cuenca, Spain
{JoseIvan.SanJose, JoseManuel.Pastor, Roberto.Zangroniz, JuanJose.deDios}@uclm.es
Abstract — This paper summarizes our work on the design and
implementation of a RFID-based system for the tracking and
location of objects, and urban transport routes as a particular
case. The data retrieved from the RFID readers can be associated
with the data stored in a database, so we propose the development
of a Web environment to gather information through any web
browser. The architectural model is based on Fosstrak EPCIS
Repository, as it is an open source RFID software platform that
implements the EPC Network specifications and it has been
certified by EPCGlobal. We have developed a WebService
application for location of the bus stops and lines on the route
map, as a particular case of the tracking system, and the time left
for the bus to arrive to a specific stop is also indicated on the
graphical interface.
Keywords-component; EPCGlobal, EPCIS, Fosstrak, Web
Services, RFID, location.
I. INTRODUCTION
Radio Frequency Identification (RFID) is one of the most
innovative technologies and promises important benefits to
customers and businesses in object location and
identification. The traceability and the tracking of products
can be solved in a simple and economic way by means of the
RFID technology [1]. It can benefit consumers through
improved product availability, speed of service, and quality
assurance.
The application of RFID technology helps businesses
improve supply chain efficiency, generating a high added
value by improving the distribution process and optimizing
the available resources [2]. RFID tagging of products by
manufacturers, wholesalers, and retailers appears to be the
most promising approach to reliable product tracking and
tracing, instead of bar codes. It can be used for identification,
inventory, and product traceability.
The Electronic Product Code (EPC) is a unique
identification code that is generally thought of as the next
generation of the standard bar code [3]. It is stored on an
RFID tag, and enables us to assign a unique global number
to any product, so that it can be associated with specific
product information, such as date of manufacture, origin and
destination of shipment.
The goal of our work is to design and implement a
storage system for events in RFID readers. It is a system of
storage and retrieval of data remotely, using an RFID tag
which transmits the ID of an object when prompted by a
signal emitted by a RFID reader.
The proposed system will guarantee a set of minimum
restrictions of scalability, extendibility, and compatibility. In
order to meet these criteria, EPCGlobal standard is fulfilled.
In addition, this EPCGlobal system also provides the
necessary tools to building our system.
Therefore, our main goal is to design and implement an
EPCGlobal RFID-based system, to store event data, in our
case, tracking and tracing events. These stored events may be
accessed via a Web service specifically for this purpose, with
the capability to be accessible from any device, either a PC
or any mobile device (smartphones, tablets, etc.).
The location of all the elements which configure our
system is available through a Geographic Information
System (GIS). Google Maps is used, as it is commonly
accepted, and globally referenced due to its usability. A
simulation of the system will be implemented, as it was not
possible to achieve all the resources required for this
implementation at the moment.
In this process, we describe the general methodology that
could be defined to develop any other type of similar system.
The architecture is based on the Fosstrak EPCIS Repository,
as it is a complete implementation of the EPCIS standard
specification, containing everything we need to deploy the
application. Besides, it is also certified by EPCglobal.
As a particular case, we will implement an application
for monitoring the transport location and the arrival time of a
bus route. This application is defined as a Web Service. The
user queries the information of the current situation of a bus,
the system will display it on the map and the time left to
arrive to the selected bus stop will be also indicated on the
route.
II. TECHNOLOGIES
This section briefly describes the technologies involved
in this work.
A. RFID
Radio frequency identification (RFID) is a generic term
that is used to describe a system that transmits the identity
(unique serial number) of an object or person wirelessly,
using radio waves [4]. It's grouped under the broad category
of automatic identification (Auto-ID) technologies, which
have been used to reduce the amount of time and labor
needed to input data manually and to improve data
accuracy.
Bar code systems often require a person to manually
scan a label to capture the data. RFID is designed to enable
readers to capture data on tags and transmit it to a computer
system, without needing a person to be involved.
A typical RFID tag consists of a microchip attached to a
radio antenna mounted on a substrate, and contains the
identification data of the object to which are attached. The
RFID tags may generate a radio frequency signal related to
the data, so it can be received by an RFID reader, which
retrieves the data stored on the tag and converts it to a
digital format according to the specific application.
Currently, the organization of companies and
universities around the world, called EPCGlobal (formerly
Auto-ID Labs), is responsible for developing standards and
the necessary technology to be able to identify any object
effectively.
In 2003, the RFID technology really began to spread
through the industry, driven by technological advances, the
reduction of costs and the efforts of the Department of
Defense of the United States.
B. EPCIS (Electronic Product Code Information Services)
EPCIS [5] is a standard designed by EPCglobal to allow
sharing and pooling of data between different companies.
The aim is to allow the participants of the EPCGlobal
Network get a common view of the disposition of the various
objects within the business environment.
The Architecture Framework published by EPCglobal [6]
provides a comprehensive overview of the EPCglobal
standards. It shows how the different interface standards are
related and outlines the principles that have guided the
design of the standards.
EPCIS defines standard interfaces that allow the EPC
data being captured and later be used by operations and an
associated data model. Capture and query of these data,
includes the use of persistent databases and the sharing of
information application-to -application.
The EPCGlobal Architecture Framework does not dictate
particular system architecture, but leaves this to
implementers who can choose the system architectures that
are most appropriate for their deployments. EPCIS only
specifies the interface between applications and data
collection needed to access them. It does not specify how to
implement the operations or database.
Therefore, EPCIS is a standard that has a layered
structure, extensible and modular. This feature offers a
number of advantages such as, for example, the reuse of
code.
C. Fosstrak EPCIS Project
Fosstrak EPCIS Project [7] is an open source software
platform that implements the GS1 EPC Network
specifications. It provides an EPCglobal-certified EPCIS
Repository as well as Query and Capture clients. In addition
to these standards-compliant modules, it also offers a "Web
adapter" for easy EPCIS access via web protocols (e.g.,
REST). Fosstrak has a regular client-server architecture
consisting of three modules: the repository is the server and
Query and Capture clients.
Figure 1. Fosstrak EPCIS Project Implementation
The repository is responsible for analyzing the requests
of the clients, which are processed according to the rules
defined in the specification of the standard.
The clients communicate with the repository via transport
protocols. These protocols are: XML (eXtended Markup
Language) over HTTP to Capture client and SOAP (Simple
Object Access Protocol) over HTTP to Query client, as we
can see in Figure 1.
Both clients, Capture and Query, have a development
API and a user interface. The API is used by other
applications to send queries to the repository. Manually, the
interface is used to send events within the repository.
Fosstrak also provides a set of libraries and
documentation to be able to integrate clients Capture and
Query in an architecture type J2EE.
D. Web Services
Web Services [8] are technologies that integrate a set of
standards and protocols to exchange data between
applications developed in different programming languages
and they can run on any platform. We can use the Web
Services to exchange data in both private computer
networks and the Internet.
Interoperability is achieved by open standards.
Organizations such as OASIS and W3C are responsible for
indicating the type of architecture and Web services
regulation.
Web Services are loosely coupled software components
that offer standardized interfaces based on mainly two
languages: the Web Service Definition Language (WSDL)
which is used to define the syntax of the interfaces, and
SOAP which defines the format of messages that are
exchanged when invoking services.
In the future Internet [9], real-world devices will be able
to offer their functionality via SOAP-based Web Services
(WS-*) or RESTful APIs, enabling other components to
interact with them dynamically. The functionality offered by
these devices is often referred to as real-world services
because they are provided by embedded systems that are
related directly to the physical world.
Unlike traditional enterprise services and applications,
which are mainly virtual entities, real-world services
provide real-time data about the physical world. Armed with
this additional knowledge, one can support a more efficient
decision making process. Hence, the devices are providing
their functionality as a Web Services can be used by other
entities such as enterprise applications or even other
devices. No device drivers are needed anymore and a new
level of efficiency can be achieved as web service clients
can be generated dynamically at runtime.
III. DEVELOPMENT METHODOLOGY
This section describes the methodology that has been
proposed for the development of a generic application and
that, subsequently, will serve us for the development of the
application proposed in the introduction section. Our
methodology is divided into three parts: design, modeling,
and implementation.
A. Design
Before programming, we must consider a series of
requirements previously, since it is necessary to be clear
about the application you want to perform.
As indicated earlier, our application must be able to
show us the information that it stores in a database. To do
so, we must build a Web site on which we are able to access
from any device (PC, Tablet, Smartphone, etc.), whichever
browser, anywhere in the world to query of the information.
To do this, our application must meet a series of
functional and non-functional requirements:
1) The functional requirements are the following:
RFID readers must be able to access the central
database through either a microprocessor or DSP.
Each hardware element reading will connect
through a port serial or USB to its processor, which
will also have Internet connection. For a global
interconnect, IPv6 addresses are used and IPv4
addresses will be translated into IPv6 if needed to
maintain compatibility. The Web application can
also access the same database in order to query,
modify or update such data.
2) As non-functional requirements, our application
must comply with the following: it seems
interactive for the user in order to request
information from the server. The interface must be
rather simple so that any user can use it. The system
should be robust against errors, and report either the
time in which they occur or whether not-allowed
access to the data is tried out. It must provide
security for the data stored in the database, so that
they can only be modified by authorized users.
Once these requirements are met, we may enhance them
according to the desired approach implemented for our
application.
Within this section, it is also necessary to select the
platform on which we are going to develop our application.
For its development, the following elements have been
selected as the proposed architecture is based on Fosstrak
EPCIS Repository and we need all the elements are fully
compatible with Fosstrak.
Items selected for our development are as follows:
1) Architecture of J2EE development.
2) Apache Tomcat [10] to be used as application
server.
3) MySQL [11] that will be used as a database
administrator.
4) Eclipse and Visual C# [12] which will be used as
development environments.
We have selected these elements, because they are
compatible with Fosstrak and EPCGlobal, and they are
programmed in Java.
We use Visual C # because SkyeTek development APIs
[13] are written in C and Microsoft NET. In this way we
connect, configure and control our hardware SkyeModule
M9 [14] and the captured information can be send to the
central database for our application.
B. Modeling
Once the design is defined and the development
platform has been also determined, the next step is to apply
to particular cases such as urban transport routing and bus
stops location on a map. It also estimates the arrival time of
a bus stop.
In our case, our application consists of the design and
implementation of an EPCGlobal system based on RFID to
store event data, more specifically location events. These
data will be available to be accessed through any device and
any Web browser.
After deciding the application, the next step is to create
the tables in the MySQL database and the various Java
classes needed to work comfortably and easily, with the
tables of the database that we create.
Within the database, the first task we carry out will be
the filling a table named Read Point. The idea is to place a
Read Point at each stop. In this way the name of the stop
will be assigned and related to the located data (latitude,
length and address) to identify it.
The next step will be to create and load the tables in the
database that are for working with urban transport lines and
the different buses.
Since our application is simple, we only need to create
three Java classes to be able to work comfortably with the
tables in the database that we created. The classes are:
EPCIS, line and stop. As we can see in Figure 4, the
properties of the line and stop classes are specific for the
database modeling.
Another important issue to consider when developing
the data model, it is to analyze the relationships between the
different tables and see how they relate to each other, to
achieve a correct and consistent with our application data
model. In Figure 5, we can see how they are related and
how nodes are connected to.
C. Implementation
One of the main objectives of regular client-server
architecture is the separation of the business logics from the
design logics. In other words, the goal is to separate the
presentation data layer from the user layer.
Currently, when designing an application for big
computer systems, it is often programmed via layers or
multilevel architectures.
The main advantage of this model of development is that
the application is splitted up into several levels or layers.
Thus, each layer will play a simple role within the
application, so we makea minor modification on the
application, where it is not properly working
To develop our application, a three-layer model is used
(see Figure 2). It will consist of the following layers:
1) Presentation layer, for the user interface of the
application. It introduces the system to the user,
communicates information to him and returns the
answer to the user applying a previous filter in order
to check that there is no error.
2) Business logic layer, for the business processes of
the application. This layer is where the programs are
running. It communicates with the presentation
layer, to receive requests and present results, and
with the data layer, to asking the system manager
database for data storage or retrieval.
3) Data layer, which corresponds to the definition,
storage and access to the application data. In an
EPCGlobal system, it translates into the definition
of the tables necessary to store data of events,
vocabularies, bus, bus lines, etc.
Once the layer model to be used is decided, next section
will describe the process we follow for the application.
Another important task is to make the connection,
configuration and subsequent control of RFID readers with
Visual C #. This is crucial, because the location information
captured is stored in a MySQL database controlled by the
developer and from it, the elements will be located on our
map.
To conclude this section, we enumerate the main libraries
we have used for deploying this application, such as
SkyeTek .NET API, JDBC (Java Database Connectivity)
API, Fosstrak API and Google Maps JavaScript API [15].
Figure 2: 3-layer model
IV. LOCATION OF TRANSPORT AND ARRIVAL TIME
In this section, we will describe the development of a
particular application for the location of urban transportation
and indicating the arrival time of the bus at a particular stop.
Our application will locate all the bus lines on the route map,
representing the specific position and displaying the time left
for a bus to arrive at a particular stop.
As indicated in the previous paragraphs, we are going to
make a Web application based on regular client-server
architecture. The client requests through a Web browser the
services to the Web server. In the local network, or any
other, there is a DB server that provides access, security and
storage of all the data in the system.
One of our goals is that our application can be viewed
from any compatible device, using any web browser, and
which can be accessed from anywhere in the world.
On the other hand, we will have nodes related to the
RFID reader that connects by USB to a microprocessor, so
the Web Server updates the system when an event occurs.
This will happen when an RFID tag goes nearby the antenna
of a reader.
Subsequently, the location of the various elements that
will form our system through Google Maps will be
displayed. As discussed in previous sections, there will be a
simulation of the system, due to the unavailability of all the
resources involved to achieve the actual implementation.
To begin our development, we will create a Web
application information retrieval. To access procedures to the
database, it is using the default ones in Fosstrak EPCIS
Repository. We will also use all default methods leading to
capture EPCIS events, thus following the standard marked
by EPCglobal.
In the modeling process of our system, we are designing
the necessary MySQL tables (Figure 3) for proper operation.
Are also being designed Java classes (Figure 4) which form
our model, taking special care in relationships and how to
communicate between nodes our architecture consists of
(Figure 5).
In order to achieve all the information needed to locate
all the elements (buses, bus stops) and calculate the
remaining time for a bus to arrive at a specific stop, we are
using the SkyeTek libraries .Net API needed to work with
the module SkyeTek M9.
Figure 3: MySQL tables diagram
Figure 4: UML class diagram
Also, to run operations in the database, the JDBC API is
being used. Fosstrak EPCIS Repository, as we have already
indicated above, being used for capture and information
operations.
Finally, the Google Maps JavaScript API is being used in
order to use Google Maps and be able to locate buses with
great accuracy within these maps. The RFID tag information,
that is captured through the antennas, is stored in a database
that will be accessed by the application of Google Maps and
thus be able to show all that information in the Web
application.
It has also made the connection, configuration and
subsequent control of RFID readers through the Visual C #
environment. As mentioned above, this task was crucial
because the location information captured is stored in a
MySQL database. From this information and through the
Google Maps API, we can locate all the buses in our Web
application.
Figure 5: Communication between nodes. UML deployment diagram
Figure 6: Web application.
We can see a screenshot of the Web application in Figure
6, which illustrates the route of line C bus and their bus stops
on the map, and the time left to the nearest bus stop.
V. CONCLUSIONS
We have proposed the creation of a project based on a
J2EE Web application and defined the procedures needed for
accessing the databases using the Fosstrak EPCIS Repository
to capture events according to the EPCglobal standard. We
have performed small scale tests and we are in negotiations
with local authorities for actual testing on an urban
environment.
The monitoring of buses and real-time information of the
bus stops in a Web environment has been implemented. We
have used JavaScript functions, which may be reusable in
future implementations.
Besides, we have proposed a three-layer model for the
development of our application. Additional similar
applications can be developed by enhancing the proposed
model.
Our original motivation was to complete the development
initially achieved by our research group in the lower layers
of the EPCIS standard, in order to advance through to the
upper layers. Our previous research was focused on
developing hardware and networking middleware for RFID
systems. We are developing several sensors which can send
data to a central server so the application information can be
stored. Besides, a filtering and collection interface can be
implemented in order to filter and collect raw tag reads, over
different time intervals delimited by several events defined
by the EPCIS Capturing Application.
Our future work is intended to develop an architecture
and software tools in order to implement tracking and
tracing applications in different fields: logistics, people
tracking and Wireless Sensor Networks.
ACKNOWLEDGMENT
This work was partially supported by Ministerio de
Ciencia e Innovación (project BIA2009-10225) and by
Viceconsejería de Ciencia y Tecnología - Junta de
Comunidades de Castilla-La Mancha (Project PII1I09-0134-
5683).
REFERENCES
[1] Glidden, R., Bockorick, C., Cooper, S., Diorio, C., Dressler, D.,
Gutnik, V., Hagen, C., Hara, D., Hass, T., Humes, T., Hyde, J.,
Oliver, R., Onen, O., Pesavento, A., Sundstrom, K. & Thomas, M.
(2004). “Design of ultra low cost UHF RFID tags for Supply Chain
Applications”. IEEE Communications Magazine. No. 8. pp. 140-151.
[2] García, A., Chang, Y. & Valverde, R. (2006). “Impact of new
identification and tracking technologies in a distribution center”.
Computers & Industrial Engineering, ScienceDirect, Vol. 51(3). pp.
542-552.
[3] EPCGlobal, “EPCGlobal Frequently Asked Questions”,
http://www.gs1.org/docs/epcglobal/Frequently_Asked_Questions.pdf,
2007.
[4] RFID Journal, “What is RIFD?”,
http://www.rfidjournal.com/article/view/1339, September 2005.
[5] EPCGlobal, ”EPC Information Services (EPCIS) version 1.0.1
specification”,
http://www.gs1.org/gsmp/kc/epcglobal/epcis/epcis_1_0_1-standard-
20070921.pdf, 2007.
[6] EPCGlobal Architecture Review Committee, “The EPCglobal
Architecture Framework”, 2007.
[7] Fosstrak EPCIS Project,
https://code.google.com/p/fosstrak/wiki/EpcisArchitectureGuide.
[8] Guinard, D., Trifa, V., Karnouskos, S., Spiess, P. and Savio, D.
“Interacting with the SOA-Based Internet of Things: Discovery,
Query, Selection, and On-Demand Provisioning of Web Services”.
IEEE Transactions on Services Computing, Vol. 3, No. 3, pp. 223-
235, 2010
[9] Guinard, D., Trifa, V., Thomas, P., Olivier, L., “Towards Physical
Mashups in the Web of Things”, Proceedings of INSS 2009 IEEE
Sixth International Conference on Networked Sensing Systems.
Pittsburgh (USA), 2009.
[10] Chopra, V., Li, S., Genender, J., “Professional Apache Tomcat 6”,
Wrox, 2008. ISBN: 978-0-471-75361-2.
[11] Dubois, P., “La Biblia de MySQL”, Ed. Anaya Multimedia, 2007.
ISBN: 978-8-441-51558-1.
[12] Gousset, M., Keller, B., Woodward, M., “Professional Application
Lifecycle Management with Visual Studio 2010”, Wrox, 2010. ISBN:
978-0-470-48426-5.
[13] SkyeTek, http://www.skyetek.com.
[14] SkyeTek, SkyeModule M9,
http://www.skyetek.com/ProductsServices/EmbeddedRFIDReaders/S
kyeModuleM9/tabid/208/Default.aspx.
[15] Svennerberg, G., “Beginning Google Maps API 3”, Apress. ISBN:
978-1-430-22802-8