Modeling Customizable Web Applications A Requirement's Perspective
1
Gerti Kappel 1 Werner Retschitzegger 1 Wieland Schwinger 2 Institute of Applied Computer Science, Department of Information Systems (IFS) University of Linz, Altenbergerstraße 69, A-4040 Linz, Austria, {gerti | werner}@ifs.uni-linz.ac.at 2 Software Competence Center Hagenberg (SCCH)
[email protected]
Abstract The web is more and more used as a platform for fullfledged, increasingly complex applications, where a huge amount of change-intensive data is managed by underlying database systems. From a software engineering point of view, the development of web applications requires proper modeling methods in order to ensure architectural soundness and maintainability. Existing modeling methods for web applications, however, fall short on considering a major requirement posed on today's web applications, namely customization. Web applications should be customizable with respect to various context factors comprising different user preferences, device capabilities and locations in mobile scenarios, to mention just a few. The goal of this paper is twofold. First, a framework of requirements, covering the design space of customizable web applications is suggested. Second, on the basis of this framework, existing approaches for developing customizable web applications are surveyed and general shortcomings are identified pointing the way to next-generation modeling methods.
1. Introduction The Internet and in particular the World Wide Web have introduced a new era of computing, providing the basis for promising application areas like electronic commerce [30], [47]. At the beginning, the web has been employed merely
for simple read-only applications, i.e., systems realized by some web server offering static web pages for browsing, only. Nowadays, the web is more and more used as a platform for full-fledged, increasingly complex applications, where a huge amount of change-intensive data is (partly) managed by underlying database systems [15]. Considering these applications from a software engineering point of view, as their complexity increases, so does the importance of modeling techniques [8], [23], [24], [25], [46]. Models of a web application prior to its construction are essential for comprehension in its entirety, for communication among project teams, and to assure architectural soundness and maintainability. There are already a couple of methods especially dedicated to the modeling of web applications (for an overview see [7], [10], [21], [32], [48]). These methods focus on unique characteristics of web applications comprising among others the usage of the hypermedia paradigm in terms of hypertext and multimedia in combination with traditional application logic. One major requirement posed on today's web applications, however, is not considered by the majority of modeling methods, namely the issue of customization. Customization comprises a number of different aspects. Web applications should take into account the different capabilities of devices comprising display size, local storage size, method of input, computing speed and network capacity. Portability and usability of mobile devices allow ubiquitous access to applications, i.e., from anywhere at any time [52]. Thus, new opportunities are offered for applications in terms of location-dependent, time-dependent,
and personalized services, which are tailored to the needs and preferences of particular users. Consequently, customization adds a new dimension to the design of web applications in that web applications should be able to deal with these various circumstances of consumption in a proper way. The paper is structured as follows. Section 2 proposes a framework of requirements covering the design space of modeling methods for web applications and briefly reports on a survey of existing modeling methods. In Section 3, customization is added to this framework as an additional modeling dimension by discussing various customization issues. On the basis of this framework, existing approaches for developing customizable web applications are surveyed in Section 4 pointing the way to next-generation modeling methods for customizable web applications. Finally, Section 5 concludes the paper with a summary of the major shortcomings of these approaches.
2. Modeling web applications In the following we want to elaborate on what is necessary when modeling web applications without considering customization in the first place. The requirements discussed are partly derived from [7], [10], [21], and [32]. We have categorized these requirements by means of three orthogonal dimensions to be considered when modeling web applications, comprising levels, aspects and phases (cf. Figure 1) [48]. This framework of requirements allows to systematically survey web modeling methods indicating their strengths and shortcomings, and provides the basis for considering customization as a new modeling dimension (cf. Section 3).
the emphasize of each of these levels depends on the kind of web application which should be modeled.
2.2. Aspects: structure and behavior The second dimension comprises the aspects of structure and behavior, which are orthogonal to the three levels of the first dimension. Concerning the content level, besides structuring the domain by means of standard abstraction mechanisms such as classification, aggregation and generalization, the behavioral aspect in terms of domaindependent application logic has to be considered, too. Similarly, at the hypertext level, structure in terms of page compositions and navigational relationships in between as well as behavior like computing the endpoint of a certain link at runtime have to be modeled. At the presentation level, finally, user interface elements and their hierarchical composition have to be modeled concerning the structural aspect. The behavioral aspect comprises modeling of reactions to input events, e.g., pressing a certain button as well as interaction and synchronization between user interface elements. Note that similar to the levels discussed above, the amount of structure and behavior which has to be modeled depends on the kind of web application. Levels Presentation
Hypertext
Content Structure
Analysis
Design
Phases
Implementation
Behavior
2.1. Levels: content, hypertext, and presentation The first dimension of web application modeling comprises three different levels in terms of content level, hypertext level, and presentation level [18], a distinction which is similar to the separation of concerns in structural computing environments [28]. The content level refers to domain-dependent data used by the web application and is often managed by means of a database system. The hypertext level denotes the logical composition of web pages and the navigation structure. The presentation level, finally, is concerned with the presentation of the hypertext level, i.e., the layout of each page and user interaction [16]. Note that
Aspects
Figure 1. Modeling dimensions
2.3. Phases: analysis, design and implementation The third dimension of modeling web applications comprises the different phases of a software life cycle, ranging from analysis via design to implementation. This dimension is orthogonal to the two previously presented ones, meaning that structure and behavior of content, navigation and presentation has to be addressed in each phase of the development process. At this time, there is no
consensus on a general process of web application development [35], [41]. However, the influence of technological aspects tailoring the model towards the implementation environment, such as distribution, heterogeneity and database aspects, should certainly increase within the later phases of the modeling process. This framework of requirements was used to survey eight web modeling methods [1], [3], [9], [11] [20], [22], [29] and [49]. The main shortcomings of these methods encountered during the evaluation can be summarized as follows (for a detailed discussion cf. [48]): • Behavioral Modeling is Often Neglected. Modeling the behavioral aspect of web applications at all levels is often neglected by existing methods. If behavior is considered then mainly at the presentation level. Only those methods being based on object-oriented modeling formalisms partly deal with behavior modeling at all levels. • No Uniform Modeling Formalism. With the exception of the approaches of Baumeister et al. [3] and Conallen [11], which fully rely on the Unified Modeling Language (UML) [50], all other modeling methods are based on a mix of mainly proprietary modeling formalisms. • Presentation Level not Captured by Conceptual and Logical Modeling Concepts. Most of the modeling methods do not support the presentation level with appropriate analysis and design concepts. Rather, authoring tools are often suggested for capturing the presentation level, thus loosing the benefit of technology independence. • No Process Support. Most modeling methods do not follow a process for guiding the activities throughout the development of a web application. • Lack of Customization Support. Last but not least, one of the most severe drawbacks of existing modeling methods is the lack of concepts for modeling customizable web applications. To the best of our knowledge, only WebML [9] provides an explicit customization model, which will be discussed in more detail in Section 4. The following section is dedicated to the notion of customization by systematically discussing different means of customization as encountered in literature and adding customization as a new dimension to our modeling framework.
3. Customization as additional modeling dimension The issue of customization or adaption represents a major challenge at least since the end user has been put in the middle of concern when developing interactive applications. An area dealing with customization issues already for a long time is the user interface community, which brought up the notion of adaptive user interfaces, cf., e.g., [26]. Adaptive user interfaces are designed to tailor a system's interactive behavior considering both individual needs of human users and changing conditions within an application environment. The broader approach of intelligent or advisory user interfaces includes adaptive characteristics as a major source of its intelligent behavior, cf., e.g., [6]. Another area dealing with customization but emphasizing more on adapting the content of an application are information filtering and recommender systems [2], [34]. The goal of these systems is to go through large volumes of dynamically generated textual information and present to the user those which are likely to satisfy his/her information requirements. With the emerge of hypertext [12] the need for alternative access paths to information in terms of, e.g., different navigation structures became prevalent leading to another research direction called adaptive hypertext and hypermedia [5]. Last but not least, the proliferation of mobile computing and mobile web applications, in particular, makes it necessary to consider not only the user preferences but also the environment in terms of, e.g., location in order to adapt the application [42]. The following discussion is based on such a broad view of customization and tries to take into account various customization issues encountered in the above mentioned application areas. In our terms, customization specializes a web application called core web application towards the particular circumstances of consumption called context. The result of the customization process represents a customized web application. With respect to modeling customized web applications this implies that existing methods for modeling web applications could be applied for modeling the core web application whereas new concepts are needed to capture the customization process. Consequently, customization can be introduced as a new modeling dimension into our requirements framework discussed in the previous section (cf. Figure 2). The scope of customization comprises all other modeling dimensions which means that customization has to be considered for all
aspects, levels and phases of a web application. This claim is discussed in the following in more detail.
Context
Degree of Customizability
dynamic
Levels Presentation
Hypertext
static Adaption
Content Structure
Phases Analysis
Design
static
Implementation
dynamic
Figure 4. Degree of customizability Behavior
Customization
Aspects
Figure 2. Scope customization The design space of customization can be characterized by two main issues (cf. Figure 3). First, the circumstances of consumption referred to as context, second, the possible changes to the core web application furtheron called adaption. Both, context and adaption can be either static, i.e., predefined or dynamic, i.e., determined during run-time. As illustrated in Figure 4, this classification influences the degree of customizability of a web application. Customizable web applications supporting only static contexts and/or adaptions are often called adaptable whereas those providing also dynamic concepts are considered to be adaptive [39]. Core Web Application
Context
Customization
Mapping Adaption
Customized Web Application
Figure 3. Customization issues Context and adaption together determine the actual customized application, thus customization actually maps between the context and the adaption.
This viewpoint is similar to [42] who differentiates between an afferential component (i.e., the context), an efferential component (i.e., the adaption) and an inferential component (i.e., the mapping) of customizable systems. In the following, the three components of customization in terms of context, adaption, and mapping between the two are discussed in more detail. The reference in parentheses besides each characteristic will be used as pointer to the characteristic in the survey in Section 4.
3.1. Context As already mentioned, a web application is always consumed under certain circumstances. Virtually anything in the environment could be used for customization, but of course not all information is relevant. Therefore, customizability requires the definition of the context in terms of context factors that are reasonable for customization. The current context which is considered during runtime comprises the actual values of the context factors for a given interaction with the web application. Environmental Context Factors (C.1). Existing approaches for customization suggest different aspects to capture the environmental context of an application. [19] for example distinguishes between three aspects of "client variation" comprising network variations such as bandwidth and latency, hardware variation like screen size, and memory and software variations including the data types the client is able to handle. [33] additionally introduces infrastructure information, e.g., reachability of servers and services as well as location information comprising physical locations and logical locations (e.g., at home versus at work). Finally, [17] like many others such as [9], [14] and [51] suggests a user model that contains assumptions about relevant user characteristics.
Consequently, we distinguish between the following kinds of environmental context which should be considered by a modeling method: • User Context: The user context takes into account the necessity of personalization and captures information about the relevant users and user classes. • Device Context: The device context refers to the demand of multi-delivery and thus includes information about the relevant devices and device classes. • Network Context: The network context comprises information about the network. • Location Context: The location context copes with the need for mobile computing and captures information about the location of accessing an application. • Temporal Context: Finally, the temporal context allows to adapt the application with regard to certain timing constraints such as opening hours of shops or time tables of public transportation. The properties of various context factors are already subject of standardization efforts. W3C is working on a framework for the management of device profile information called "Composite Capabilities / Preference Profiles" [53] which is based on the Resource Description Framework (RDF) [54]. It specifies how client devices express their capabilities and preferences to the web application server. It defines recommendations about the content of such profiles but it is also extensible. New properties can be defined and included in the description and users can overwrite vendor defined default preferences. Application State as Context Factor (C.2). The context factors which should be considered comprise not only the environment of the application in terms of user, device, network, location, and time but also information about the state of the application itself. This is where customization closely relates to the modeling dimensions identified in the previous section. The relevant state of the application being part of the context can comprise a structural aspect or a behavioral aspect at one of the three levels. History as Context Factor (C.3). Practice has shown that it is necessary to broaden the view on context in that a context does not only consider the circumstances of consumption at a given point in time but also historical information. This is necessary to be able to identify changes in the context values over time. Thus a context also includes a history dimension, in that a context C can be formulated as a vector of context factors over time. For example, to determine user navigation patterns as done in [39] or the
throughput of a system, it is necessary to collect information about previous interactions. In contrast, the information which device is used allowing to adapt the presentation to fit to a restricted display size requires the most current information of the device context, only. Availability of Context Information (C.4). Not all context factors are available or applicable all the time. The availability of location depends of course on the capability of the device used. User preferences are available only, if a user has already interacted with the system. This rises the question what happens if the value of a context factor needed for customization is not available. Is there any useful core application, i.e., default value, which can be accessed instead? Modeling Concepts (C.5). In terms of modeling, it is necessary to provide the developer with concepts for grouping and categorizing the different kinds of contexts as discussed above to reflect the proper structure with respect to the intended customization. For example, it should be possible to combine certain context factors resulting in composite ones (e.g., certain groups of users). Static vs. Dynamic Context (C.6). As previously pointed out, context information can be static as well as dynamic. If all different possible contexts are pre-defined in the first place the context is considered as static. In contrast, the context is considered as dynamic if it is determined during run-time.
3.2. Adaption Scope of Adaption (A.1). Similar to context, also adaption can be integrated into our modeling dimensions as depicted in Figure 2, since the design space of adaption covers the structure and behavior at all levels end throughout all phases. An example for adaption at the presentation level would be to change some properties of the user interface, at the hypertext level adaption could mean to provide different linking structures. This consideration of adaption according to the affected level of a web application is also reflected in [14] where adaption is separated into adaptive presentation and adaptive hypertext concerned with the manipulation of links presented within nodes. Static vs. Dynamic Adaption (A.2). As already mentioned, adaption can be static as well as dynamic. Static adaption means that the customization process just selects a pre-defined customized version of the application. For example, a sophisticated version for display on a standard web browser or a text-only version for a browser on a mobile
phone. In case of dynamic adaption, the customized application would be generated on the fly, e.g., an image could be compressed and transformed by means of proper algorithms according to bandwidth and display characteristics. Adaption of Adaption (A.3). Adaption not only customizes the web application but may also change the customization itself. In particular, the adaption may change either the context factors of the application or the adaption itself which means that certain adaptions are enabled, disabled, or transformed (e.g., increasing the compression percentage of images before transmission).
3.3. Mapping between context and adaption Customization provides some kind of mapping between context and adaption (M). This means that a certain context vector has to be associated with one or more adaptions in order to realize a customized web application. One possible mechanism would be to use so called event/conditon/action rules from the area of active database systems [31]. The event together with the condition expresses the context, e.g., retrieving a certain page or changes in the context factors, the action is used to realize the adaption itself, e.g., adding a link to a certain page. Several properties of a rule, such as priority, activation state and transaction mode, determine the actual customization process at runtime.
4. Existing approaches to customization In the following we give a survey on 15 existing approaches to customization. Considering them with respect to phases, most of these approaches consider customization from an implementation point of view. There are a lot of research prototypes [13], [14], [17], [19], [27], [37], [38], [42], [44] and also some commercial systems such as [40], [43]. In contrast to that, few approaches for customization focus on analysis and design such as [9], [20], [49]. We encountered only one modeling approach, supporting customization throughout all phases, namely [45]. The survey presented is structured as follows: The concepts of each of the above mentioned approaches for customization are briefly described according to the characteristics of customization elaborated in the previous section. This description includes also the motivation, the main contribution and the application domain of the approach.
4.1. Approaches implementing customization 4.1.1. Research approaches, prototypes. The approach of Cotter and Smyth [13] origins from the information retrieval and recommender systems community thus intending to solve the information overload problem within web applications. To reduce the amount of information, personalization is applied on the basis of dynamic (C.6) user context (C.1). Based on the interaction history (C.3) of each individual user, user profiles are maintained (C.5). Personalized hypertext (A.1) in form of an intermediate XML format is dynamically derived applying content-based recommendation, i.e., what the user liked in the past and collaborative recommendation, i.e., what users having the same profile liked in the past and (M). In a following step, the intermediate XML representation is translated into the final presentation format (A.1), namely HTML or WML. This is dynamic adaption (A.2) conducted on basis of the actual device (C.1) using static (C.6) device context (C.1). The approach is demonstrated by realizing a personalized television guide application. The approach of De Bra et al. [14] comes from the area of hypertext and hypermedia systems. A framework is proposed, which dynamically (C.6) considers the user context (C.1). The user model contains the user's complete browsing history (C.3) and may expressed by Boolean, discrete or continuous values (C.5). Adaption is done dynamically (A.2) at both, hypertext and presentation level (A.1). The framework is implemented on the web, whereby web pages contain conditional statements (in form of ifstatements within HTML comments (C.5)), deriving the adapted page before being presented to the user (M). Hicks and Tochtermann [27] propose a meta-data based approach to enable personalization of web applications. Given the context of a particular user (C.1) which is static (C.6), the content of the web application (A.1) is dynamically adapted (A.2). The meta-data stores information about the adaption independently of the content (M). The adaptions are structured into so called "contexts" (not to mix up with our understanding of context) grouping logically associated adaptions according to certain preferences (C.5). Under a given, i.e., actual user's context the specified adaptions (C.4) grouped together within a certain "context" are applied. The approach used for enhancing an environmental information system with personalized information.
is to improve the overall access to a web application, particularly considering the needs of persons with special needs. Customization is focused on user context (C.1), characteristics of devices and the network (C.1) are mentioned but not further dealt with. User preferences are first determined within an initial phase and furtheron dynamically by exploiting the history (C.3) of a user's interaction with the system (C.6). A user model specifying the characteristics of individual users and user groups is provided (C.5). Additionally, information about the content of the web application is utilized to draw further inferences about the user preferences. Rules (M) define which adaptions to apply dynamically (A.2) to hypertext and presentation (A.1). They apply their approach for providing hypermedia
McIlhagga et al. [37] aim at maintaining semantic equivalence for the user independently of which device is used in a mobile computing environment. For this device context and network context (C.1) are dynamically considered (C.6). Furthermore, type information about the multi-media content objects of the web application is taken into account (C.2). Adaption policies on multi-media objects are formulated in terms of rules (M). When a policy is activated by a particular actual context, it goes through a number of parsing and resolution phases determining the precedence between the rules, thus the necessary runtime adaption. Default policies are applied in cases where no particular adaptions are necessary (C.4). The presentation is adapted dynamically (A.2) by compression and
Table 1. Context
9... supported
-
9 9 -
9 9 9 9 9
9 9 9 9
9 9 9 9
-
-
9 9 -
9 -
9 -
-
9 -
- ... not (explicitly) supported
transformation of multi-media objects (A.1). The prototype system implements a proxy particularly focusing on the issue of image properties. Image tags within pages requested browsers are replaced by applets which talk to a the proxy applying the adaption before downloading (M) Fink et al [17] present the AVANTI project, coming from the area of adaptive user interfaces. The goal of this project
9 9 -
9 -
9 9 9 -
9 9 -
9 9
-
9 9 -
9 9 -
9 9 9
-
9 9 -
9 9 -
9 -
9 9 9 9 -
9 9 9 9 9 -
9 9 9
static vs. dynamic
9 9
modeling concepts
-
9
availability
-
history of contexts
application state as context factor
9 9
-
location
-
-
9
time
9 9 9
network
Cotter and Smyth deBra et al. Hicks and Tochtermann McIlhagga et al. Fink et al. Oppermann and Specht Fox et al. Mobasher et al. Perkowitz and Etzioni IBM Oracle Fraternali et al. Rossi and Schwabe Ceri et al. Perrault
device
Approaches
user
context factors
s&d d s d s&d s&d s d d s s&d s s&d s&d s&d
s ... static context d ... dynamic context
information about a metropolitan area for a variety of uses. Oppermann and Specht [42] origin from the area of mobile computing and considers as one of the only approaches almost all contexts described in Section 3.1, namely user context, device context, location context and temporal context (C.1). They propose two models a user model and a usage model (C.5). For the latter they exploit
4.1.2. Commercial approaches IBM [40] invented a system to improve the delivery of web applications to different client devices and networks by proposing a content-based image transcoder. In general, the system comprises two main components. First, the so called "InfoPyramid" captures a representation of different (A.2) versions of multi-media elements (C.5), thus realizing static (A.2) presentation adaption (A.1). Second, the so called "customizer" is responsible for selecting (M) those version maximizing the user value for a statically (C.6) given device and network context (C.1). The customizer also analyzes the images in order to classify them into image type and image purpose classes (C.1). It has to be noticed that this is the only Table 2. Adaption
-
9 9
9 9
-
-
Hicks and Tochtermann
9
McIlhagga et al.
-
Fink et al.
-
9
Oppermann and Specht
-
-
Fox et al.
-
-
Mobasher et al.
-
Perkowitz and Etzioni
-
9 9
IBM
-
-
Oracle
-
-
Fratternali et al.
-
Rossi and Schwabe Ceri et al. Perrault
9 ... supported
- ... not (explicitly) supported
--
9 9
-
9 9 9 9
9 9 9 9 9 -
9 9 9 -
9 9
adaption of adaption
-
deBr et al.
static vs. dynamic
Cotter and Smyth
presentation
Approaches
hypertext
scope of adaption
content
the user's interaction history (C.3) with the system in addition to preferences captured during an initial phase. Device and network constraints form a static context whereas the user context is dynamic (C.6). Adaption alters presentation (A.2) dynamically (A.1). The approach is used to realize a nomadic museums guide which allows location awareness with specialized devices. Fox et al. [19] propose a proxy-based architecture for providing access for a variety of client devices and network constraints (C.1). The context is considered in terms of "windows of interest" defining ranges of categories (C.5) in a static way (C.6). They assume that the context factors are tracked within a separate process (C.4). For the adaption they also take into account the data-type of the content object (C.2). They propose adaption of the multi-media presentation (A.1) by dynamically (A.2) applying data-type specific "lossy" distillation and compression algorithms aiming at preserving information at the highest semantic value. Mobasher et al. [38] come from the area of recommender systems and present a system providing automatic personalization based on web usage mining techniques to increase the usability of web applications. User context (C.1) is considered dynamically (C.6) including the history (C.3) of the users' interactions and clustering them according to page types or types of users' activities (C.5). They also regard the fact that no user preferences can be derived at the first time of a user's visit by providing default preferences (C.4). Their system adapts the hypertext by suggesting recommended links and the presentation by tailoring text and graphics (A.1) dynamically (A.2). The system comprises two major components (M), an off-line component for the usage mining task in terms of identifying user activity patterns and an on-line component performing dynamic adaption of hypertext and presentation. They focus mostly on the issues of clustering and recommendation algorithms (M). Perkowitz and Etzioni [44] introduce the so called "IndexFinger page synthesis program" to increase the quality of the web site for users. The user context (C.1) in terms of the interaction history (C.3) is analyzed by usage-mining techniques to determine access patterns. These access patterns are identified by the "PageGather" algorithm, dynamically (C.6) conducting cluster mining (C.5). The hypertext is adapted by considering a conceptual description of each page, too (C.2). The adaption of the web site is done semi-automatically, meaning that the systems generates index pages but lets the human web designer make the final decision (M) about the adaption of the navigation (A.1) thus being performed statically (A.2).
s&d
-
d
-
d
-
d
-
d
-
d
-
d
-
d
-
s
-
s&d
-
d
-
s&d
-
s&d
-
s&d
-
d
-
s ... static context d ... dynamic context
approach which recognizes behavioral issues comprising presentation adaption like synchronization of transcoded multi-media. Concrete solutions, however, are not provided. The approach is used as part of the commercial product "WebShere Transcoding Publisher" [4]. In difference to [40] "WebShere Transcoding Publisher" enables dynamic adaption (A.2) utilizing a proxy architecture.
Oracle [43] offers a product called "iAS Wireless Edition", formerly known as "Portal-to-Go". It provides a platform enabling web applications to be used from various devices (C.1). The web application developer has to provide the presentation of the web application in an intermediate XML format. For this, the so called "Simple Result DTD" specifies the elements of an abstract user interface. These elements are furtheron dynamically (A.2) transformed by the "iAS Wireless Edition" towards the actual delivery format (A.1) based on the actual device issuing the request (M). In addition to the device context, user context (C.1) is supported in terms of user profiles. These are managed either automatically by the system or can be managed by the users themselves (C.6). Moreover, it is mentioned that the system is able to consider the actual location of the user (C.1), however, without further details.
4.2. Approaches supporting customization within the phases analysis and design Fraternali et al. [20] suggest "HDM (Hypermedia Design Method)-lite", a modeling method for the development of web applications which considers customization within the development process. By modeling different versions of hypertext and presentation (A.1) the web application can be adapted reusing (M) the same content model but being at the same time restricted to static contexts (C.6) and static adaption (A.2). Furthermore, customization of navigation is modeled (C.5) on basis of the user's (C.1) navigation history (C.3) in terms of the previous navigation step only. Rossi and Schwabe [49] developed "OOHDM (ObjectOriented Hypermedia Design Method)" an approach providing two general possibilities for customization. First, the method allows similar to HDM-lite the modeling of different hypertext and presentation models (A.1) for a given context. Thus, this kind of customization is limited to static contexts (C.6) and static adaption (A.2). Second, OOHDM supports six different "contexts" specifying (M) the adaption of navigation (A.1) according to the user's previous navigation (C.1) (C.3). In contrast to our notion of context, "contexts" in OOHDM statically specify both context and adaption. Only one of these OOHDM contexts, the so called "dynamic context", allows to capture dynamic (C.6) user preferences. Ceri et al. [9] proposes a modeling method for web applications called WebML (Web Modeling Language) considering the issue of one-to-one personalization. WebML comprises a graphical notation as well as an XML notation.
The user context (C.1) is formulated by means of a user model (C.5). It contains predefined preferences for individual users and user groups which can be extended by the developer. It also holds history (C.3) information about the user's previous interactions with the system. The user context is maintained dynamically applying declarative queries and business rules (M) to produce new user-related information (C.6). In case no particular customization is defined default rules apply (C.4). Next to [45], it covers all three levels, i.e., content, hypertext, and presentation (A.1), which can be adapted dynamically (A.2). They also show how their method can be applied to the development of WAP-enabled web applications considering a static (C.6) device context (C.1). Like [20], they demonstrate how different versions (M) of the web application can be formulated statically (A.2) on the basis of the same content model. Additionally, similar to other web application modeling methods, WebML includes "contextual navigation" which adapts the navigation according to the user's navigation history.
4.3. Approaches supporting customization within all phases Perrault [45] extends the "Autoweb" project [20] by incorporating "web business rules" allowing customization to improve web applications. They identify four orthogonal dimensions describing the scope of such web business rules. The rules dynamically (C.6) consider the user context (C.1) in terms of user and user class specific information (C.5) and also information about the web application (C.2) state. For the user also historic information is considered (C.3). In terms of adaption, they enable the dynamic modification (A.2) of all three levels (A.1). For expressing customization, they define an event/condition/action-based language to formulate business rules (M) at a logical level, which are then transformed into corresponding database triggers.
5. Summary This paper focused on customization issues in web application development pointing out the necessity of modeling methods for customizable web applications. On the basis of a requirements framework, several approaches for modeling and implementing customizable web applications have been surveyed.
The survey showed that the majority of these approaches do explicitly consider user context for customization. Also a considerable number of approaches take network context as well as device context into account. Those two are often considered together which is reasonable since mobile devices also imply a wireless connection carrying certain network constraints. It has been encountered that only few of the surveyed approaches explicitly regard the location context [42], [43]. This is due to both technical deficiencies and lack of legal regulations. Only one of the approaches considers a temporal context [42]. Interestingly, none of the surveyed approaches addressed all five kinds of environmental contexts identified in Section 3 together. Most approaches consider the history dimension of the context focusing on the user's previous interaction with the system in terms of navigation. Whereas the majority of user context factors are dynamically considered, the device context is often static only. For example, approaches like [13] and [9] use different versions of the application for WAP and Web access referenced by different URL calls. Almost all of the surveyed approaches provide adaption at the presentation level, many of them also at the hypertext level, but only a few support adaption at the content level. Concerning static and dynamic adaption, the majority of the approaches allow dynamic adaption, some of them additionally support static adaption. None of the surveyed approaches considers adaption of adaption, which would additionally add a further degree of customizability to customizable web application development. Finally, in terms of modeling customizable web applications, [9] and [45] offer the most comprehensive set of concepts.
6. References [1] P. Atzeni, G. Mecca, and P. Merialdo, "Design and Implementation of Data-Intensive Web Sites", Proc. of the Conf. On Extended Database Technology (EDBT), Valencia, Spain, March 1998. [2] C. Avery, and R. Zeckhauser, "Recommender Systems for Evaluating Computer Messages", Communications of the ACM (CACM), Vol. 40, No. 3, March 1997. [3] H. Baumeister, N. Koch, and L. Mandel, "Towards a UML extension for hypermedia design", UML’99 The Unified Modeling Language - Beyond the Standard, LNCS 1723, Fort Collins, USA, Springer, October 1999.
[4] B. Beck, and M. McGinnis: "IBM WebShere Everyplace Suite v1.1", white paper, IBM Corporation, September 1999. [5] P. Brusilovsky, "Adaptive Hypermedia: An Attempt to Analyse and Generalize", Multimedia, Hypermedia, and Virtual Reality: Models, Systems, and Applications, P. Brusilovsky, P. Kommers, and N. Streitz (eds.), Springer. Berlin, 1996. [6] J. M. Carroll, and A. P. Aaronson, "Learning by Doing With Simulated Intelligent Help", Communications of the ACM (CACM), Vol. 31, No. 9, September 1988. [7] S. Ceri, P. Fraternali, and S. Paraboschi, "Design Principles for Data-Intensive Web Sites", SIGMOD Record, Vol. 24, No. 1, March 1999. [8] S. Ceri, P. Fraternali, and S. Paraboschi, "Data-Driven OneTo-One Web Site Generation for Data-Intensive Applications", Proc. of the Conference on Very Large Databases (VLDB), Edinburgh, September 1999. [9] S. Ceri, P. Fraternali, and A. Bongio, "Web Modeling Language (WebML): a modeling language for designing Web sites", Proc. of the 9th World Wide Web Conference (WWW9), Amsterdam, May 2000. [10] S. Christodoulou, G. Styliaras, and T. Papatheodourou, "Evaluation of Hypermedia Application Development and Management Systems", Proc. of the ninth ACM Conference on Hypertext and Hypermedia (Hypertext'98), Pittsburgh, 1998. [11] J. Conallen, "Modeling Web Application Architectures with UML", Communications of the ACM (CACM), Vol. 42, No. 10, October 1999. [12] E. J. Conklin, "Hypertext: An Introduction and Survey", IEEE Computer, Vol. 2, No. 9, September 1987. [13] P. Cotter, and B. Smyth, "Wapping the Web - A Case Study in Content Personalisation for WAP-Enabled Devices", Proc. of the International Conference on Adaptive Hypermedia and Adaptive Web-based Systems (AH), Trento, Italy, 2000. [14] P. De Bra, "Design Issues in Adaptive Web-Site Development", Proc. of the 2nd Workshop on Adaptive Systems and User Modeling on the WWW of the 8th International Word Wide Web Conference, Toronto, Canada, 1999. [15] G. Ehmayer, G. Kappel, and S. Reich, "Connecting Databases to the Web - A Taxonomy of Gateways", Proc. of the 8th Int. Conf. on Database and Expert Systems Applications (DEXA), France, Springer LNCS 1308, September 1997.
[16] M. Fernandez, D. Florescu, J. Kang, A. Levy, and D. Suciu, "Strudel: A web-site management system", Proc. ACM SIGMOD Int. Conference on Management of Data, Tucson, Arizona, May 1997. [17] J. Fink, A. Kobsa, and J. Schreck: "Personalized Hypermedia Information Provision through Adaptive and Adaptable System Features: User Modeling, Privacy and Security Issues", Proc. of the Workshop Adaptive Systems and User Modeling on the World Wide Web of the 6th Int. Conf. on User Modeling, Chia Laguna, Sardinia, June 1997. [18] D. Florescu, A. Levy, and A. Mendelzon, "Database Techniques for the World Wide Web: A Survey", ACM SIGMOD Record, Vol. 27, No. 3, September 1998. [19] A. Fox, E. Brewer, S. Gribble, and E. Amir "Adapting to Network and Client Variability via On-Demand Dynamic Transcoding", Proc. of the ACM Seventh International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), 1996. [20] P. Fraternali, and P. Paolini, "A conceptual model and a tool environment for developing more scalable and dynamic Web applications", Proc. of the Conference On Extended Database Technology (EDBT), Valencia, Spain, March 1998. [21] P. Fraternali, "Tools and approaches for data-intensive Web applications: A survey", ACM Computing Surveys, Vol. 31, No. 3, September 1999. [22] F. Garzotto, P. Paolini, and D. Schwabe, "HDM - A ModelBased Approach to Hypertext Application Design", ACM Transactions on Information Systems, Vol. 11, No. 1, January 1995. [23] F. Garzotto, L. Mainetti, and P. Paolini, "Designing Modal Hypermedia Applications", Proc. of the 8th ACM Conference on Hypertext, University of Southampton, UK, April 1997. [24] D. German, and D. Cowan, "Towards a Unified Catalog of Hypermedia Design Patterns", Proc. of the 33rd Hawaii International Conference on System Sciences (HICSS), Maui, Hawaii, January 2000. [25] A. Ginige, D. B. Lowe, and J. Robertson, "Hypermedia Authoring", IEEE Multimedia, Vol. 2, No. 4, 1995. [26] M. D. Good, J. A. Whiteside, D. R. Wixon, S. J. Jones, "Building a User-Derived Interface", Communications of the ACM (CACM), Vol. 27, No. 10, October 1984. [27] D. Hicks, K. Tochtermann, Th. Rose, and St. Eich, "Using Meta-Data to Support Customization", Proc. of the Third
IEEE Meta-Data Conference, Bethesda, Maryland, USA, April 1999. [28] D. Hicks, "Structural Computing: Evolutionary or Revolutionary?", Proc. of the 6th Int. Workshop (OHS) on Open Hypermedia Systems and Structural Computing, Springer LNCS 1903, San Antonio, Texas, May/June 2000. [29] T. Isakowitz, E. A. Stohr, and P. Balasubramanian, "RMM: A Methodology for Structured Hypermedia Design", Communications of the ACM (CACM), Vol. 38, No. 8, August 1995. [30] G. Kappel, W. Retschitzegger, and B. Schröder, "Enabling Technologies for Electronic Commerce", Proc. of the XV. IFIP World Computer Congress, Vienna/Austria and Budapest/Hungary, August/September 1998. [31] G. Kappel, W. Retschitzegger, "The TriGS Active ObjectOriented Database System - An Overview", ACM SIGMOD Record, Vol. 27, No. 3, September 1998 [32] N. Koch, "A Comparative Study of Methods for Hypermedia Development", Technical Report 9905, Ludwig-MaximiliansUniversität München, November 1999. [33] Th. Kunz, and J. P. Black, "An architecture for adaptive mobile applications", Proceedings of Wireless 99, the 11th International Conference on Wireless Communications, Calgary, Alberta, Canada, July 1999. [34] S. Loeb, D. Terry, "Information Filtering", Communications of the ACM (CACM), Vol. 35, No. 12, December 1992. [35] D. Lowe, and R. Webby, "Web Development Process Modelling and Project Scoping: Work in Progress", Proc. of the Workshop on Web Engineering held in conjunction with The Seventh International World Wide Web Conference( WWW7), Brisbane, 1998. [36] [Mano99] F. Manola, "Technologies for a Web Object Model", IEEE Internet Computing, Vol. 3, No. 1, JanuaryFebruary 1999. [37] M. McIlhagga, A. Light, and I. Wakeman: "Towards a Design Methodology for Adaptive Applications", Proc. of The fourth annual ACM/IEEE International Conference on Mobile Computing and Networking (MOBICOM), Dallas, TX, USA, October 1998. [38] B. Mobasher, R. Cooley, and J. Srivastava: "Automatic Personalization Based on Web Usage Mining", Communications of the ACM (CACM), Vol. 43, No. 8, August 2000.
[39] B. Mobasher, R. Cooley, and J. Srivastava, "Creating Adaptive Web Sites Through Usage-Based Clustering of URLs", Proc. of the 1999 IEEE Knowledge and Data Engineering Exchange Workshop (KDEX), November 1999.
[47] B. Pröll, W. Retschitzegger, R. R. Wagner, and A. Ebner, "Beyond Traditional Tourism Information Systems TIScover", Journal of Information Technology and Tourism, Vol. 1, Inaugural Volume, 1998.
[40] R. Mohan, John R. Smith, Ch.-Sh. Li, "Adapting Multimedia Internet Content for Universal Access". IEEE Transactions on Multimedia, Vol. 1, No. 1, 1999.
[48] W. Retschitzegger, and W. Schwinger, "Towards Modeling of DataWeb Applications - A Requirements' Perspective", Proc. of the Americas Conferenc on Information Systems (AMCIS) Long Beach California, Vol. I, August 2000.
[41] J. Nanard, and M. Nanard, "Hypertext Design Environments and Hypertext Design Process". Communication of the ACM (CACM), Vol. 38, No. 8, August 1995.
[49] G. Rossi, D. Schwabe, D., and A. Garrido, "Designing Computational Hypermedia Applications", Journal of Digital Information (JODI), Vol. 1, No. 4, February 1999.
[42] R. Oppermann, and M. Specht, "A Nomadic Information System for Adaptive Exhibition Guidance", Proc. of the International Conference on Hypermedia and Interactivity in Museums (ICHIM), D. Bearman and J. Trant (eds.), Washington, September 1999
[50] J. Rumbaugh, I. Jacobson, and G. Booch, The Unified Modeling Language Reference Manual, Addison-Wesley, 1998.
[43] Oracle: "Oracle Internet Application Server 8i Wireless Edition", data sheet, August 2000.
[51] J. R. Smith, R. Mohan, and C.-S. Li. "Content-based Transcoding of Images in the Internet". Proc. of the IEEE International Conference on Image Processing (ICIP), October 1998.
[44] M. Perkowitz, and O. Etzioni: "Towards Adaptive Web Sites: Conceptual Framework and Case Study", Proc. of the The Eighth International World Wide Web Conference, (WWW8), Toronto, Canada, May 1999.
[52] M. Weiser, "Some computer science issues in ubiquitous computing", Communications of the ACM, Vol. 36, No. 7, July 1993.
[45] D. Perrault: "A study of business rules concept for web applications", technical report, politecnico di milano, June 1998.
[53] World Wide Web Consortium Composite Capabilities/Preference. http://www.w3.org/Mobile, 2000.
[46] T. Powell, Web Site Engineering, Prentice Hall, 1998.
[54] World Wide Web Consortium (W3C), Resource Description Framework (RDF), http://www.w3.org/RDF, 2000.
(W3C), Profiles,