
 
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