A Framework to Develop Web Applications based on
RFID Panels
Habib M. Fardoun
1
, Abdulrahman H. Altalhi
1
, Pedro G. Villanueva
2
,
Ricardo Tesoriero
2
and José A. Gallud
2
1
Information Systems Department, King Abdulaziz University (KAU),
Jeddah, Saudi Arabia
2
Information System Department, University of Castilla-La Mancha,
Campus Universitario de Albacete S/N, 02071, Albacete, Spain
Abstract. The pervasiveness of the Web, and the emergence of new technolo-
gies such as the RFID, allow users to interact with the physical environment.
This fact has caused the conception of new types of applications, for instance,
the Web applications based on RFID panels that allow users to retrieve and
store resources from and to the Web through RFID panels. The development of
these applications is defined by three main concepts: the Tool that performs
domain model functionality, the Command that represents an action to be per-
formed by the tool, and finally, the Resource representing the result of the
command on the tool. Thus, this work presents a framework that enables devel-
opers to model Web applications based on RFID panels in terms of these con-
cepts.
1 Introduction
Nowadays, software solutions based on mobile technology (i.e. smart phones, PDAs,
etc.) are becoming very popular in the society. It is due to the spreading of communi-
cations networks (Wi-Fi and GPRS, 3G, etc.) that provides users with connectivity
almost everywhere. Thus, users are able to access the Web through their mobile de-
vices.
Mobile technology provides to users with the ability to take photographs; write
ideas, record out thoughts on voice and video, etc. Besides, it is also capable of sens-
ing the environment through novel technologies, for instance accelerometers, camer-
as, RFID, IRdA, light sensors, touch panels, microphones, etc.
Up to now, informative panels offer static information about the environment. This
information is usually disorganized and it is difficult to understand because of several
factors, such as limited physical space or being obsolete. Besides, these panels are
passive because they are not able to interact with the readers. As consequence, people
tend to lose the interest on the panel information.
Therefore, a new set of applications have exploited the capabilities of mobile de-
vices to improve the information panels by providing them with dynamic information,
Fardoun H., Altalhi A., G. Villanueva P., Tesoriero R. and A. Gallud J..
A Framework to Develop Web Applications based on RFID Panels.
DOI: 10.5220/0004095900370046
In Proceedings of the 1st International Workshop on Interaction Design in Educational Environments (IDEE-2012), pages 37-46
ISBN: 978-989-8565-17-4
Copyright
c
2012 SCITEPRESS (Science and Technology Publications, Lda.)
through new interaction techniques. Thus, an interactive dialog is achieved between
the user and the environment or among users. Some examples of Web application
based on RFID panels are: ecologic information panels, electronic museum guides,
m-learning systems and GIS interfaces that will be discussed further.
Thus, the goal of this work is the definition of a framework that implements com-
mon functionality to support the development of this kind of applications.
The article is organized as follows: Section 2 exposes related work describing
some scenarios that will be implemented by the proposed framework. Then, Section 3
exposes the conceptual view of Web applications based on RFID panels, as well as
the system architecture and, Section 4 describes the proposed framework. Finally,
Section 5 exposes conclusions and future work.
2 Related Work
This section introduces a set of most relevant related work in this field. These systems
show how diverse is the domain application of interactive panels. For instance, they
can be used to encourage people’s involvement in ecological issues (Interactive ECO
Panels), to provide information to museum visitors (Museum guides), to implement
novel learning activities (Interactive Learning Panels), or to easy the interaction with
GIS (Geo-referenced Panels), and so on.
2.1 Interactive ECO Panels
The goal of this application is the encouragement of the society into ecologic issues,
such as city garbage recollection, collective decisions about green zone locations,
illumination and transport system suggestions. Interactive ECO Panels are location-
aware applications that provide citizens with the ability to express themselves about
daily issues [1].
This work describes a solution based on the successful integration of social soft-
ware and location-aware applications offering users a collaborative application that
allows them to both, retrieve and share comments, about topics related to environ-
mental issues just by performing natural and intuitive gestures.
Thus, this interaction allows the participation of the society serving as a tool to in-
crease the social responsibility for creating a sustainable environment. Besides, Inter-
active ECO Panels recycles the informative panels that are present in our squares,
streets, bus stops, etc turning them into interactive panels based on RFID.
These panels are based on the Web 2.0 technology that is the foundation of the so-
cial software concept. They provide users with collaboration tools through the Web
by the means of informal agreements. In fact, panels will take social software from
the Internet and will put it into the streets.
Interactive ECO Panels provide users with multimedia content such as, audio, text,
video, etc. Besides, it provides citizens with the ability to express their thoughts using
the Vote, the Pool, or the Blog system. It also allows users to get news about im-
38
portant events through RSS feeds. Thus, Interactive ECO Panels enable citizens to
both, retrieve and share information about ecologic issues.
A concrete example may be the decision by a town council about where to locate
the next green zone among the expansion areas of the city. A possible panel is shown
in Fig. 1a. This panel offers 4 zones (identified by the numbers 1, 2, 3 and 4), that
show candidate locations for the green zone in the city. It also offers a set of com-
mands that allows users to interact with different multimedia resources and social
software tools provided by the system.
2.2 Museum Guides
Museum guides allow visitors to retrieve information about objects that are part of a
cultural environment (museum, art exhibitions, old buildings, etc.) On the one hand,
some guides are designed to work in indoor environments [2-6]. On the other hand,
others, based on GPS technology, are designed to operate in outdoor [7] or mixed
environments [8, 9]. Most of these applications provide information to visitors by the
identification of marks or via the location system.
Fig. 1b shows a prototype of a knife showcase where users are able to retrieve in-
formation from knives, groups of them and even from the showcase itself. Thus, the
system provides multimedia information about objects, such as audios, videos, texts
and so on. The implementation of the system is described in detail on [6]. As in the
Interactive ECO Panel, the system also allows users to exchange experiences and
comments through a Blog or express interests using a Vote or Pool tool. The use of
interactive panels in museums is based on marks (see the dashed rectangle on Fig.
1b). In order to retrieve information from an object visitors have to approach the
device to the mark. Thus, users express the intention to obtain information from art
pieces, masterpieces, sculptures, antiques, rooms or even buildings.
(a) (b)
Fig. 1. Interactive ECO Panel (left) and museum guide (right).
2.3 Interactive Learning Panels
The application of computing technologies on education starts almost simultaneously
to the beginning of computing science itself improving education methods, either
formal or informal, and educational mediums, such as online, in-situ or blended. Sub-
39
stantial achievements in this field include: the introduction of new multimedia infra-
structure into schools and colleges, such as personal computers connected to the In-
ternet, and the development of new educational software that improve student learn-
ing through imaginative software.
Combs in [10] defines informal learning as “the spontaneous, unstructured learn-
ing that goes on daily in the home and neighborhood, behind the school and on the
play field, in the workplace, library and museum, and through the various mass me-
dia, informal learning is by far the most prevalent from of adult learning”.
Thus, mobile technologies become a powerful tool to support contextual life-long
learning, by being highly portable, individual, unobtrusive, adaptable to the context
of learning, the learner’s evolving skills and knowledge [11].
Some characteristics of this type of applications described in [12] include: the ur-
gency of learning need, the initiative of knowledge acquisition, the mobility of learn-
ing setting, the interactivity of the learning process, the “Situatedness” of instruction-
al activities and the integration of instructional content.
At first, informal learning was bounded on formal school and non-formal learning
in courses [10]. From organizational informal learning processes are not formally
organized and are not funded institutions [13]. A broader approach is that of Living-
stone which is geared towards learning and self-directed and self emphasizes self of
the process by the student [14].
Thus, the work presented in [16] indicates that there are two types of exhibits, stat-
ic and dynamic. For instance, [16] makes a distinction between exhibit (broadcasts
facts) and informal learning. Some examples of dynamic exhibitions are [17, 18].
On [19] a prototype developed in our research laboratory treats the idea of teach-
ing the Geography subject at the school, the library or any other learning environ-
ment. It presents a connection between the student and the physical material provided
by this subject.
In this case is a panel which goal is the identification of regions in a country and
the flags of each region into a political map.
This panel is presented in such a simple and intuitive way students can understand
and interact with it without the help of any tutor (see Fig 3a).
On the other hand, the PDA asks for personal information and operation modes.
Students are free to choose between two operation modes: the exam or a practice. The
difference between these two modes lies on whether results are sent to the professor
or not. To select the option, the student has just to approach the PDA to the mode
icon on the panel. Once the operation mode is selected, a question is displayed. The
question may be the identification of a region in the map or a flag corresponding to a
defined region on the PDA screen. For instance: “Select a state flag and then locate it
into the map”. At the right bottom of the screen the students observes the number of
the question he/she has answered and the total number of them. To select the answer,
the student has just to approach the PDA to the flag or region image depicted in the
panel. Once questionnaire was fulfilled by a student, the results are displayed on the
PDA screen.
To carry out these tasks, at the bottom of the panel appears the control panel that
shows the following icons: the operation modes, the go to previous question, the go to
next question, the accept answer, the cancel answer, the exit application without send-
ing results and the exit application sending result to student and professor (if in exam
40
mode) emails. Besides, this application supports the playback of multimedia content
(audio, text, video, etc.).
2.4 Geo-referenced Panels
Geo-referenced panels expose a solution to extends and manipulate physical maps
that are present in our daily life. Thought these panels the system is able to interpret a
position selected by the user into the map and turn it into a geographical position.
Thus, users are able to store and retrieve information related to this location.
These panels can be deployed on town councils, public administrations, cultural or
educational institutions to share information.
In tour scenario, tourists are able to share experiences about places through the
map. For instance, users are able to select a region on the map and associate com-
ments to that region. These comments are then read by other users just by querying
these comments. Other scenarios include the use of these panels in bust stops, railway
and metro stations and so on. For instance, they may provide information about traffic
in the public transport network. An implementation of this system provides the ability
to query information from a zone in the map. A typical map is shown on Fig. 3b that
is located into the entrance of a public building.
3 Web Applications based on RFID Panels
In this section we study the conceptual foundations of Web applications based on
RFID panels. Thus, these applications can be defined in terms of three basic concepts:
Tool, Command and Resource. The relationship between these entities is defined by
the Command design pattern [12] where the Tool plays the role of Receiver and the
Command plays the role of ConcreteCommand.
3.1 System Architecture
The system communication is supported by a client-server application. This commu-
nication is based on a SOA architecture that allows users to store and retrieve in-
formation. Thus, when RFID tag identification (ID) is read by the RFID reader in the
client device, the ID is sent to the server to be processed via a web service call. The
server then turns this ID into a command or tool accordingly. Thus, a command is
executed on a tool resulting in a resource that is sent back to the client.
In order to carry out this process, we have organized the application in the follow-
ing packages: client, server, framework, framework extension and commons; as de-
picted on Fig. 1.
The client packages contains those classes that are part of the client application,
the server package contains those classes that are part of the server application, the
commons package contains those classes that are part of both the client and the server
applications, and finally the framework and framework extension packages that are
also part of the server application.
41
Fig. 2. Package diagram.
3.1.1 The Client Application
The client application conceptual model is depicted on Fig. 2. These classes are part
of the client package.
Fig. 3. Client application conceptual model.
Conceptually a Panel is composed by a set of Tags that are read by RFIDReader.
When the reader reads a tag it creates RFIDReaderEvent that is set to a set of
IRFIDReaderListeners (implementing the Observer design pattern [12]). As the Ap-
plicationClient implements the IRFIDReaderListener interface, it receives
RFIDReaderEvent when a tag is read. Thus, The ApplicationClient sends the getURL
message to the URLFactory jointly with the tag id and data read by the reader. The
getURL method returns a URL that represents an action on the server. The URL is
built from the data and id information (http://data?id=id). Then this URL is sent to the
server via the WebBrowser showing the resource that is the result of the operation.
Besides, the ApplicationClient is configured by the ApplicationClientConfig that
holds the RFID reader configuration represented by the RFIDReaderConfig.
3.1.2 The Server Application
On the server side, the application is defined by two main parts: the server infra-
42
structure that defines basic services to be used by the framework to carry out its job,
and the server framework itself that is described in Section 4.
The server infrastructure conceptual model is depicted on Fig. 3. These classes are
part of the client package.
When the server application receives a request from the network, the WebHandler
creates the Request and Response objects and sends them as parameter to the Cli-
entProxy through the process method. The ClientProxy is the representation of a
client at the server side of the application keeping the client state on the server. Thus,
the process method retrieves the tag ID from the Request object through the getID
method defined by the URLFactory. Then, it delegates to the framework the respon-
sibility of processing the request. The result of this process is then sent back to the
client by the Response object.
Fig. 4. Server infrastructure conceptual model.
4 Framework
This section exposes main characteristics of the proposed framework describing the
core of this work.
The framework is based on the combination of two design patterns, the Proxy [12]
and the Command [12] design patterns. Whereas we have applied the Proxy design
pattern to represent the client state on the server side of the application, the Command
design pattern was used to model the operations performed by the user through the
physical interface. The development process of Web applications based RFID panels
is defined in two simple steps:
1. The application definition
2. The application configuration
While the application definition is based on framework subclasses definition that
implement the logic of the application (i.e. tools, commands, etc.), the application
configuration defines the mapping between physical information (RFID tag infor-
mation) and the application tools and commands
4.1 Application Definition
This framework is based on three main classes to be sub-classified by developers in
43
order to build Web applications based on RFID panels. These classes are the Cli-
entProxy, Command and Tool. The framework is depicted the applications ex-posed
on related work (Section 2).
The ClientProxy is the entry point to the framework functionality. The process
method receives two parameters, Request and Response. These parameters represent
the Web Request and Response objects. This method retrieves the RFID from the
Request object through the getID method defined in the URLFactory class. The RFID
is then turned into a command, a tool or both of them. This process is carried out by
two hush tables that contain tools and commands indexed by RFIDs. They are loaded
in the loadToolsAndCommands method from an XML file following the schema de-
fined in the Fig. 5.
Once tool and command (represented by the currentTool and currentCommand in-
stance variables) were updated, the command is executed on the tool via the exe-
cuteOn method. Thus, the desired command represented by a Command subclass
performs the method representing the action to be performed on the tool represented
by a Tool subclass. The result of this process is a Resource that represents the result
of the operation. To illustrate the framework functionality we have depicted sequence
diagram of the museum application sample representing how information is processed
through the framework on Fig. 4.
Fig. 5. Sequence diagram exposing the process method.
First step to develop a Web applications based on RFID panels using this frame-
work is the definition of the application root tool. This tool is a subclass of the Tool
class that represents the root of all tools in the system. It will define, at least, one
method per command to be defined in the application. Then, the set of commands that
will be supported by the tools of the application will be defined. All these classes will
be subclasses of a root command class that subsequently will be subclass of the
Command parameterized class. The class parameter will be the root tool class we
have defined in the previous step. Subclasses of command root class will override the
executeOn method by calling the method on the tool that represents the command.
Once methods and tools were defined, we have to define the application proxy class.
This class is a subclass of the ClientProxy parameterized class that takes the root
command and root tool classes as parameters. The only method that should be rede-
44
fined is the loadToolsAndCommands method to load classes from XML mapping
files. Thus, the application definition phase of the development process concludes.
4.2 Application Configuration
The application configuration phase is far simpler than the application definition. It
consists on assigning RFIDs to a command, tool or eventually both of them. This
assignation is characterized in the XML file defined on Fig. 5.
Fig. 6. XML schema of framework configuration.
Thus, each application will define the relationship between the physical environ-
ment it is immersed and the command and tools that are part of the application do-
main logic.
5 Conclusions and Future Work
This work presents a framework to develop Web applications based on RFID panels
that allow developers to build this type of applications in terms of three simple con-
cepts: Tool, Command and Resource.
It employs a client-server architecture based on a SOA (Service Oriented Architec-
ture) that allows panel’s user to retrieve and store information through the Internet.
This work also exposes that, by using this framework can build different applica-
tions from domains, showing the flexibility and extensibility of this software artifact.
The most relevant advantages of employing this framework are: The simplicity and
flexibility of its design which is based on design patterns [12]; the ability to create
novel gestural interfaces for mobile devices equipped with RFID technology; the
provision of a scalable solution to add: new tools (applications), new commands
(functionality to tools) and resources to the system; the ability to create applications
that provide internationalized information in physical spaces. The deployment costs
are low (apart from compact flash reader) and it is a highly scalable solution
Finally, we plan to create a content management application that enables developers
for customization according to the application domain. We also are extending the
framework to cope with other technologies, such us IrDA, Bluetooth, BIDIs, Code
bars, etc.
45
References
1. Tesoriero, R., Tebar, R., Gallud, J. A., Penichet, V. M. R.; Lozano, M. D.: Inter-active
ECO-Panels: Paneles Ecológicos Interactivos basados en RFID. Proceed-ings IX Interna-
tional Congress of Person-Computer Interaction 2008. ISBN: 978-84-691-3871-7. Pages:
155-165. Editors: M. D. Lozano and J. A. Gallud. Publish-er: University of Castilla-La
Mancha. Albacete. Spain. (June 2008)
2. Butz, A., Baus, J., Kruger, A.: Augmenting buildings with infrared information. In Pro-
ceedings of the International Symposium on Augmented Reality ISAR 2000, IEEE Com-
puter Society Press, 93-96 (2000).
3. Ciavarella, C., Paternò, F.: Design Criteria for Location-aware, Indoor, PDA Ap-plications.
In: Chittaro, L. (ed.) Mobile HCI 2003. LNCS, vol. 2795, pp. 131–144. Springer, Heidel-
berg (2003)
4. Ciavarella, C., Paternò, F.: The design of a handheld, locationaware guide for in-door
environments. Personal and Ubiquitous Computing, Vol.8 N.2, Springer Verlag, 82-91.
(2004)
5. Paternò, F, Santoro, C.: Exploiting mobile devices to support museum visits through multi-
modal interfaces and multi-device games. WebIST 2007, Barcelo-na, Spain, March 3-6,
(2007)
6. Tesoriero, R, Gallud, J.A., Lozano, M., Penichet, V.M.R.: Using Active and Pas-sive RFID
Technology to Support Indoor Location-Aware Systems. IEEE Trans-actions on Consumer
Electronics, Volume 54, Number 2. ISSN: 0098-3063, pp. 578-583, (May 2008)
7. Long, S.: Rapid Prototyping of Mobile Context-aware Applications: The Cyberguide Case
Study. 2nd ACM International Conference on Mobile Compu-ting and Networking (Mo-
biCom'96), November 10-12, (1996)
8. Davies, N.; Mitchell, K.; Cheverest, K. and Blair, G.: Developing a Context Sen-sitive
Tourist Guide. First Workshop on Human Computer Interaction with Mo-bile Devices,
GIST Technical Report G98-1 (1998).
9. Yang, J.; Yang, W. Denecke, M.; and Waibel, A.: Smart sight: a tourist assistant system.
3rd International Symposium on Wearable Computers, San Francisco, California, 18-19
October, 1999, pp. 73-78 (1999).
10. Tesoriero, R, Fardoun, H.M., Gallud, J.A., Lozano, M., Penichet, V.M.R.: Interac-tive
Learning Panels. Proceedings of 13th International Conference on Human-Computer Inter-
action. Town and Country Resort & Convention Center, San Die-go, CA, USA, Lecture
Notes in Computer Science, ISSN: 0302-9743, vol 5613, pp. 236-245. Springer Berlin /
Heidelberg, (2009)
11. Romero, S., Tesoriero, R., Villanueva, P. G., Gallud, J. A., Penichet, V. M. R.: Sistema
Interactivo para la Gestión de Documentos Georeferenciados basado en RFID. Interacción
2009, X Congreso Internacional de Interacción Persona-Ordenador. Barcelona. ISBN-
13:978-84-692-5005-1, (2009)
12. Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Abstraction and Reuse in
Object-Oriented Designs, Addison-Wesley Professional, ISBN 0201633612. (1995).
46