Services in them. Although such proposals have
made a valuable contribution, they still do not cover
specific issues such as the continuous connections
and disconnections of mobile devices with the
subsequent renewals of IPs. Moreover, while the
above proposals cover the essential aspects of the
Web Services they still left uncovered other aspects
that have proved very useful such as the support for
both synchronous and asynchronous invocations.
In previous works (Jansen, 2013a, Jansen, 2013b,
Guillén, et al., 2014 and Miranda, et al., 2013) the
authors presented an implementation that supports
the deployment of Web Services in mobile devices.
The use of proxies enabled support for connection
and reconnection of devices with IP renewals. Now,
this paper focuses on the necessity of both
synchronous and asynchronous invocations and how
they can be enabled in mobile devices. This equals
mobile devices with the potential offered by
conventional servers for deployment and invocation
of Web Services calls. Thus, mobile devices are
provided with capabilities not exploited so far
opening the door to a new generation of cloud
applications where mobile devices gain relevance.
As an example it is shown how the proposed
implementation has been used to build a M2M
messaging application.
The outline of the paper is as follows. Section 2
presents the context of the work. In section 3 the
necessity and benefits of both synchronous and
asynchronous Web Services invocations in mobile
devices is discussed. Section 4 proposes an
implementation of both invocation methods. Section
5 presents an experience of using the proposal for
the implementation of a M2M messaging app.
Finally, section 6 summarizes the conclusions and
future works.
2 STATE OF THE ART
The idea of providing Web Services on mobile
devices was probably presented first by IBM
(McFaddin, et al., 2003). This work presents a
solution for a specific scenario where Web Services
are hosted on mobile devices. More general
approaches for providing Web Services on mobile
devices are presented in (Srirama, et al., 2006) and
(AlShahwan, et al., 2010). In (Li and Chou, 2011),
another approach, focusing on the optimization of
the HTTP protocol for mobile Web Services
provisioning, is presented. Importantly, none of the
mentioned approaches manages to overcome certain
limitations of mobile devices, as demonstrated in the
next section.
Yet, these approaches do not overcome certain
limitations of mobile devices, e.g., permanently
changing networks, IP addresses from networks with
network address translation (NAT) or the fact that
mobile devices are usually not designed to be always
online (might be switched off, might have not
network connection, …).
An additional approach that covers these
problems, is presented in (Jansen, 2013a). This
approach utilizes a central proxy infrastructure, that
allows on the one hand to cover the mentioned
problems and on the other hand establishes a stable
infrastructure for mobile device to provide
standardized Web Services. As we will see in the
following sections, this central proxy infrastructure
could easily be extended in order to provide also
asynchronous Web Services on mobile devices.
Additionally, the work presented in (Jansen,
2013b) argues for a new perspective to Web
Services especially if those services are deployed to
mobile devices.
An alternative proposal for deploying services in
Mobile devices has been presented in (Guillén, et al.,
2014 and Miranda, et al., 2013). This work focuses
not only on technical issues but also on the kind of
services that could be served from mobile devices
and the new generation of applications they would
enable.
All the above works let the authors see the
potential of having Web Service in mobile devices
and the necessity of having them fully featured,
including asynchronous calls.
After contextualizing the presented work in the
context of the current research, the next section will
start describing the basic difference between
synchronous and asynchronous service requests.
3 ASYNCHRONOUS VERSUS
SYNCHRONOUS WEB
SERVICES
In both, programming and the theory of distributed
systems, a differentiation between synchronous and
asynchronous tasks is well defined. This section
provides a short overview about this differentiation
in the first subsection.
Furthermore, based on the description of the
differentiation synchronous and asynchronous calls,
the necessity of asynchronous calls with respect to
Web Services provided on mobile devices is argued.
CLOSER2014-4thInternationalConferenceonCloudComputingandServicesScience
646