WebML Application Frameworks: a Conceptual Tool for Enhancing

11
WebML Application Frameworks: a Conceptual Tool for Enhancing Design Reuse Stefano Ceri, Piero Fraternali, Maristella Matera Dipartimento di Elettronica e Informazione – Politecnico di Milano P.zza L. da Vinci, 32 – 20133 – Milano – Italy {ceri, fraterna, matera}@elet.polimi.it ABSTRACT WebML is a high-level language for specifying the content structure of data-intensive Web applications, and the organization and presentation of such content through a hypertext structure. This paper concentrates on the conceptual design of structural schemas and hypertexts, which represents the core aspect of the WebML design process. In particular, the paper introduces a set of WebML skeletons, i.e., abstract and simplified versions of structural and hypertext schemas that are recurrent within Web applications. Then, it shows how skeletons can be composed to obtain several WebML application frameworks, which provide a classification of Web sites from the viewpoint of their predominant information-delivery mission (or business model). WebML skeletons and frameworks can be assumed as the initial start-point of design sessions, as well as paradigms for better understanding and classifying data-intensive Web applications. KEYWORDS Model-Driven Web Design, Web Design Skeletons, Web Application Frameworks. 1. INTRODUCTION Designing data-intensive Web applications is the critical success factor for many enterprises entering into the so-called “new economy”. More and more the enterprises’ business activities need to be advertised on-line via the Web. Therefore, we are assisting to an impressive – both qualitatively and quantitatively - growth of Web sites whose main purpose is to offer a simplified and effective access to information, and whose pages are generated, either statically or dynamically, from content stored in the enterprise’s data sources. This paper addresses the design of data-intensive Web applications by proposing a model-driven approach, based on Web Modeling Language (WebML). WebML is a high-level language for specifying the content structure of Web applications and the organization and presentation of such content in a hypertext [1]. WebML provides high-level abstractions to model Web applications, and a CASE environment able to translate the high-level WebML specification into concrete mark-up languages, and map the abstract reference to content elements inside pages into data retrieval instructions in some server- side scripting language. This makes it easier to master the complexity of application design, deployment and evolution. The WebML conceptual design relies on the use of application frameworks, skeletons, and refinement primitives, as tools for reusing design experience and already tested solutions at different levels of abstraction. Application frameworks capture the design decisions that are common to a category of Web sites, and provide a reusable design for that category. They are based on skeletons, i.e., recurrent content and hypertext schemas used by data-intensive Web sites. Skeletons are specialized into application frameworks by distinguishing Web applications into few classes on the basis of their “information-delivery mission”. They serve the purpose of identifying initial and/or general solutions to be adopted, but at the same time offer a powerful mechanism for understanding and classifying the way in which information is produced by data-intensive Web sites. Refinement primitives support the progressive and parallel refinement of the initial WebML schemas, until the evolving prototype meets certain quality factors and guarantees the satisfaction of the initial requirements. A general account of the WebML method is given in [2]. Due to space limitations, this paper focuses on WebML skeletons and application frameworks. In particular, Section 2 provides a short introduction to WebML, hereby included to make the paper self-contained; more information is available at http://webml.org and in [1]. Section 3 describes the core WebML design process and shows how skeletons and frameworks are used. Then, Section 4 presents WebML skeletons, while Sections 5 introduces the application frameworks defined for classes of Web sites. Section 6 finally draws the conclusions. 2. WEBML IN A NUTSHELL According to WebML, the design of a Web site consists of two basic and orthogonal perspectives:

Transcript of WebML Application Frameworks: a Conceptual Tool for Enhancing

WebML Application Frameworks: a Conceptual Tool for Enhancing Design Reuse

Stefano Ceri, Piero Fraternali, Maristella Matera

Dipartimento di Elettronica e Informazione – Politecnico di Milano P.zza L. da Vinci, 32 – 20133 – Milano – Italy

{ceri, fraterna, matera}@elet.polimi.it

