Navigating between objects. Lessons from an object-oriented framework perspective

Abstract
The main goal of this paper is to present a general architecture for building computational hypermedia applications, i.e. those applications that combine the hypermedia navigational style with other kinds of computations in an object-oriented system. We first motivate our work discussing why these kind of applications need special attention. Then, we briefly present the architecture and components of an object-orient ed framework that allows extending object-oriented applications with hypermedia features. Finally, and as the main contribution of this paper, we discuss the most important design decisions behind the framework, presenting them as a set of micro-archite ctural constructs that yield a general architecture for integrating object-oriented and hypermedia applications. 1-Motivation The emergence of the World Wide Web has raised a new generation of computing applications: those combining hypermedia navigation through an heterogeneous and distributed information space with operations that query or modify such information. Enhancing object-oriented applications with hypermedia technology should give the user two different, though seamlessly integrated, visions of the information universe; by using hypermedia, software designers can provide navigational access to an information domain by letting users browse through that domain using the “point and click” metaphor. However, while the object-oriented paradigm focuses on behavioral collaborations among objects, hypermedia is the science and practice of relationships encouraging the exploration of (semantic) relationships among information items. Moreover, applications providing features such as forward and backward navigation, history maintenance, annotations, etc. pose many new and different problems to designers as repeatedly reported in the literature [Nielsen95]; clearly, when designing this new type of applications we must decouple objects’ behavior from navigational operations. Imagine, for example, a software engineering environment in which the user not only is able to create new design documents, check them for consistency, and generate code in a programming language, but he can also navigate those objects, add some comments to his documents, group design artifacts in navigable sets, provide guided tours to managers showing the relationships among use cases and business rules, etc. Building this kind of 1 This work was also funded by CONICET and UNLM, Argentina

This publication has 1 reference indexed in Scilit: