running in.
Since there is nothing like a free lunch, this
approach also provides some drawbacks, e.g. the
presented approach implements a polling mechanism
that permanently polls for new service requests.
Therefore, this approach provides an overhead with
respect to the network communication and the
computational power of the mobile device. At least
the part with the computational overhead can
dramatically be reduced by adjusting the priority of
the polling mechanism, according to the priority of
the provided Web Service.
Another drawback of the presented approach is
that it relies on a publicly available proxy
infrastructure for the part of the framework that
dynamically generates the Web Service proxies.
This drawback might be overcome, e.g. if mobile
telecommunication companies provide this kind of
infrastructure centrally.
In contrast to the before mentioned approaches,
the approach presented in this paper differs with
respect to one major aspect: from a network
technical point of view, there is no server instance
installed on the mobile device. Therefore, a certain
Web Service client does not call the Web Service on
the mobile device directly but calls a centrally
deployed proxy. The Web Service running on the
mobile device polls in regular intervals for any new
message requests of interest. The exact sequence of
the different messages and events are described in
more detail in section 4.1. Since especially polling
mechanisms also provide a certain drawback, one of
the major questions concerning the presented
approach is the question of benefits and drawbacks
of the polling mechanism and in particular whether
the benefits justify the drawbacks.
As already mentioned before, one of the major
problems by dealing with Web Services on mobile
devices is the fact that mobile devices usually switch
their networks pretty often. Therefore, the Web
Service running on a mobile device is usually not
available under a fixed address, which leads to a
number of problems for the consumer of a mobile
Web Service. Besides the usual network switch, also
the fact that mobile devices are usually not meant to
provide 24/7 availability, but are designed towards
providing his user with the possibility to exploit
certain service, e.g. phone calls, short messages,
writing and receiving emails, … yield to the problem
that mobile devices might get switched off by the
user. Hence, the provided Web Service might not
only be available under different network addresses
but might not be available at all.
All these drawbacks can be solved by using the
here presented approach. By using the central proxy,
the service requests of a certain Web Service client
can be stored and if the mobile Web Service is
running, he can pull for service requests that of
interest to him. Since from a technical point of view
the Web Service provider only acts as a client to the
Web Service proxy, the potentially changing
network addresses of the mobile do not provide a
problem at all.
Furthermore, one of the major drawbacks of the
described polling mechanism can be limited by
adjusting the priority of the Web Service running on
the mobile device, resulting in a lower frequency of
the polling for the service request.
3 SCENARIO DESCRIPTION
The major idea for the implementation of the
middleware is to provide a Web Service proxy,
according to the proxy design pattern (Gamma et al.,
2005), in order for being able to overcome certain
problems in mobile scenarios as described by
(Svensson, 2009). One major problem here is that
mobile devices usually switch networks pretty often,
e.g. at home the mobile phone might be connected to
a WiFi network, at work the connection might be
established through another WiFi network and on
the way from work to home the mobile phone might
be connected to a GPRS/UMTS-network. Each of
these different networks, provide different IP
addresses and possibly different network
constellations, e.g. private IP addresses with network
address translation (NAT), where the Web Services
running on the device are not directly accessible
from the internet, or public IP addresses.
In order to overcome the problem of constantly
changing IP addresses, the presented approach
implements a Web Service proxy that dynamically
creates a proxy for each Web Service that gets
deployed on a mobile device. The created proxy
allows to receive service requests as a representative
to the actual service, store this service request along
with the necessary data. In the next step, the mobile
Web Service provider continuously polls for
requests to its services and sends the result back to
the dynamically generated Web Service proxy.
Afterwards the proxy send the result back to the
original client.
4 IMPLEMENTATION
The major goal of the work presented here is to
GETTINGSERIOUSABOUTPROVIDINGMOBILEWEBSERVICE
269