International Journal of Digital Content Technology and its Applications
Volume 3, Number 4, December 2009
M-Library. A New Platform to Provide Mobile-Services of
Libraries.
Montserrat Mateos Sánchez *Corresponding author , M. A. Sánchez Vidales, R. Berjón Gallinas, E.
Beato Gutiérrez, A. Fermoso García
Faculty of Computer Science, Universidad Pontificia de Salamanca, C/ Compañía, 5, 37002
Salamanca, Spain
mmateossa@upsa.es, masanchezvi@upsa.es, rberjonga@upsa.es, ebeatogu@upsa.es,
afermosoga@upsa.es
doi: 10.4156/jdcta.vol3.issue4.16
mobile devices, then these services could be available
to any user at any time in anywhere (Figure 1).
Abstract
Nowadays, most of libraries are computerized, and
moreover they have available for users their basicservices through the Web. Recent studies have
concluded that 40% of people have an Internet
connection, and therefore, these basic-services of
libraries would be available to those people from
where they are connected. If we consider that 100% of
users usually use mobile phones, if these services could
be available through mobile devices, then the services
would be available to any user at any time and from
any location.
In this paper we expose the architecture of a new
platform developed to provide these basic-services of a
library over mobile devices. Besides we explain the
services of mobile devices in which they are based on;
finally we explain the technology used to develop the
platform.
Before M-Libraty
Operators
WAP
Pages
SMS
operators
Mobile user
100%
Fast
(all services)
User without
Internet
100%
Slow
(all services)
Internet user
45%
Fast
(all sercices)
Mobile user
100%
Fast
(alert services)
After M-Library
After M-Libraty
Keywords
Figure 1. Schema with the state of a library before and
after M-Library.
Mobile Services, library, WAP, platform of software,
architecture
When in 1979 the first Mobile devices appeared,
they are based on analogue technology and it was
unthinkable provide such services through mobile
phones, but these devices are evolved a lot since then;
the great breakthrough came in 2001, when the first
devices with colour LCD display appeared. In the same
year appeared in Japan the third-generation phones
(3G) based on UMTS (Universal Mobile
Telecommunications System); the main innovation
was the incorporation to the device of a second camera
to video calls. Currently these 3G or 3.5G devices are
commonly used.
In recent years mobile technology has suffered a
great growth and a great progress, so new possibilities
are available [1] [15] [17][19]. Some of these
possibilities are: transmitting, receiving and storing
1. Introduction
Nowadays most of libraries are computerized; its
management and access to its catalogue are both
carried out digitally; otherwise, most of them use the
Web to provide some of their basic services, such as
general information request, catalogue access, queries
about the state of the loans and reservations and
renewals of loans and reserves, among others. Recent
studies have concluded that only 40 per cent of people
have available an Internet connection, and therefore,
these services could be available for these people from
where they are connected to Internet. If we consider
that 100% [14] of users usually use mobile phones, if
the basic services of libraries could be available on
133
M-Library. A New Platform to Provide Mobile-Services of Libraries.
Montserrat Mateos Sánchez, M. A. Sánchez Vidales, R. Berjón Gallinas, E. Beato Gutiérrez, A. Fermoso García
information, connecting to Internet or running
applications; Moreover, this growth has caused that
users would require both new available services and
new applications over this “recent” platform.
With these new features, we think that it can be
supplied to users libraries basic-services, so that they
can be most accessible to those users.
Despite the fact that mobile devices and terminals
have evolved considerably, nowadays they still have
some constraints that we have to consider when we are
going to develop applications for them; mobiles
typically have among others lower-power computing,
small memory size, small displays with low resolution,
limited capacities of input, run-time depending of the
battery, low and variable bandwidth, among others.
With all of these constraints, it can not possible reuse
the existing systems, platforms and architectures
existing to develop applications/services for mobile
phones. Both new technologies and new development
architectures are therefore needed to overcome the
restrictions of these devices.
In this paper we propose the architecture of a
platform to provide the basic-services of a library using
mobile devices, which are at the same time so
advanced and so restricted. Besides, these services are
developed and implemented for a particular library
using the proposed architecture.
With this platform basic-services of a library could
improve in dramatically in quality and availability.
The rest of paper is structured as follows. First we
review the different services of mobile phones at
present available over these devices, emphasizing the
services used to develop the new platform that
provides the basic-services of a library; then, we
expose the technologies most used to develop
applications and services for mobile phones; in section
4 are explained both the architecture proposed to
develop the platform as how it has been developed.
Finally, we expose the main conclusions.
•
•
•
•
2. Mobile Services
The most important mobile services are [18][13]:
Voice service. It was the first service in mobile
terminals. It is mainly used for communication
between people and it is the main service mobile.
This service justifies the possession of a terminal.
Nowadays, this service represents 80% [3] of
operators business.
• Short Message Service. Popularly it is known as
SMS. This service allows sending text between
mobile terminals with a maximum of 160
characters. Despite being short text messages, the
service is the most popular in the history of mobile
•
•
telephony. Gartner [3] says that in 2006 936,00
million SMS were sent in the world and it is
expected to reach 2.3 trillion messages in 2010.
Multimedia Service. Much of current mobile
phones can store and send ringtones, logos,
photographs, graphics or music. They have
become small multimedia consoles. Multimedia
message service is not as popular as SMS. On the
one hand because all terminals have not available
this service and on the other hand because they
have a high price.
Location service [9]. This service is based on the
nature of the GSM (Global System for Mobile
Communications) network [2][16]. The coverage
of a network operator is established on the basis of
cells, the size of the cells is dependent on the
density of antennas. In urban areas where the
number of antennas is large, the size of the cells is
smaller; in this case the location is established
with an accuracy of about 100 to 500 meters.
Obviously this is less accurate when we are on
roads or populations with a lower density of
antennas. The location service is available on all
phones, the drawback is the accuracy therefore the
applications of this service are very limited.
However, at present there are already mobile
devices incorporating a mobile GPS (Global
Positioning System).
Video service. The 3G terminals allow video calls
and audio in real time. In addition, this service lets
you send, receive and play video. Based on this
service, for instance, you could access to videomonitoring circuit through the mobile device or
watch television.
Applications on the mobile. Mobile terminals have
become small computers, they have an operating
system, have storage capacity and it is possible to
develop applications running on it, for example
using J2ME (Java Micro Edition or JavaMe)
[5][6][8][20] or Windows Mobile SDK [12][22].
These features expand significantly the number
and type of projects that could be developed to run
over these new devices.
Data service. The last generation of mobiles has
the possibility of Internet connection. So, this
connection can be the base to others services. For
example e-mail in a terminal and Web browsing
are now two of the main applications of data
service and it is expected to grow in the future.
These are services that we could find mainly in
mobile devices today. Some of them (just short
message service and data service) have been used to
134
International Journal of Digital Content Technology and its Applications
Volume 3, Number 4, December 2009
design and to implement our platform in order to
provide the basic services of a library.
Besides it is necessary implement several
messaging services (sms) for the services of
alerts/warnings; they will be run on a server, and newly
the best language is Java because is the most portable
code.
3. Technologies of Development
In order to develop and to exploit services for
mobile phones is possible to use several technologies
such as WAP (Wireless Application Protocol), J2ME
(Java 2 Micro Edition) or the development platform of
Windows Mobile among others.
WAP [7][21] is an Open International Standard for
applications that uses wireless communications. It is
the specification of a set of protocols to normalize the
way in which wireless devices can access and interact
with services and information easily and quickly. WAP
is oriented to mobile devices with displays restricted,
small keyboards and low bandwidths. This protocol
allows to operate to applications and services over a
large number of networks (CDMA , WCDMA, CDPD,
UMTS, GSM, …). It is basically oriented to present of
contents in a terminal. The version 2.0 presents
important improvements with regard to version 1.0.
One of these improvements is a better design of
contents over portals, using XHTML and WCSS. WAP
is supported by most mobile devices having a microbrowser.
Another possibility is to develop the services using
J2ME or JavaME [5][6][8][20], that is, with the “mini”
version of Java. It is a Java platform specially oriented
to devices with limited capacities over the personal
computer version. It is oriented to develop applications
running on mobile phones, although it is possible to
develop client/server applications which interact
through network services.
On the other hand, in order to develop applications
running on mobile devices with terminals based on
Windows Mobile [22], it must use the platform of
Microsoft using Microsoft Visual Studio and Windows
Mobile SDK; with these technologies, it is possible to
produce software in native code (Visual C++) and in
managed code (Visual C#, Visual Basic .Net). The
Windows Mobile Platform offers features such as data
connectivity seamless and it has enhanced security.
To develop and to implement the proposed services
it would be desirable to use a technology available to
the maximum of devices, for this reason we have not
consider the Microsoft solution. On the other hand,
JavaMe is another important possibility because a lot
of mobile phones support this technology, but it is
more oriented to running of applications than to
presentation of contents. So that, being on mind the
services to develop are oriented to the presentation of
information and contents to the user, we thought that
the most suitable it would be use a portal WAP, using
to develop the applications of server, Java language[4].
4. Proposed Platform
4.1 Description
Using our platform any user of a library will have
available, regardless of his location, basic services
offered by the libraries.
The platform proposed has two subsystems; the
subsystem of messaging and the services of data based
on browsing.
Subsystem of messaging provides through the
mobile phone some basic-services offered nowadays
by libraries provide through traditional post or e-mail.
Specifically alerts and warning services related to loan
service, for example the expiry date of a loan, or the
availability of a reserved book/resource (Figure 2).
From such alerts/warnings, the user could carry out
several actions; the user could return the loaned
resource/book or in case of an alert about reservation
go to the library to loan the book that it is available. If
these services are provide through sms phone, these
services are more efficient and faster than by e-mail or
traditional post. To develop this subsystem we have
used a push message service, in which the library is the
actor that initiates the communication. In these cases
the user should have been signed up for the service
previously in order that the library could have both the
mobile phone number and the user authorization.
Figure 2. Push message schema to provide alert
services.
In case of expiration date of a resource, the user has
the option of renewing the resource; this is possible
135
M-Library. A New Platform to Provide Mobile-Services of Libraries.
Montserrat Mateos Sánchez, M. A. Sánchez Vidales, R. Berjón Gallinas, E. Beato Gutiérrez, A. Fermoso García
sending another SMS, so in this case the
communication is established bilaterally.
Another bilateral service that it has been
implemented is the renewal of a loan and the query of
state of loans and reserves of a user (Figure 3). To
develop these services it has been used a pull-push
schema; the user is the actor that initiates the
communication and the library answers back with
another message showing if the renewal has been
possible or not. In case of query, the queried
information will return.
the presentation of contents and from the component
that manages all the client requests.
Figure 4. Schema to provide services by means
browsing (to query catalog, to request general
information, ...).
On the WAP subsystem, the model handles the
access to the database using JDBC (Java DataBase
Connectivity), making the searches, insertions and
updates of data on a database implemented with
Oracle. To optimize the connection to the database, it
is used a factory of models, so that there is only one
connection for all requests that they are made from
different sessions.
The controller has been implemented through a
class that extends the HttpServlet class. This
component receives request from users, and after this,
and after that it carries out a connection to the factory
of models.
The viewer will generate the contents that are
displayed on the mobile phones, in a dynamic way
using JSP (Java Server Pages) technology.
The subsystems of messaging services have been
implemented using the same architecture. The model
component is the same that it has been used for
developing browsing services.
Using push services, in which the library is the actor
that it initiates the communication, the request to the
controller is carried out periodically by the master
class (for example, one time for each 12 hours); the
master class carries out the requests about which are
the loans out of dated or which are the available
reservations. In this case, the viewer will not generate
JSP pages, but it will generate messages that they are
transmitted by mDirectSender [11] to the phone
operator and the phone operator will send them to the
user.
Figure 3. Pull-Push message schema to request actions
or information.
The other subsystem provides browsing services by
means the development of a WAP portal (Figure 4).
This subsystem has been implemented because, there
are several services more suitable for the user using
browsing than messaging; some of them are querying
the catalogue, updating the user information, or
requesting general information about the library. With
this subsystem the user could connect to a web of the
library running a micro-browser on the mobile phone
as if he was browsing from a pc, but with the
advantage of having available an application and an
interface adapted for mobile terminals.
4.2 Architecture and Development
The platform proposed has three subsystems, two
for messages services and one for data services; all of
them have been developed and implemented using a
MVC (Model-View-Control) pattern of design (Figure
5); in this pattern is separated the part that implements
the business logic from the component that generates
136
International Journal of Digital Content Technology and its Applications
Volume 3, Number 4, December 2009
Portal Wap- Browsing
viewer (jsp)
ServletListener
model
(java)
Datasource
Ejemplar
Libro
Reserva
Prestamo
Usuario…
controller
(java)
response
Servlet
Push Services
(java)
request
master
model
(java)
controller
push
Datasource
(java)
Ejemplar
Libro
Reserva
Prestamo
Usuario…
viewer
(java)
push
USER
(java)
response
mDirectSender
Oracle
database
response
viewer
pull-push
(java)
model
(java)
request
Datasource
controller
Ejemplar
Libro
Reserva
Prestamo
Usuario…
(java)
pull-push
request
(servlet)
mContentService
MOBILE
OPERATOR
Pull-Push Services
Figure 5. Proposed architecture to develop the platform to provide basic services of a library.
137
M-Library. A New Platform to Provide Mobile-Services of Libraries.
Montserrat Mateos Sánchez, M. A. Sánchez Vidales, R. Berjón Gallinas, E. Beato Gutiérrez, A. Fermoso García
In the case of pull-push services, in which the user
is the actor that initiates the communication, the servlet
mContentService [10] will be the component that
receives the sms from the user through the phone
operator; after that, the back message is built by the
viewer with the requested data to the modeller; finally
the message will be send to the phone operator through
of mDirectSender.
With this architecture each subsystem and each
component are independent between them, to carry out
a migration of this platform to another library only
would be necessary to change the data access.
Figure 7. Wap-Page to query a book on the catalog
and page with a result.
4.3 Description of Services
Being in mind the nature of the available services,
we could distinguish two types: services of data
available through browsing (Figure 4, Figure 6) and
services available through messaging (Figure 2, Figure
3).
•
Figure 6. Display with general information about the
library (a) and display with the main menu (b)
Figure 8. Wap-Page to authenticate a user and WapPage with a result of a query about the reservations of a
user.
The most important browsing services are:
•
Query of personal reservations (Figure 8); with
this option is possible to query reserved
resources/books. The user has to authenticate with
her name/surname and her number of user.
Access catalogue to query the resources/books
(Figure 7); it is possible carry out queries by
different fields (author, title, isbn, …) n the same
way that for online or web catalogues but now
using the mobile. If the resource is loaned or isn’t
available, in this moment, through the same page,
it is possible to carry out the reservation of the
books.
138
•
Query of loaned books/resources (Figure 9a); with
this service, the user could query the books
loaned; and also to renew the loan. As in the
previous case, in order to query this information
the user has to authenticate.
•
Querying and updating the personal information
(e-mail, address, phone number, …)(Figure 9b).
International Journal of Digital Content Technology and its Applications
Volume 3, Number 4, December 2009
5. Conclusions
With the development of this platform, we have
available a full system to access to a basic-services of a
library through mobile devices. Without this platform,
the services could be available for users but in a
traditional way, that is, going to the library, or
connecting to internet from a pc. If they are available
through the mobile phones, the much more users have
available these basic-services because everyone has a
mobile terminal.
So in this way, we have a library closest and more
accessible to the user, improving the services that they
provide. Besides, these services would be available in
most of mobile phones because the technologies used,
that is sms and data services (browsing) are supported
by the most of current mobile phones.
On other hand, as we have proposed an architecture
using a MVC pattern, in which are separated the
component that implement the business logic, from the
component that generates de presentation of contents
and from the component that manages the request of
users; if we want reuse this platform for any other
library then only we would have to change the
modeller or the access to the data.
At the same time, as we have developed three
independents subsystems, it could be possible reuse
only one of them regardless the rest of subsystems.
Figure 9. Diplay with the results of a query about
loaned books (a) and diplay to update the personal
information of a user (b).
The services available through messaging services
are:
•
Services of alerts of loans out of date and alerts of
available reservations; they are push services and
the user receives in their mobile phone an
alert/warning sms warning about the event. In
these sms, it is provided the type of service and the
title and author of the book. Next messages are
examples of this type of messages:
mlibrary:Loan Out-of-date:Title:Operating System. Author:
Stallings.
6. References
mlibrary:Available Reservation: Structure Data in C. Author:
Joyanes.
•
[1] M. E. Beato, M.A Sánchez, M. Mateos, A. Fermoso and
R. Berjón. Los dispositivos móviles: casos prácticos
sobre esta nueva plataforma para aplicaciones. 6th
IWPAAMS. Universidad de Salamanca, 2007, pp. 231240.
[2] M. A. Dru and S. Saada. Location-Based mobile services:
The essentials. Alcatel Telecomunications Review, 2001,
pp. 71-76.
[3] Gartner (2007). Available on http://www.gartner.com
[4] http://java.sun.com/j2ee/overview.html
[5] http://java.sun.com/javame/index.jsp
[6] M. Jode. Programming Java 2 Micro Edition on Symbian
OS. John Wiley & Sons, Ltd, 2004.
[7]W. M. Lee, S.M. Foo, K. Watson, T. Wugofski,
Beginning WAP, WML & WMLScript. Wrox Press, Ltd.,
2000.
[8]W. Lei and S. Yin, J2ME technology on mobile
information device. Modern computer, 2004, Vol. 1, pp.
17-20.
[9] M. Mateos Sánchez, R. Berjón, M.A. Sánchez, M. E.
Beato, A. Fermoso. A Case Study of a Pull-WAP
Location-Based Services Incorporating Maps Services.
IWANN (1) 2009. pp. 1240-1247.
Services of querying of loans, reserves of books,
and renewal of loans; these services are based on
pull-push technology, and with them the user
through a sms makes a request of information or
asks for an action to the system. The system
provides to the user the information requested
through a sms (loaned resources or available
reserves) or the result of carrying out the action (if
it was possible or not the renewal). The sms to
make a request to short number could be like some
of the next:
mlibrary loan
mlibrary reserv
mlibrary renewal <title>
In the same way, some of possible answers from
the library could be like these:
mlibrary loaned book: title: XXX expiration date: XXX
mlibrary reserved book: title: XXX expiration date: XXX
mlibrary inform: correct renewal
139
M-Library. A New Platform to Provide Mobile-Services of Libraries.
Montserrat Mateos Sánchez, M. A. Sánchez Vidales, R. Berjón Gallinas, E. Beato Gutiérrez, A. Fermoso García
[10]MContent. http://www.tempos21.com/web/files/pro
d uctos/MContent.pdf
[11] MDirect. http://www.tempos21.com/web/files/prod
uctos/MDirect.pdf
[12]T. Mikkonen. Programing Mobile Device; An
introduction for practitioners. Wiley, 2007.
[13]Open
Mobile
Alliance,
2008.
http://www.openmobilealliance.org
[14]Pyramid
research,
2007.
Available
on
http://www.pyramidresearch.com
[15]M.A. Sánchez and M.E. Beato, E.: Proyectos de
Innovación Tecnológica Móvil y Chip. Publicaciones
Universidad Pontificia de Salamanca. Salamanca, 2008,
pp. 43-48.
[16] J.H. Schiller and A. Voisard, Location-based services.
Morgan Kaufmann Publishers. 2004.
[17] M. Shirali-Shahreza. M-Brochure. International Journal
of Digital Content Technology and its Applications, 2 (1),
pp. 28-34, 2008.
[18]Telefónica,
2007.
MovilForum.
Web
para
desarrolladores. http://www.movilforum.com
[19] Tempos21, 2004. Innovación en aplicaciones móviles.
http://www.tempos21.es
[20] M.J. Yuan, Enterprise J2ME. Developing mobile java
applications. Prentice Hall PTR, NJ, 2004.
[21]WAP
2.0
Technical
White
Paper,
2002,
http://www.wapforum.org/what/WAPWhitePaper1.pdf.
[22] A. Wigley, D. Moth and P. Fod. Microsoft Mobile
Development Handbook. Microsoft Press, 2007.
140