Go to previous article
Go to next article
Return to 2002 Table of Contents
Carlos A. Velasco and Yehya Mohamad
Fraunhofer-Institut für Angewandte Informationstechnik (FIT.HEB)
(Fraunhofer Institute for Applied Information Technology)
Schloss Birlinghoven, D53757 Sankt Augustin (Germany)
firstname.lastname@example.org - email@example.com
CSUN 2002, 18-23/March/2002
Web Services are a new Internet paradigm, platform and programming language independent, that refers to self-contained, modular applications that can be described, published, located and invoked over a network, to create new products and services. The paper will present our work on using Web Services as an auxiliary User/Device profiling tool that facilitates the provision of accessible Internet services in collaboration with a Web Publishing Framework.
The increasing complexity of commercial Internet applications and new market demands makes difficult to incorporate accessibility requirements within the design process. However, new developments such as XML-based Web Publishing Frameworks and Web Services facilitate this task. The first element allows to incorporate different rendering techniques for the same piece of information, while allowing for the full semantic capabilities of adequately defined XML-vocabularies. The second element allows the creation of 'universal' repositories of User and Device profiles that cooperate with these services to obtain a better user experience, including context awareness.
This paper presents an approach to integrate these technologies within commercial applications. We will describe a preliminary implementation of User/Device Profiling Web Services, collaborating with an Open Source Publishing Framework, such as Cocoon2. The paper will present in the following section an introduction to the concept of Web Services, section 3 presents a description of User/Device Profiles implementation, and section 4 gives an overview of the integration of the system within the Publishing Framework. Conclusions are drawn-up in section 5.
There is a lot of media hype around the concept of Web Services, and many software vendors are using it as a powerful marketing tool. Eliminating all this hype, the concept of Web Services is reduced to web applications able to communicate among themselves to realize different business processes. Web Services are platform and language independent, and are based on three key technologies: services are defined with the Web Services Description Language (WSDL), services are published and found using the Universal Description, Discovery, and Integration (UDDI) specification, and the transport protocol is based on the Simple Object Access Protocol (SOAP) over the standards HTTP or SMTP.
Figure 1: Web Services publication, discovery, binding and use process.
Figure 1 presents graphically the process. First, a service provider publishes the service in a service repository. Then the client finds out about the service, and the information that can obtain from it. And finally, the client binds to the service and uses it. Within our application domain, the User/Device Profiling Web Services interact with traditional clients to request profiling details, and with content servers to provide them with the information that will allow an optimal rendering.
Once we have given a global overview of the working parameters of Web Services, we will describe in this section some implementation issues of user and device profiles. The utilization of user and device profiles have followed different patterns in regard to actual Internet application. While the first ones are generally oriented towards commercial and sales profiles of customers, the later ones do not go beyond some 'browser-sniffing' with wrong assumptions about user agent capabilities. Traditional user profiling approaches from the Human-Computer Interaction field have not had broad impact.
Our approach to implement user and device profiles foresees to integrate these aspects under the same umbrella. In regard to device capabilities, our starting point will be the Composite Capabilities/Preference Profiles (CC/PP) recommendation from the World Wide Web Consortium, as we will present in the following subsection. The approach to implement user profiles will be twofold. On top of traditional personal data, we will present a preliminary draft to model user functionalities in regard to the Web, including Privacy Preferences (P3P, W3C), context information, anonymous generic profiles and language skills. The profile data will be stored by means of XML Schemas. Figure 2 presents a preliminary architectural view.
Figure 2: Generic architecture description of the User/Device profiling system.
Composite Capabilities/Preference Profiles (CC/PP) is a RDF-based framework that aims to the management of device profiles. CC/PP is an attempt to standardize device profiling to facilitate content management in the era of ubiquitous computing and mobile devices. The main aspects of CC/PP are to identify: the hardware platform upon which software is executed, the software platform upon which all applications are hosted, and an individual application, such as a browser or user agent.
There are two problems faced in our development. First, we had to deal with the lack of implementation of CC/PP in user agents. The second problem arises because of possible changes in the recommendation in account of its working draft status (At the moment of writing this paper, only the WAP Forum has a descriptive schema on how to implement CC/PP in WAP user agents). On these grounds, we opted for an intermediate approach to deploy our device profiling service, based upon a preliminary analysis of the USER_AGENT field of the HTTP request, combined with some authentication procedure for the user that facilitates additional information. This approach is intended to be replaced once a firm support of CC/PP is present in the market.
A XML Schema was developed not following the RDF syntax, but with a structure similar to the structures defined in the available drafts of CC/PP. With this in mind, our root structure has three components, namely:
1. TerminalHardware: hardware description of the platform where the user agent runs. It includes information on CPU type and speed, display capabilities (color support, display size, and bytes/pixel), audio capabilities, memory size, bandwidth of the Internet connection, Bluetooth functionalities, etc.
2. TerminalSoftware: operative system description. It includes OS name, version and vendor.
This device profile provides a preliminary rendering information of the requested document. However, as we will see in Section 3.2, the priority of some of these characteristics can be overridden by some user profile functional restrictions arising from disability or a temporary handicapping situation (context of use). The rendering process is implemented through the Publishing Framework, with a combination of Web Services and XSLT. Typical use cases are:
The notion of 'personalized' interfaces to Web content has become commonplace. There are challenges involved in the creation of such interfaces, but these typically share a common component: personal profiles. As used here, the term 'personal profile' refers to the practice of describing individuals and various of their properties in a database for the purpose of improving their access to networked information resources. Only with personal profiles, it will be possible to achieve context-awareness, effective knowledge and experience sharing in the Information Society. By designing adaptive and adaptable Web Services, it is a feasible goal to achieve, and then, relevant information units can be linked to explicit and individual user contexts. The profiles are related to user information that is required by an application for different purposes. In our case, accessibility to information plays a major role, and therefore we will consider into the description of a user profile, its context, and thus incorporate context-awareness.
Within a user profile, there are many pieces of information that can be bound together. Among them, we find contact details (name, address, phone numbers, email, URL, picture URL), alongside with interests, social profile, spatial profile, etc. Furthermore, we will incorporate the Platform for Privacy Preferences and the Web Content Accessibility Guidelines from the World Wide Web Consortium, in our description of user profiles.
Context-awareness can be combined incrementally with device profiling, but it is not limited to it. For instance, it is obvious that the information must be rendered differently when a user requests a document while driving a car or when she requests it from her office desktop. However, a person accessing a document with a PDA might request the document as audio because the glare in the screen or her visual disability does not allow her to read it.
The major components of the designed user profile structure are:
In an environment where concerns about privacy can occur, the system shall be able to create anonymous profiles with some typical stereotypes for those users not willing to facilitate personal information.
The implementation of a user profile as described above is not trivial and can be achieved through a modular approach as allowed by the selected technology. A preliminary architecture of the implementation shall contain, at least, the following Web Services:
Other Web Services could be added to those described above to reach an optimal Human-Computer Interaction, which is adaptive and adaptable.
The final integration of the whole system is achieved through a Publishing Framework. As mentioned in Section 1, HTML is not an adequate language to implement large-scale data management applications because of its lack of extensibility and reusability, its lack of semantics, and its focus on display elements. Therefore, an ad-hoc XML vocabulary was developed that allows to incorporate different semantic elements of web sites:
The advantage of using a Publishing Framework such as Cocoon, is that it allows a clean separation between site management, site logic, site content and style. The 'business' logic of the system includes the interaction with the User/Device Profiling Web Services. The accessibility load of the system is translated to the design of adequate XSL and CSS stylesheets. Figure 3 presents a view of the architecture. The implementation of this architecture in a commercial environment will be easily replicable, by adapting the vocabulary and the stylesheets. Among the information needed from the Profiling Services, we highlight:
Figure 3: Integration of the Publishing Framework with the User and Device Profiling Web Services.
We have presented in the previous sections our approach to combine Web Services with Web Publishing Frameworks. The authors feel that this combination of resources will allow an easier implementation of web accessibility and usability in an environment that supports multimodality. Among the advantages foreseen for commercial applications are:
Go to previous article
Go to next article
Return to 2002 Table of Contents
Return to Table of Proceedings