ABSTRACT WebML is a high-level language for specifying the content structure of data-intensive Web applications, and the organization and presentation of such content through a hypertext structure. This paper concentrates on the conceptual design of structural schemas and hypertexts, which represents the core aspect of the WebML design process. In particular, the paper introduces a set of WebML skeletons, i.e., abstract and simplified versions of structural and hypertext schemas that are recurrent within Web applications. Then, it shows how skeletons can be composed to obtain several WebML application frameworks, which provide a classification of Web sites from the viewpoint of their predominant information-delivery mission (or business model). WebML skeletons and frameworks can be assumed as the initial start-point of design sessions, as well as paradigms for better understanding and classifying data-intensive Web applications.

KEYWORDS Model-Driven Web Design, Web Design Skeletons, Web Application Frameworks. 1. INTRODUCTION Designing data-intensive Web applications is the critical success factor for many enterprises entering into the so-called “new economy”. More and more the enterprises’ business activities need to be advertised on-line via the Web. Therefore, we are assisting to an impressive – both qualitatively and quantitatively - growth of Web sites whose main purpose is to offer a simplified and effective access to information, and whose pages are generated, either statically or dynamically, from content stored in the enterprise’s data sources.

This paper addresses the design of data-intensive Web applications by proposing a model-driven approach, based on Web Modeling Language (WebML). WebML is a high-level language for specifying the content structure of Web applications and the organization and presentation of such content in a hypertext [1]. WebML provides high-level abstractions to model Web applications, and a CASE environment able to translate the high-level WebML specification into concrete mark-up languages, and map the abstract reference to content elements inside pages into data retrieval instructions in some server-side scripting language. This makes it easier to master the complexity of application design, deployment and evolution.

The WebML conceptual design relies on the use of application frameworks, skeletons, and refinement primitives, as tools for reusing design experience and already tested solutions at different levels of abstraction. Application frameworks capture the design decisions that are common to a category of Web sites, and provide a reusable design for that category. They are based on skeletons, i.e., recurrent content and hypertext schemas used by data-intensive Web sites. Skeletons are specialized into application frameworks by distinguishing Web applications into few classes on the basis of their “information-delivery mission”. They serve the purpose of identifying initial and/or general solutions to be adopted, but at the same time offer a powerful mechanism for understanding and classifying the way in which information is produced by data-intensive Web sites. Refinement primitives support the progressive and parallel refinement of the initial WebML schemas, until the evolving prototype meets certain quality factors and guarantees the satisfaction of the initial requirements. A general account of the WebML method is given in [2].

Due to space limitations, this paper focuses on WebML skeletons and application frameworks. In particular, Section 2 provides a short introduction to WebML, hereby included to make the paper self-contained; more information is available at http://webml.org and in [1]. Section 3 describes the core WebML design process and shows how skeletons and frameworks are used. Then, Section 4 presents WebML skeletons, while Sections 5 introduces the application frameworks defined for classes of Web sites. Section 6 finally draws the conclusions. 2. WEBML IN A NUTSHELL According to WebML, the design of a Web site consists of two basic and orthogonal perspectives:

a) b)

Figure 1: Example of structural schema (a), and the correspondent site view (b).

• Structure Design, which refers to the data content of the site. Data organization is described in terms of the relevant entities and relationships expressed by means of the E/R model. To permit the description of redundant information, WebML incorporates a simple query language for writing derivation queries, inspired to OQL.

• Site View Design, which enables the definition of one of more hypertexts. Each site view expresses the way in which content is organized within pages and smaller units (composition model), and how such content is linked together to constitute a hypertext (navigation model).

Figure 1a shows a graphic representation of a structural schema, describing a simplified data source underlying a site for supporting the sale of books. Each Book is available in one or more Editions; moreover, it is also associated to its Author. Although the graphic notation is very simple, WebML concepts include the obvious semantic properties of entities and relationships, such as typed attributes and cardinality constraints. Site views are based upon three abstractions: units, links, and pages. • Units are the smallest containers for information delivery, and enable the description of entities (data units) or sets of

