other applications (Curbera, F., et al., 2001). The
reusability of web services means businesses can
save money by reducing development costs. It will
also allow them to make these services available for
sale to create new opportunities with other
businesses. Once a web service is created, it is
advertised in a registry called UDDI (Universal
Description, Discovery and Integration), where it
can be searched upon. UDDI provides the location to
the service provider’s WSDL (Web Services
Description Language) file, which describes the
methods that can be invoked and the parameters that
are required. Messages are exchanged through
SOAP (Simple Object Access Protocol). SOAP
works by exchanging information using GET/POST
over HTTP. This allows the data to be exchanged
between firewalls regardless of where the client is
within a network.
Web Service composition is the combination of
two or more web services to perform what no single
service is able to provide. The modularity and loose
coupling design of web services allows them to
perform a specific task. However, this may be seen
as a disadvantage if a client would hope to find a
web service that could perform all its needs.
Therefore, custom solutions are needed to discover
and connect multiple web services into one
application. Several composition techniques have
been proposed, some of these are presented in
Section 7 (Related Work).
3 THE PROPOSED SYSTEM
The proposed system allows end users to
transparently access web services based on context
information over their personal devices whether
desktops or portables. Users access web services
through the use of customized Java Servlets or
standalone applications that hide the complexities of
employing web services. The main hallmarks of this
system are: (1) Static and dynamic discovery of web
services; (2) Context-awareness by keeping track of
user preferences and results through personalized
user profiles; (3) Compatible with virtually any
device that has a web browser and access to the
Internet; and (4) Capable of asynchronous
communication with end user’s device to support the
unreliability of wireless networks.
To support static and dynamic discovery the
system utilizes OWL-S (OWL-based Web Service
Ontology), which was originally known as DAML-
S, to semantically describe web services and their
methods. Our system gives greater control on how
web services are dynamically discovered by
allowing the application developer to specify how
matches are made, which goes beyond the present
techniques of semantically matching inputs and
outputs along with classification taxonomies.
3.1 Deploying Context-based Services
Our system is designed with two objectives in mind:
allowing users on virtually any device to discover
context-based web services, and to make that
experience simple and easy. Creating one service
that will work on every portable device is extremely
difficult because of the many different hardware and
software combinations. Portable devices have all
sorts of screen sizes, memory configurations,
processor speeds, operating systems and creating
one service that can cope with all may seem near
impossible for some developers. Regardless of these
new challenges, steps need to be taken to make
applications adaptive to these dynamic
environments. Fortunately, there have been
significant advances in device compatibility
techniques. The key to compatibility is finding a
universal language to best describe a device and one
such language is CCPP (Composite
Capabilities/Preferences Profile) and UAProf (User
Agent Profile). CCPP can be used to describe not
only mobile phones but other devices such as PDAs
or Smartphones. Industry leaders such as RIM,
Nokia, Motorola and others have already begun to
embrace this technology and have published profiles
to support their devices. For instance, a UAProf
profile can describe many attributes of a device such
as: hardware and software characteristics, supported
network types and browser information. CC/PP will
help optimize the content for a device, reduce the
testing time, and even help create future-proof
applications. It is important to note that UAProf is
not an alternative standard to CC/PP, instead it is a
specific profile for WAP devices.
Along with the CCPP of the device, user
information is also used as context for services. Data
such as user’s name and address is stored and used
as context information, thereby making the system
context-aware. Furthermore, this information can be
used to help the user by having the application
automatically load this data as service inputs. For
instance, a field requiring a city name to be entered
will automatically be filled in using the address
stored for that user. Hence, context-awareness will
save time for the user, especially when using devices
with small keypads (e.g. cellular devices) that take
longer to work with than devices with full
keyboards.
The proposed system has the ability to handle
context in two areas. Firstly, the system has the
ability to conform the results received from web
ICEIS 2005 - SOFTWARE AGENTS AND INTERNET COMPUTING
120