A Conceptual Model and a Tool Environment for Developing ... - WebML

12 downloads 264714 Views 232KB Size Report
This paper introduces a methodology for the development of applications for the WWW. Web applications are modelled at the conceptual level by using HDM-liteĀ ...
A Conceptual Model and a Tool Environment for Developing More Scalable, Dynamic, and Customizable Web Applications Piero Fraternali and Paolo Paolini Dipartimento di Elettronica e Informazione, Politecnico di Milano Piazza Leonardo da Vinci 32, I-20133 Milano, Italy fraterna/[email protected]

Abstract. This paper introduces a methodology for the development of applications for the WWW. Web applications are modelled at the conceptual level by using HDM-lite, a design notation supporting the speci cation of the structural, navigational, and presentation semantics of the application. Conceptual speci cations are transformed into a logical-level representation, which enables the generation of the application pages from content data stored in a repository. The proposed approach is substantiated by the implementation of the Autoweb System, a set of software tools supporting the development process from conceptual modelling to the deployment of the application pages on the Web. Autoweb can be used both for developing new applications and for reverse engineering existing applications based on a relational representation of data.

1 Motivations The great success of the World Wide Web as a personal, social, and business communication medium has spawned an impressive rush in the users' community to develop new applications or port existing software to the Web. As a consequence, the applications found today on the Web cover a very large spectrum of typologies, going from individual hypertexts and hypermedia, like personal homepages or virtual art galleries, to very large and dynamic transactional applications, like electronic commerce systems. At the same time, we assist to a growing interest of the software vendors to o er novel solutions for making Web development more cost-e ective and increase the quality of the resulting applications. From the users' perspective, choosing the appropriate tools and architecture for developing a Web application is a critical decision, which involves at least the following dimensions of the expected application: { the size of the \information base"; { its dynamicity, i.e., the frequency of changes; { the need of personalization, i.e., of presenting the same content in di erent ways (e.g., to di erent users or to the same user at di erent times); { the overall quality of the interface, including graphical quality and control over the display of multimedia data.

The last two points are quite peculiar to Web applications, which have accostumed users to consider the navigation and presentation quality of an application of the same importance as the quality of the information content. Increasing performance with respect to all the above dimensions, while keeping development costs to a minimum, is clearly a problematic issue: for example, high graphical quality and customization are easily achieved by hand-writing the application pages, but this approach does not ensure scalability and responsiveness to frequent changes. Conversely, using an automatic HTML generator delivering application pages from data stored in a database enables scalability and quick content updates, but limits personalisation and interface quality. In this paper we propose an approach and a set of software tools for reconciliating the abovementioned application dimensions, which leverage automated software production for reducing the overall development e ort. The key points of our proposals are: { starting Web application development from conceptual modeling, but using the right model, i.e., one where navigation and presentation have a peer role with respect to the structural view of the application1. { transforming conceptual speci cations into logical schemas, used for structuring a repository of application data, so to isolate application content from presentation and navigation and enable content dynamicity and customization (same content ) di erent presentations and/or navigations); { storing in logical level structures also meta-data about navigation and presentation, so to enable the dynamic update of application navigation and look-and-feel; { automatically generating application pages from the logical representation, so to enable a higher level of scalability, where not only content can scale, but also the schema of the application. In a nutshell, the core results of our work are: { HDM-lite, a conceptual model for Web applications; HDM-lite is an evolution of HDM [8], a model for generic hypermedia applications, which we have adapted to the speci city of the Web context. { The Autoweb System, a set of software tools for editing HDM-lite conceptual speci cations, transforming them into logical schemas, and automatically producing applications pages. Presently, Autoweb demonstrates the generation of pages both in HTML and Java, but in principle it could be extended to any network language (e.g., ActiveX and TCL/TK). Throughout the paper, we will use the following small-scale running example to demonstrate the features of HDM-lite and of the Autoweb System. ACME Furniture Inc. is an aggressive company thriving in the postal market business. To enlarge its customer base, ACME has decided to put part of its 1

Some database vendors also provide conceptual modelling of Web applications, but start from the Entity-Relationship model, which is a conceptual model for database design, not for hypermedia applications.

catalog on the Internet. The catalog advertises various types of furniture, e.g., chairs, tables, lamps, and so on, and also contains special combinations of items sold at a discounted price. Individual items are described by an image, a textual description, their price, and a set of technical features (dimensions, available colors, . . . ). Combinations are illustrated by a captivating photograph, advertising text, and the discounted price. Since ACME has a number of stores throughout the world, information about the store locations is also made available, including the address and contact information, an image of the store, and a map. Users are expected to visit the ACME home page containing a logo of the company and some advertising stu ; from there they can browse the list of special o ers, and the item catalog. From the page describing a combination, the individual items forming the combination can be accessed, and conversely, it is possible to navigate from an item to the combinations including it. From the home page, the list of stores can also be reached. A second category of users is also expected: inventory managers. These must directly access the inventory records of the various items at the di erent stores, either from a store list or from an item list. Their application pages should be textual for network speed and should exclude all customer-oriented advertising. The rest of the paper is organised as follows: in Section 2 we introduce HDMlite, presenting its modeling primitives; in Section 3 we discuss the general framework for transforming a HDM-lite conceptual speci cation into implementationlevel application pages; Section 4 illustrates the Autoweb System, a set of software tools that implement the proposed transformations; in Section 5 we enlighten the original features of our proposal with respect to existing related work; nally, Section 6 draws the conclusions and introduces the future work.

2 HDM-lite: a Conceptual Model for Web Applications At the base of the proposed approach to the development of Web applications there is HDM-lite, a conceptual model for the speci cation of applications for the WWW. HDM-lite is a Web-speci c evolution of HDM (Hypermedia Design Model [8]), a model that has been used by several organizations to design hypermedia applications in di erent areas. HDM has been proved a valid tool to design traditional hypermedia applications, i.e., those commonly found in CDROMs, kiosks, information points, digital libraries, and has in uenced a number of subsequent proposals, e.g., [16, 17, 21]. An application is speci ed in HDM-lite by de ning its structure, navigation and presentation, which are formalized in the hyperbase, access, and presentation schema, respectively.

2.1 The Hyperbase Schema The hyperbase schema describes the structure of the information managed by the application, in terms of the main abstractions and their semantic connections. An HDM-lite hyperbase schema is an extended Entity-Relationship model [4] featuring: entitities substructured into a tree of components, typed attributes of

components, semantic links between entities and components, and cardinality constraints. Collectively, the application objects and their semantic links constitute the information base of the application, called hyperbase. Figure 1 shows the hyperbase schema of the ACME application, which contains four entity types: items, combinations, stores, and inventory records.

Fig. 1. The Hyperbase Schema of ACME Applications An item is an aggregate entity consisting of a root component, called ItemDescription, containing two subcomponents, called BigImage, and TechnicalRecord. The two part-of relationships connecting a component to its subcomponents (shown as edges labelled with a P) have cardinality constraints prescribing that an item description contain zero or more big images, and at most one piece of technical data. The information content of each component is determined by its attributes (called slots in the HDM-lite jargon). For example, the description of an item consists of a code of type integer, a name of type text, a thumbnail of

type image, a description of type text, a price of type integer, and a type of type text. Slots labelled by a capital E belong to the external name of the component, that is they are used to denote instances of the component in indexes, lists and so on. Components and entities are connected by semantic links (shown as edges labelled with an L), analogous to E/R relationships. A link to an entity is equivalent to a link to the entity's topmost component. In the ACME hyperbase schema, a link named MadeOf connects combinations to items and has a 0:N cardinality constraint on the participations of an item and a 2:N cardinality constraint on the connections of a combination. Two links named ItemAvailability and StoreAvailability connect inventory records to items and stores. A store or an item can have zero or more inventory records and an inventory record is linked to exactly one store or item.

2.2 The Access Schema

The access schema speci es the way in which the information described by the hyperbase schema is accessed, in terms of the navigation paths between objects and of the entry points to the hyperbase. Multiple access schemas can be attached to the same hyperbase schema, for specifying di erent access semantics for di erent application purposes. An access schema consists of traversals, that is, directed navigation paths from a source object to a target set of objects, and collections, that is, (possibly hierarchical) indexes over the hyperbase objects. Traversals are based on the semantic relationships of the hyperbase schema; it is possible to navigate only along semantic links and part-of connections speci ed in the hyperbase schema. Both traversals and collections have a navigation mode, which dictates the navigation facilities available to browse objects belonging to the target set of a traversal or to a collection. Supported navigation modes are: { index: when the traversal is traversed or the collection is accessed a list is presented from which one object can be selected. When an individual object is displayed, a command to return to the list is made available. { Guided Tour: when the traversal is traversed or the collection is accessed, one object is directly presented, and then guided tour commands ( rst, last, next, previous) are made available for accessing other objects. { Indexed Guided Tour: both the initial list and the guided tour commands are made available. { Showall: all objects are presented together. The above navigation modes assume that objects can be ordered; the default order is nondeteministic, but the user can specify component-speci c ordering, or even traversal- and collection-speci c ordering. Since collections tend to be numerous to enrich the available access paths, HDM-lite includes simple scoping rules to let the designer enable the access to a collection in selected portions of the application. More precisely, a collection can be:

{ { { {

Global: it is visible in any part of the application. Local to an entity: it is visible only from the instances of any component within the boundary of a given entity. Local to a component: it is visible only from the instances of a speci c component. Local to a set of objects: it is visible only from a speci c set of objects.

Fig. 2. The Access Schema of the ACME Customer Application Figure 2 shows the access schema for the ACME customers. Traversals are shown as solid arrows, and collections as labelled triangles. Dotted arrows represent traversals that, although possible due to the part-of and semantic links present in the hyperbase schema, have been disabled by the designer. There are 8 di erent collections: { Entry: this is a collection of collections elected as the home page of the application. Its visibility is set to global to let customers go back to the home page from any point of the application. The navigation mode is index so that the home page will contain a list of all the members of the Entry collection. { Stores, Combos: these are global collections, ranging over all stores and combinations, respectively. Their navigation mode is set to indexed guided tour.

From any point of the application it will be possible to reach either the store or the combination list, and from a store or a combination the \previous" or \next" one can be accessed. { AllItems: this collection is similar to the previous two but for a fact: a ltering clause is speci ed to select at run-time the objects that will appear in the collection's index. This feature is useful when the number of elements of a collection (or of objects reached by a traversal) is large. The ltering clause is translated at run-time in a query form whereby the user can specify slot values used to lter out undesired objects. In the present case, the ltering condition produces a form permitting the customer to enter desired values for the code, name, and type elds to focus the search on speci c items or item types. { Lamps, Tables, Chairs, Accessories: these collections range over sets of items and have visibility local to a set of istances. The idea is to let the customer access the list of all lamps only when he is looking at a lamp. When an object is accessed, traversals dictate the available navigation paths to other related objects. ACME customers can browse 6 di erent traversals (see Figure 2): from an item's description to its big images and back; from an item's description to its technical record and back; from an item to the combinations including it, and from a combination to the individual items it contains. Due to the cardinality constraints expressed in the hyperbase schema, only three of the six traversals may lead to multiple objects: we select the showall mode for displaying the big images of an item one after the other in sequence2 , and the indexed guided tour mode for the two traversals between items and combinations to let customers see an index of the items of a combination, access one item, and then go to the \next" element of the combination (or see the combinations an item belongs to, access one combination, and then step to the \next" combination). Note that the access schema for the customer application will not permit ACME customers to reach objects of type InventoryRecord. The access schema for the inventory manager (visible at URL http://www.ing.unico.it/autoweb/ACME) is simpler: he can enter the application by selecting an item or a store using two global collections. Then, he can obtain the list of inventory records of a given store or item.

2.3 The Presentation Schema The presentation schema is a collection of style sheets, which are textual descriptions (written in a SGML-like syntax) of the appearance of application pages. More than a presentation schema can be attached to the same h hyperschema, access schemai pair. The basic unit of presentation is the page; there are three types of pages: component pages describe how entities and their sub-components are rendered, 2

We expect big images of an item not to be too numerous.

traversal pages specify the visualization of N-ary traversals requiring an index, and collection pages are associated to collections. A style sheet dictates the appearance of a speci c type of page (e.g., the page representing objects of type Store), and is logically organised in two levels:

{ the layout level describes the page layout: each page is modelled as a grid, whose cells may contain presentation elements; { the element level is used to specify elements appearing in the page grid. Two

types of elements exists: built-in and user-de ned. Built-in elements are prede ned presentation abstractions provided by HDMlite to support the visualization of the main concepts of the hyperbase and access schema: entities, components, part-of, links, and collections. They can be freely intermixed in the page grid with user-de ned elements provided by the graphic designer (e.g., banners, applets, and so on). There are di erent categories of built-in elements. { Component elements appear in style sheets for component pages. They include: the slot panel, an area dedicated to the presentation of the slot values of a component; the component heading panel, an element containing the header information of a component; the outgoing links panel, which collects the anchors of the outgoing links of the component. { Entity elements are used in the style sheets of component pages to describe the structure of entities. They include: the part-of panel, an area for the presentation of the part-of connections of a component; the context panel, used in the presentation of a non-root component of an entity, to recall the external name slots of the component instances containing the sub-component. { Navigation elements represent the various navigational features of part-ofs, links and collections. They include: the index panel, an area containing the list of members of a collection or the external names of objects of a N-ary traversal; the show panel, containing the actual objects of a N-ary traversal navigated in the showall mode; the lter panel, which is a ll-in form restricting the set of entries to be shown in an index; the navigation console panel, an area providing commands ( rst, last, previous, next, up to index) to navigate through objects belonging to traversals and collections. Figure 3 shows the component page of ItemDescription objects in the ACME Customer Application. In the central area, below a user-de ned element containing the company's motto, there are the part-of and link panels, both rendered with an iconic style (the magni cation lens icon leads to the items's big images, the nut&bolt icon to the technical record, and the bundle icon to the combinations the item is included in). Below this region, the heading panel displays the component's name and is followed by the slot panel, where the item's attributes are presented. The region to the left of the slot panel displays the navigation panels of the collections reachable from the item: the Entry collection, the global collections of all items, stores, and combinations, and the collections of lamps, which is visible only from a lamp's page.

The interested reader may peruse the ACME example starting from the URL http://www.ing.unico.it/autoweb/ACME, which demonstrates three different applications on the same hyperbase, respectively targeted to customers, inventory managers and the ACME database administrator.

Fig. 3. The HTML Page Generated for Rendering an Instance of ItemDescription

3 Generating Application Pages from Conceptual Speci cations In this Section we introduce the general principles of application generation from HDM-lite, in particular motivating the need of an additional layer of description (the logical schema). Then, in the next Section, we will illustrate an implementation of the application generation process. The proposed framework for application generation has been designed with the following goals in mind: { Isolation of content, navigation, and presentation: content data should be maintained independently of navigation paths and presentation semantics, so that it should be possible to present the same content in multiple ways without major re-design and re-implementation e orts.

{ Dynamicity and evolvability: it should be possible to update content, navigation, and presentation independently, either at run-time (e.g., for ne tuning the application based on user tracking), or at re-design time (e.g., to respond to changes in the requirements). { Independence of the interface language and of the software architecture: it should be possible to map the same conceptual design to di erent Web languages, e.g., HTML or Java, and to di erent Web-database gateway architectures, e.g., server APIs, CGI gateways, or JDBC. To support these objectives, an HDM-lite conceptual model is translated into an intermediate logical representation of the application. The HDM-lite hyperbase schema is mapped into a logical hyperbase schema, which is a relational representation of the entities, components, part-of connections, and links appearing in the HDM-lite hyperbase schema. This relational schema is used to structure a repository of the application objects called logical hyperbase. The HDM-lite access schema is mapped into an access base, which is a repository, in relational format, of the traversals and collections appearing in the HDM-lite access schema. The access base contains the de ned traversals and collections, their navigation modes, ordering and ltering conditions, and the identi ers of the elements belonging to collections. Multiple access bases may be associated to the same hyperbase. The HDM-lite presentation schema is mapped into a presentation base, which is a repository, in relational format, of the style sheets de ned in the HDM-lite presentation schema.3 The presentation base contains the de ned style sheets, layouts, property values of built-in presentation elements, and user-de ned presentation elements. Multiple presentation bases can be associated to the same h hyperbase, access basei pair. Together, the hyperbase, the access base, and the presentation base constitute an intermediate representation of the application, which is persistent, updatable, and implementation-independent. This characteristic is not found in other Web-database solutions, where only the application content is organised into a repository. Providing a logical model and a repository also for the navigation and the presentation a ects content isolation, evolvability, and implementationindependence in the following ways:

{ The di erent features of the application can be populated selectively, through

3

di erent interfaces. Typically, the access base and the presentation base are lled in automatically by software tools processing HDM-lite conceptual speci cations, whereas the hyperbase is populated by the application content providers. { Not only the content, but also the navigation and the presentation data can be easily changed, even at run-time, making the application more exible and durable. Presently style sheets are stored as les; work is ongoing to store them in the database.

{ Di erent network languages and gateway architectures can be addressed, by

de ning di erent mappings from the hyperbase, access base, and presentation base to di erent implementation platforms.

4 The Autoweb System The two-steps generation process described in the previous Section (from conceptual speci cation to logical structures, and from these to physical pages) is supported by the Autoweb System, a software environment which consists of two components: Visual HDM (VHDM), a CASE tool assisting the input of HDMlite conceptual schemas and their transformation into relational structures, and the Autoweb Page Generator, which generates application pages from logical structures.

4.1 Visual HDM The Visual-HDM Diagram Editor/Logical Schema Generator accepts as input the conceptual speci cation of a Web application in HDM-lite, and automatically produces the logical schema of the hyperbase, the access base, and the presentation base4. Diagram editing facilities are supported (multiple diagrams, cut&paste, undo, customizable editing and visual preferences) and output generation may be targeted to di erent relational platforms (presently, Oracle 7 and MiniSQL). A test data generation function permits the designer to instantly produce a rapid prototype of the conceptual speci cation, so to assess as early as possible the adequacy of structure, navigation and presentation. The mapping of the conceptual hyperbase schema into its logical counterpart is a straightforward task, similar to the logical design of an Entity-Relationship conceptual model. The only critical aspect is the loss of semantics in the passage from the conceptual to the logical model (e.g., cardinality and HDM-lite implicit referential integrity constraints are not supported in the relational model), which requires extra mechanisms for integrity checking. Since these mechanisms are implementation-dependent, the designer can choose among enforcement on the client-side (in which case VHDM does nothing and integrity is enforced via controls added by the Autoweb Page Generator to all data entry pages), and enforcement on the server-side, which requires VHDM to generate additional DBMS-dependent SQL code (typically, foreign key clauses and triggers). The generation of the access base and of the presentation base is done in a re exive way: the logical schema of the access base and of the presentation base are xed, and are de ned by re exively modelling traversals, collections, and styles in HDM-lite and then mapping the resulting conceptual hyperbase schema into relational structures, in the same way as for normal applications. 4

The actual output is a set of les containing SQL DDL statements for creating the logical schema of the hyperbase, and SQL DML statements for creating the access base(s) and the presentation base(s).

Then, each HDM-lite access schema and style sheet is tranformed into a set of tuples of the access base and of the presentation base. In this way, the access base and the presentation base can be browsed and updated by means of application pages automatically generated by the Autoweb Page Generator.

4.2 The Autoweb Page Generator

The Autoweb Page Generator is a software tool producing application pages (presently, both in HTML and Java) from data stored in the hyperbase, access base and presentation base. In the present implementation the Page Generator is a runtime component acting as a gateway between the HTPP server managing the dialogue with clients and one or more DBMS engines storing the application hyperbase. The Page Generator presents itself to its clients with an object oriented interface providing services for: { opening and closing the connection to a database containing one of more applications. Several connections to di erent databases can be open simultaneosly. { Serving read and write requests from clients; several applications can be up and running simoultaneously and the Page Generator can concurrently interact with clients browsing the same application or di erent applications. Mutual exclusion of read and write requests is enforced by the concurrency manager of the underlying DBMS. { Bootstrapping an application; to increase eciency, the access and presentation base may be loaded into main memory at the bootstrap, so that subsequent client requests can be served without querying the access and presentation base.

5 Comparison with Related Work In the hypertext and hypermedia community several methodologies have appeared for the structured develompment of hypertext and hypermedia applications [3, 8, 11, 7, 9, 16, 17, 21], and also a few tools have been implemented for the automatic development of WWW applications [5, 19, 21]. Our approach descends from HDM [8], an early proposal for hypermedia design, which we have adapted to the Web context and to the needs of automatic implementation, by constraining the structural and access models to enable application generation, and by introducing the presentation model. The navigational features of HDM-lite can also be traced to investigations on hypertext navigation semantics [2, 13, 11, 18], where several useful navigation abstractions (like hierarchical guided tours, graphical history navigation, and stateful indexes) have been experimented to enhance Web access. With respect to the Autoweb System, existing research tools, like RMC and HSDL [5, 19], do not rely on a database-centered architecture and do not provide an explicit, updatable representation of navigation and presentation.

The architecture of the Autoweb System and its page generation technique has been in uenced by research on the integration of database and Web technology [6, 15, 20], where several alternatives are discussed for the smooth integration of Web languages and database query languages. Very recently, the Araneus Project [1] has proposed an approach for the development of data-intensive Web sites with objectives comparable to those of our work. Araneus advocates a methodology where Web development follows a double track: on one side, the database is designed and implemented top-down in a traditional way, using conceptual design rst (with the Entity Relationship model), followed by logical design in the relational model. On the other side, a Web site is designed bottom up: the conceptual hyperbase schema (based on a model called NCM) is designed from the ER schema, then is translated into a logical design (based on a model called ADM), and nally implemented. An extensive review has been conducted to compare the Autoweb approach to commercial products for Web development, including: Web-DB gateways (e.g., StoryServer [22], Cold Fusion [10]), Web form and application generators (e.g., Microsoft Access'97 form generator, Oracle Developer 2000 [14]), CASE environments for the Web (e.g., Oracle Designer 2000 [12]), and last-generation authoring tools for hypermedia documents exportable to the Web (e.g., Macromedia Director, Asymetrix Toolbook II). With respect to these products, Autoweb has the unique feature of integrating a modelling notation originally conceived for hypermedia applications5 with a software architecture and a structured development process capable of supporting the development of data intensive applications. As a result, Autoweb o ers the same advantages in terms of reduced development e ort and evolvability as state-of-the-practice systems for Web-DB integration, but overcomes the limitations of these products in the customization and dynamic rede nition of the navigation and presentation semantics.

6 Conclusions and Future Work In this paper we have introduced and discussed a conceptual model and a set of tools for the model-driven development of Web applications, which aim at unifying into a coherent framework, tailored to Web development, concepts and techniques coming from Information System and hypermedia development. The HDM-lite model has been proposed to support the speci cation of Web applications not only in terms of structure, but also of navigation and presentation semantics. HDM-lite overcomes the de ciencies of database conceptual models (e.g., the Entity/Relationship model), which have no provision for describing the access paths to the application objects and the visual rendering of application objects and of navigation primitives, which are essential aspects of Web 5

The only commercial tool of which we are aware that supports conceptual modelling and automatic implementation of Web applications is Oracle Designer 2000, which starts from the Entity Relationship model and has very basic capabilities for customizing navigation and presentation.

development. HDM-lite also extends existing models for hypermedia applications, by introducing the presentation schema as an independent speci cation layer. HDM-lite is supported by the Autoweb System, a CASE environment for specifying and implementing Web applications. The Autoweb System gives the following bene ts to Web developers:

{ Scalability: Autoweb shares with Web-database products the capability of { { {

{

scaling the dimension of the information base without the need of application re-design or re-implementation. Dynamicity: Autoweb permits the update not only of the content of an application, but also of the navigation and presentation semantics; this enables the tuning of the navigational aids and of the look-and-feel of the application at run-time, for example based on the tracking of the user's behavior. Personalization: Autoweb has unique features in terms of personalization: by separating content from both navigation and presentation and permitting multiple presentation/navigation layers on top of the same content, customized applications can be deployed very easily. Interface Quality: although the output of Autoweb is not comparable to what can be obtained with manual authoring or with hypermedia authoring tools, the exibility of presentation styles greatly enhances the quality of the interface with respect to current Web-database application generators; interface quality bene ts also from the coherence and uniformity induced by the presence of a conceptual model of structure and navigation. Reduction of Development E ort: the above advantages coexist with an overall reduction of the development costs thanks to the code generation approach; as in any other software eld, this gain is somewhat counterbalanced by the extra e ort spent in conceptual modelling, so that cost reduction is achieved only when the application complexity is above a threshold. We claim that more and more Web applications in the near future will exhibit such a complexity.

The ongoing and future work concentrates on adding knowledge representation facilities, and in particular a query language, to HDM-lite and to the Autoweb System. This extension will permit:

{ The speci cation of derived information: derived slots and links, intensional

collections, entities and components. From these building blocks, hyperviews could be de ned, to adapt also the structure of an application to user-speci c needs. { The speci cation and enforcement of integrity properties: generic constraints on the allowed structure and navigation could be stated in a declarative way and enforced upon modi cation of the hyperbase. { Reactive capabilities: well-known concepts like triggers and business rules could be experimented in the Web context, for example by coupling database reaction and Web push-technology to selectively inform users about changes in the application content.

References 1. P. Atzeni, G. Mecca, and P. Merialdo. To Weave the Web. In Proc. 23rd Conference on Very Large Databases, pages 206{215, Athens, Greece, Aug. 26-29, 1997. 2. E. Z. Ayers and J. T. Stasko. Using Graphic Hystory in Browsing the World Wide Web. In Proc. Fourth Int. WWW Conf., Boston, Mass., Dec. 11-14, 1995. 3. V. Balasubramanian, B. M. Ma, and J. Yoo. A systematic approach to designing a WWW application. CACM, 38(8):47{48, 1995. 4. P. P. Chen. The entity-relationship model: toward a uni ed view of data. ACM TODS, 1(1):9{36, 1976. 5. A. Daz, T. Isakowitz, V. Maiorana, and G. Gilabert. RMC: A tool to design WWW applications. In Proc. Fourth Int. WWW Conf., pages 11{14, Boston, Mass., 1995. 6. D. Eichmann, T. McGregor, and D. Danley. Integrating structured databases into the Web: The MORE system. Computer Networks and ISDN Systems, 27(2):281{ 288, 1994. 7. F.Garzotto, L. Mainetti, and P. Paolini. Hypermedia design, analysis, and evaluation issues. Communications of the ACM, 38(8):74{86, 1995. 8. F.Garzotto, P.Paolini, and D.Schwabe. HDM-A model-based approach to hypertext application design. ACM TOIS, 11(15):1{26, 1993. 9. F.G.Halasz and M.Schwarz. The dexter hypertext reference model. Communications of the ACM, 37(2):30{39, 1994. 10. B. Forta and al. The Cold Fusion Web Database Kit. QUE Corp., 1997. 11. F. Garzotto, L. Mainetti, and P. Paolini. Navigation in hypermedia applications: Modeling and semantics. Journal of Organizational Computing, 1996. 12. M. Gwyer. Oracle Designer/2000 WebServer Generator Technical Overview (version 1.3.2). Technical report, Oracle Corporation,, Sept. 1996. 13. F. J. Hauch. Supporting hierarchical guided tours in the World Wide Web. In Proc. Fifth International World Wide Web Conference, Paris, France, May 1996. 14. I. V. Hoven. Deploying Developer/2000 applications on the Web, Oracle white paper. Technical report, Oracle Corporation, Feb. 1997. 15. A. Hunter, I. Ferguson, and S. Hedges. SWOOP: An application generator for Oracle WWW systems. In Proc. Fourth Int. WWW Conference, Boston, Mass., 1995. 16. T. Isakowitz, E.A.Sthor, and P.Balasubranian. RMM: a methodology for structured hypermedia design. Communications of the ACM, 38(8):34{44, 1995. 17. J.Nanard and M.Nanard. Hypertext design environments and the hypertext design process. Communications of the ACM, 38(8):45{46, 1995. 18. K. L. Jones. NIF-T-NAV: a hierarchical navigator for WWW pages. In Proc. Fifth International World Wide Web Conference, Paris, France, 1996. 19. M. Kesseler. A schema-based approach to HTML authoring. In Proc. Fourth Int. WWW Conf., Boston, Mass., 1995. 20. T. Nguyen and V. Srinivasan. Accessing relational databases from the World Wide Web. In Proc. ACM SIGMOD Conference, pages 529{540, 1996. 21. D. Schwabe and G. Rossi. The object-oriented hypermedia design model. Communications of the ACM, 38(8):45{46, 1995. 22. Vignette. StoryServer Overview. Technical report, Vignette Corp., March 1997.

This article was processed using the LATEX macro package with LLNCS style