entities (multidata units), as well as the extraction of one entity out of a set of related entities by means of keywords (index units), by scrolling the elements one-by-one (scroller units), or by using a search predicate for extracting them (filter units); one entity can be directly reached when it is related to a single entity (direct units).

• Pages represent the abstraction of a self-contained region of the screen treated as an independent interface block (e.g., delivered to the user independently and in one shot). Examples of concrete implementations of the abstract concept of page in specific languages may be a page or a frame in HTML or a deck in WML.

• Links connect units and pages, thus forming a site view; links can connect units in a variety of legal configurations, yielding to composite navigation mechanisms. Links between units are called contextual because they carry some information (called context) from the source unit to the destination unit; in contrast, links between pages are called non contextual. Some links may activate operations.

Figure 1b shows a fragment of a site view, which features a page showing a book (data unit), its (direct) connection to its (first) author, and the list of the available editions (index unit). A contextual link leads from the edition index unit to a given edition, placed on a distinct page.

WebML also offers data entry units, for collecting input values into fields, and operations units for invoking generic external operations implemented by externally available Web services, or for managing and updating built-in content (e.g., creating, deleting or modifying an instance of an entity, or adding or dropping a relationship between two instances) [3]. More information about the semantics of units, links, and pages in WebML can be found at http://webml.org and in [1]. 3. THE WEBML CORE DESIGN PROCESS A typical WebML design process consists of different incremental phases, from the requirement collection to the deployment and evolution, to be iteratively executed. Out of the entire process, we here concentrate on the conceptual design of structural schemas and of hypertexts, i.e., on the core aspects of the WebML design process, which evolves through the production and the iterative revision of the deliverables illustrated in Figure 2. The process is conducted for each site view. Although several site views can be developed out of the same content, typically one of them plays a predominant role and its design exposes most structural requirements.

Book Author

Edition

Book Page Book Data

Book Edition Page Edition Index

BookToEdition

Editon Data

Edition

Direct Unit

BookToAuthor

Author Data

Author

Refined Structure

Model

Population &Presentation

Default

Refined Site View

Site View Skeleton

Structure Model

Skeleton Mockup

Running Prototype

Figure 2: Deliverables of the WebML core design process.

The input to the design process is a set of usage requirements and scenarios, possibly incarnated by one or more interface mockups (e.g., static HTML pages), resulting from the interaction with the users during requirements collection. Mockups can be easily built with the WebML tools, or also with any fast prototyping tool for Web pages.

The mock-up input is thus used to shape-up a first skeleton of the structural model. As shown in the following section, we believe that very few skeletons explain most of the data-intensive Web applications, and that therefore this step reduces in most cases in the understanding of the appropriate skeleton (or the appropriate combination of skeletons) to be assumed as start-point. Such initial solutions can be progressively extended and refined by applying refinement primitives [2]. They are design patterns, providing established solutions to problems that may occur in different contexts [4]. Therefore, the design process goes on through the parallel revision of the structure and site view model, which feedback each other. Each phase is repeated and refined until results meet the system requirements collected during the initial phase. Moreover, at each intermediate step in the design process, conformity with the user specification is checked by the use of rapid prototypes. For this end, WebML incorporates default presentation and default content production rules needed to deliver a running application on test data from the structure schema and site view specification. This work should not be confused with presentation design or content mapping, which are performed later in the development process. 4. WEBML SKELETONS From the structural point of view, Web site design can involve two main dimensions:

• Information Access, i.e., the way the core content of the Web site can be accessed. As better shown in the following, in WebML this dimension is characterized by some topologies of the structural model, which then affect the site view organization.

• Content Management, i.e., the availability of operations on data, which modify the Web site information content. Such operations generally allow users to create, update or eliminate instances of entities and relationships. In WebML, this dimension has impact especially on the site view organization.

