descriptions, (ii) operation invocations and (iii)
searching at UDDI registry. With the framework
proposed, service providers and new services can
easily be added at anytime without updating the
application of users’ mobile phones when new
services are incorporated. With the purpose of
reducing technology fragmentation and enhancing
interoperability, the solution has been developed
using open source software, standards and
specifications.
The remainder of this paper is organized as
follows. Section 2 describes the related work about
Web services technology. Section 3 outlines the
architecture proposed. Section 4 describes prototype
implementation and experimental results with basic
services and UDDI registry. Section 5 gives
concluding remarks.
2 RELATED WORK
The Web services paradigm (Gustavo et al. 2004),
(Vinoski 2002, p.89-91) offers and consumes
software as services. Interactions among Web
services involve three types of participants: service
provider, service requestor and service registry.
Service providers are the owners that offer services.
They define descriptions of their services and
publish them in the service registry. Service
requestors use a find operation to locate services of
interest. The registry returns the description of each
relevant service. The requestor uses this description
to invoke the corresponding Web Service. Three
standardization initiatives XML-based are used in
order to support interactions among Web services:
WSDL (Web Services Description Language n.d.),
UDDI (UDDI n.d.) and SOAP (Simple Object
Access Protocol n.d.).
Using SOAP-based interaction, services can
exchange messages by means of standardized
conventions to turn a service invocation into an
XML message, to exchange the message, and to turn
the XML message back into an actual service
invocation. Through WSDL, a designer specifies the
programming interface of a Web service. Four type
of messages SOAP are possible: RPC/encoded,
RPC/literal, document/literal and
document/encoded. Using Web Services paradigm,
the client makes a procedure call of a Web service in
the same way it invokes a local call. According to
client applications have access to WSDL file at
compile time or runtime, invocation of Web services
can be carried out by means of:
- Static Stub: a procedure call of a client application
is an invocation of a proxy procedure located in a
stub appended to the client at compile time. As a
result, a client can invoke methods of a Web service
directly via the stub. The advantage of this model is
that it is simple and easy to code. The disadvantage
is that the slightest change of Web service definition
leads to the stub being useless and a generation of a
new stub. Therefore, the stub based approach is only
appropriate in static contexts, where services are not
removed and updated by service providers.
- Dynamic proxy: in this case, the client application
calls a remote procedure through a dynamic proxy
that is created at runtime. The dynamic proxy needs
to be re-instated whenever the service endpoint
interfaces change.
- Dynamic invocation interface (DII): this model
enables dynamic invocation of Web services without
having to know interface details at compile time.
With this approach, a client application can query
for a service it has never heard of and build on the
fly a call to that service. As a result, an application is
able to invoke a service that was not known prior to
runtime: it can dynamically download the
appropriate WSDL file, parse it, and construct all the
elements required to use the service.
3 SERVICE ORIENTED
APPROACH
Traditional service oriented architecture using stub-
based model as communication mechanism between
client mobile applications and provider services is
not appropriate to support mobile services in
dynamic contexts. There are two main limitations:
(i) every service needs to be coded in the client
application assuming a detailed knowledge of each
service that will be invoked at runtime and (ii) a stub
for each service provided needs to be appended to
the client application at compile time in the mobile
device. This situation involves that all services must
be described (network address, operations to
provide, parameter…) at the design-time and no new
services can be added after compile time. This
context means that service providers cannot create,
update and change services at anytime and that
mobile users can only access to pre-defined services
at their mobile phones. In order to solve the
problems faced by traditional Web services
architecture to mobile users, we propose a
framework with an intermediate entity between
service providers and service clients. This entity is
represented by a service manager that operates as a
client of the distributed network of Web services
offered by the different service providers and as
server to mobile phones.
ICE-B 2006 - INTERNATIONAL CONFERENCE ON E-BUSINESS
58