For each one of these two dimensions, we have defined WebML skeletons (structural schema and site views) that can be adopted as basic solutions. 4.1. Information Access Skeletons When the prevalent function of Web sites is to provide access to a given information content, it is generally possible to identify a core content, i.e., the information objects that must be accessed through the Web site, and a context content, i.e., the information objects representing (different levels of) categorizations defined over the core objects for enabling their selection through navigation. Core concepts are at the center of the schema and context content surround them, thus forming a star schema. We have noticed an important similarity between this organization and the star schema featured by data marts in data warehouses: the distinction between core and context information is similar to the distinction between facts and dimensions of a data mart.

In some cases, a non-contextual access may also be defined, by means of search mechanisms that allow users to get directly to the core content by specifying search predicates, without needing to navigate through contextual paths.

Depending on the organization given to the core content and to the access dimensions, it is possible to identify three different skeletons of structural schema and site views, described in the following.

4.1.1. Network Skeleton. In this case the core content is made of a variable number of objects, which are fully connected to each other by means of relationships, forming a network. Figure 3a reports the structural skeleton. The center of the schema is composed of three entities, which correspond to the most relevant information objects. The entities external to the network provide the context information. They may correspond to (different levels of) categories defined over each central

a) b)

Figure 3: Structural schema (a) and site view (b) for the Network skeleton.

object, introduced with the principal aim of facilitating the contextual access to its instances. Figure 3b reports the site view skeleton, which specifies the hypertext for navigating through the information content. It is characterized by having a page for each one of the entities in the network. Each page includes data units defined over the entity and different index units showing the lists of related instances in the other two entities. Some index pages, reachable from the Home Page, allow users to start navigation through a category hierarchy, so that to select single instances of one of the three objects.

In real cases, in addition to core entities, other ad-hoc related entities could describe different properties or viewpoints on the most relevant information objects; these are not included in the skeletons, but can be typically generated by applying refinement primitives to them.

4.1.2. Star Skeleton. The Star skeleton covers the important case when the core content consists of a single entity, thus obtaining the structural schema reported in Figure 4a. As for the Network structural skeleton, the entities on the rays can represent categories defined over the central object, and provide access dimensions. They could also represent concepts related to the central object, which contribute to describe it. The corresponding site view skeleton (see Figure 4b) includes read-only navigation chains for browsing through indexes of categories. Starting from the Home Page, users can reach an instance of the central entity. From there, they can navigate to the other entities on the rays.

Besides the contextual access provided by the index chains, the site view in Figure 4b also specifies a non-contextual access based on a search mechanism over the instances of the central entity. A filter unit, placed in the Home Page (named

a) b) Figure 4: Structural schema (a) and site view (b) for the Star skeleton.

a) b)

Figure 5: Structural schema (a) and site view (b) for the Hierarchy skeleton.

ObjectSearch), allows users to specify a keyword and start a search. An index unit in a different page shows the search results. In case of a large number of result items, these can be displayed on different pages. This is modeled in WebML by setting some pagination properties of index units.

4.1.3. Hierarchy Skeleton. In the simplest case, it is possible to have one single core entity, and one single access dimension over it, obtained by defining categories (and subcategories). The structural skeleton is reported in Figure 5a. The corresponding site view specifies a navigation through a chain of indexes that reflect the defined categories. Users reach an instance of the central entity by incrementally selecting items from the different indexes (see Figure 5b). As in the previous case, it is possible to include a search mechanism providing non-contextual access over the core entity. 4.2. Content Management Skeletons Besides providing information access, some portions of Web sites are devoted to content management, allowing users to modify the information content. These Web site portions are modeled by Content Management skeletons. Normally the information objects subject to content management are reachable by means of one or more Information Access skeletons used to select them.

The most peculiar features of Content Management skeletons are exposed by site views (rather than structural schemes), which incorporate operation units (Create, Delete, Modify, Connect, Disconnect) for specifying content management activities. These operation units are normally used within operation chains, which produce logically connected operations. In particular, content management skeletons use the “Create and N-ary Connect” chain for building a new entity and then connecting it to N existing entities. A single click on an activating link triggers such operation chains.

4.2.1. Content Creation and Classification Skeleton. This skeleton covers the creation of new information objects and their association to other information objects, thus enabling a classification of the newly provided information. The corresponding schemas are reported in Figure 6. The structural schema (Figure 6a) includes one core entity, Object, and two context entities, ClassifyingObject1 and ClassifyingObject2. Normally, the object being created belongs to core entities that need to be connected to at least one classifying entity, and then to other entities arbitrarily selected from the universe of core and classifying entities. The site view (Figure 6b) includes a “Create and Double Connect” chain for creating a new object instance (through a create unit), and associating it to instances of the two classifying entities (through two connect units). The chain is activated from a data entry unit modeling the data input form.

The simplest case of Content Management skeleton occurs when there is only one classifying entity, e.g., when adding a leaf to a Hierarchy structural skeleton. In this frequent case, the site view uses a simpler “Create and Connect” chain. 5. APPLICATION FRAMEWORKS According to [4], a framework captures the design decisions that are common to a category of software, by identifying a set of cooperating classes that make up a reusable design for that specific category. WebML frameworks are obtained by composing the skeletons reported in the previous section. The following sections describe reusable frameworks inspired by the S4C taxonomy [5], a Web site classification resulting from a large study, conducted on more than 1500 Web sites, with the aim of discovering their principal “business model” adopted. The S4C categories identify five basic macro-functions offered by Web sites: • Content: the provision of content access. Examples of Content Web sites are institutional Web sites (sites describing the

main product or service delivered by a given institution), Digital Libraries, On-line Magazines, and Recommending systems. Besides on Internet, content Web sites are present also on intranets (for providing access to internal, shared documentation) and extranets (for supplying information to company suppliers and/or sellers).

a) b)

Figure 6: Structural schema (a) and site view (b) for the Content Creation and Classification skeleton.

• Context: the provision of access to Web resources. Search engines, meta-search engines, and directories offer this functionality. They provide access over content located throughout the whole Web.

• Community: the provision of interactive services aimed at creating social interrelationships among users. Web sites hosting forums, chat rooms, newsletters, etc., belong to this category. In some cases, extranets provide the same services to communities of users operating in specific sectors.

• Commerce: the provision of on-line business transactions. This is the broadest category of Web applications, including e-shops, e-malls, buyer aggregators, e-auctions, virtual marketplaces, etc.

• Service: the provision of value-added services. Web sites in this category are those offering services, such as free email, SMS posting, e-card posting, etc., or support for publishing announcements and insertions, as well as service-based intranets and extranets providing customers with on-line budgets, order tracking, etc.

Many Web sites exhibit several of the above macro-functionalities combined, and indeed the corresponding structural and hypertext schemes are based on the use of multiple, interconnected application frameworks sharing some common concepts. In the following we will refer to simple examples, abstracted and simplified w.r.t. real cases, in order to show prototypes of each proposed application frameworks. 5.1. Content Frameworks The Content framework is obtained by using one or more Information Access skeletons. Three frameworks, Network, Star, and Hierarchy, have been therefore identified. The network and star solutions are most used by institutional Web sites, while the hierarchy solution can cover the cases of digital libraries, on-line magazines, or recommending systems centered on a single piece of information (documents, articles, or best choices respectively).

5.1.1. Example of Network-based Content Web Sites. An example of Content Web site reflecting the Network skeleton is the Cisco institutional Web site (http://www.cisco.com). As highlighted by the simplified structural schema reported in Figure 7a, its core information content consists of three main entities, Product, Solution and Technology, which are three main viewpoints offered to the site visitors about Cisco’s offer. Given that viewpoints contribute to each other, entities form a complete graph. Context entities provide categories of products, solutions, and technologies; other entities (omitted) provide additional properties of the core content. Figure 7b shows the Web rendition of a Technology page. Users can reach this page by navigating through a chain of indexes that show Technology categories and subcategories. From the Technology page, two links allow users to navigate towards the other two entities.

5.1.2. Example of Star-based Content Web Sites. The Borland institutional Web site is an example of content application framework reflecting the Star skeleton. Figure 8a shows a simplification of the Borland structural schema. The information content is centered over the entity Product. Several context entities enable product classification from multiple viewpoints, while other entities in the core (omitted) refer to additional information about the Product. Figure 8b reports the Web rendition of the Product page. The users reach this page by navigating through indexes of many categories. From a given product, they can follow some links placed in the left side navigation bar, and navigate towards related information, such as case studies, awards, white papers, documents, etc.

5.1.3. Example of Hierarchy-based Content Web Sites. On-line newspapers are typical examples of Web sites following the Hierarchy skeleton. Their core content (i.e., articles) can be contextually accessed through categories. Figure 9a reports the simplified structural schema for the Web site of the El Mundo on-line newspaper (http://www.elmundo.com). It is a very simple hierarchy, featuring just one level of categories. As shown in Figure 9b, users can reach a single article by selecting one category among those reported in the left side bar, and then choosing one article into the category.

“Create and Double Connect” operation chain

a) b)

Figure 7: Structural schema (a) and typical page (b) of the Cisco Web site (http://www.cisco.com).

a) b)

Figure 8: Structural schema (a) and typical page (b) of the Borland Web site ( http://www.borland.com).

a) b)

Figure 9: Structural schema (a) and typical page (b) of the El Mundo Web site ( http://www.elmundo.com).

Links to furtherentities related tothe product

The articlecategories

Links to products and solutions

a) b) Figure 10: The Home page (a) and a simplified site view (b) of the Google Web Directory (http://www.google.com/).

5.2. Context Framework Search engines, meta-search engines, and directories can be considered a special type of Content Web sites. They provide access over resources located through the whole Web. However, this can be reduced to access to Web page summaries, which then provide links to corresponding Web sites.

If we abstract the generic structure of Context Web sites, regardless of their implementation – generally based on Information Retrieval techniques – the design of such sites can be specified by means of a Hierarchy skeleton, with a core content consisting of summaries of Web pages. Figure 10a shows the Home Page of the Google Web Directory (http://www.google.com). Within this site, as well as in other Web Directories, topic categories and subcategories support the contextual access to Web page summaries. Users can therefore navigate through index chains. However, the keyword-based search, i.e., a non-contextual access to page summaries, is the most powerful and characterizing feature of such sites. In a simplified way, in WebML this can be specified through a filter unit that allows users to go directly to the page summaries by means of search predicates. Figure 10b reports a WebML site view describing the Google hypertext organization, as an adaptation of the Hierarchy skeleton. 5.3. Commerce Framework The design of Commerce Web sites can be expressed by combining Information Access skeletons with Content Creation and Classification skeletons. In fact, on one hand these sites are strongly characterized by content management operations that are needed for the accomplishment of on-line business transactions. On the other hand, they also need to provide effective access to information, essential for presenting to users the goods to be purchased. For example, within e-shops, users first navigate through product catalogues for selecting the goods and next insert them into a trolley, thus building an order. Such sites also need to manage information about users. For example, in order to purchase products, users must register, i.e., they create their own profile, by providing personal information. In WebML two predefined entities, User and Group, respectively describe profile data about individual users and properties of user communities. A derivation language also enables specifying one-to-one Web delivery and personalization [6].

Figure 11 shows the Home page and the Trolley page of the CD NOW e-shops (http://www.cdnow.com). This Web site allows users to buy musical albums. Users can browse categories of albums in order to select one. Albums are available in different versions (CD, cassette, etc.). Once one album version is selected, users can create a corresponding order, and add it to their trolley. Figure 12a shows the CD NOW simplified structural schema; it is obtained by combining a Hierarchy skeleton with a Content Creation and Classification skeleton. The same is for the site view reported in Figure 12b, which is a simplified specification of the CDNOW hypertext organization. The schema is also enriched with Content Modification and Content Deletion primitives, which respectively enable the modification and deletion of orders inserted into the trolley. 5.4. Community Framework Community Web sites aim at creating relationships among community members, such as the management of message boards, through which users can exchange messages about specific topics. As an example, let us considers the Quote Web site (http://www.quote.com), which is a community site addressing investors. It provides users with information about investments, and also with a number of message boards. Figure 13a reports the list of all the posted messages within a specific board. One link within this page also activates the creation of a new message. The text of the already posted messages can be accessed in a further page, where an activating link also allows users to create a reply message.

a) b) Figure 11: Home page (a) and trolley page (b) of the CDNOW Web site (http://www.cdnow.com).

a) b) Figure 12: Structural schema (a) and site view (b) for the CDNOW Web site (http://www.cdnow.com).

a) b) Figure 13: Page listing messages (a) and structural schema (b) of Quote Community site (http://www.quote.com).

The link activating the message creation

Links activating the orderdeletion and modification

Index of album categories

Order creation andclassification

Order deletion

Order modificatio

Order creationand classification

Hierarchical Information Access

a) b) Figure 14: Home page (a) and structural schema (b) of the Seconda Mano Web site (http://www.secondamano.it).

The Community application framework uses a combination of the Information Access skeleton and of the Content Creation and Classification skeleton. This last skeleton is needed for adding messages to a message board and classifying them. The Community framework exhibits therefore the same organization of the Commerce framework. Of course the two frameworks differ in the choice of the involved content (article sales with trolley insertions vs. message production and classification). Figure 13b shows a simplified structural schema with messages that are added to a board and associated with their sender user, but of course there can be many more classifying categories (e.g. topics, chat line, etc.). 5.5. Service Framework The Service framework applies to sites devoted to the creation and offering of services, such as goods to be privately traded. Within these sites users creates new objects and classify them, by using a Content Creation and Classification skeleton, combined with suitable Information Access skeletons, as with Commerce and Community frameworks.

As an example, let us consider the Seconda Mano Web site (http://www.secondamano.it), an Italian electronic board collecting insertions posted by registered users. Figure 14a shows its home page, where an index of insertion categories is displayed. From here, users can start navigating through subcategory indexes for accessing already posted insertions, as well as for selecting one single subcategory and posting an insertion within it.

The adopted application framework has the same organization of the Commerce framework. It uses the Content Creation and Classification skeleton, for specifying the creation of a new insertions and its classification with respect to the user and a specific category. A Hierarchy skeleton is then combined for specifying the contextual access through categories and subcategories. Figure 14b reports the resulting simplified structural schema for the Seconda Mano Web site. Insertions are organized according to categories and subcategories. New insertions can be added in a specific subcategory and associated to a user. 6. CONCLUSIONS This paper has presented how WebML skeletons and frameworks can express the basic design of classes of data-intensive Web applications. The identified schemes improve the comprehension of the overall structure and organization of Web applications, thus they reduce the complexity of the WebML-based design process. The overall approach is based on the assumption that Web application design rarely starts from scratch, while often it is based on solutions commonly adopted within similar application domains.

In the last decade, several conceptual modeling techniques have been proposed, within the Hypermedia and Web design field [7, 8, 9]. As WebML, they stress the separation between content and navigation modeling, and adopt modeling languages for specifying the information content and the hypertext organization. Recently, some approaches [10, 11, 12] have also introduced design patterns as a way for reusing past design experiences. Very few contributions – the most relevant is [13] - emphasize the need for the definition of frameworks, as a way for enhancing reuse within specific application domains.

In WebML, design reuse at a high level of abstraction is supported by a collection of refinement primitives, i.e., design patterns recording already applied and tested micro-solutions that are general to any type of Web application [3]. The specific contribution of this paper is the definition of WebML skeletons and frameworks as further conceptual tools that enhance reuse at different levels of abstraction. More specifically, WebML skeletons have been introduced as basic content and hypertext schemes that are recurrent across different domains and classes of Web sites; WebML frameworks have been

Insertion Categories

presented as design schemes reusable within families of Web sites with given information-delivery missions. Frameworks are obtained as combinations of WebML skeletons.

We are now trying to further validate the applicability of our skeletons and frameworks through the systematic analysis of a large number of Web sites. Our intent is to field-test that most of the existing Web sites can be interpreted by means of the proposed skeletons and frameworks, so as to further consolidate a “repertoire” of predefined solutions to be used as design start point. Moreover, in order to improve the usability of frameworks, we are trying to identify and precisely define those variable parts of the frameworks, which allow designers to introduce variations for fitting the requirements of particular applications. ACKNOWLEDGEMENT We are grateful to E. Bartezzaghi, A. Rangone, and R. Verganti, from the “Dipartimento di Economia e Produzione” of Politecnico di Milano, for stimulating discussions and for the valuable suggestions. REFERENCES 1. S. Ceri, P. Fraternali, and A. Bongio, “Web Modeling Language (WebML): a Modeling Language for Designing Web

Sites,” Computer Networks, Vol. 33, 2000, pp. 137-157 (also in Proc. of WWW9 Conference, Amsterdam, May 2000). 2. A. Bonifati, M. Brambilla, S. Ceri, P. Fraternali, and M. Matera, “The W3I3 Methodology for the Design of Data-

Intensive Web Sites,” Deliverable W3I3.POLI.D51, September 2000. 3. S. Ceri, P. Fraternali, A. Bongio, and A. Maurino, “Modeling data entry and operations in WebML,” Proc. WebDB

2000, Dallas (USA), May 2000, Springer Verlag, LNCS (in print). 4. E. Gamma, R. Helm, R. Johnson, and J. Vlissedes, Design Patterns – Elements of Reusable Object Oriented Software.

Addison Wesley, 1995. 5. A. Rangone, Business Models, Slides of the seminar held at Department of Electronics and Information, Polytechnic of

Milan, December 2000. 6. S. Ceri, P. Fraternali, and S. Paraboschi, “Data-Driven One-To-One Web Site Generation for Data-Intensive

Applications,” Proc. VLDB '99, Edinburgh, UK, September 1999. 7. M. Bieiber, and T. Isakowitz (eds.), “Special Issue on Designing Hypermedia”, Comm. of ACM, Vol. 38, No. 8,

August 1995. 8. P. Atzeni, G. Mecca, and P. Merialdo, “Design and Maintenance of Data-Intensive Web Sites,” Proc. EDBT’98,

Valencia, Spain, March 1998, pp. 436-450. 9. J. Conallen, Building Web Applications with UML, Addison Wesley, Reading, MA, 2000. 10. M. Bernestein, “Patterns of Hypertext,“ Proc. Hypertext’98, Pittsburgh, PA, June 1998, ACM Press, pp. 21-29. 11. F. Garzotto, P. Paolini, D. Bolchini, and S. Valenti, “Modeling by Patterns of Web Applications,” P.P Chen, D.W.

Embley, and S.W Liddle (eds.), Proc. Int. Workshop on the WWW and Conceptual Modeling, Paris, October 1999, Springer Verlag, LNCS 1727, pp. 293-306.

12. G. Rossi, D. Schwabe, and F. Lyardet, “Improving Web Information Systems with Navigational Patterns,” Proc. WWW8, Elsevier Publ., Amsterdam, 1999, pp. 589-600.

13. G. Rossi, D. Schwabe, L. Esmeraldo, and F. Lyardet, “Engineering Web Applications for Reuse,” IEEE Multimedia, Vol. 8, No. 1, January - March 2001, pp. 20-31.